Files
2025-12-12 18:33:53 -05:00

151 lines
4.2 KiB
Markdown

# Import Directory
This directory allows you to easily import custom database files and configuration overrides into your AzerothCore server.
## 📁 Directory Structure
```
import/
├── db/ # Database SQL files to import
├── conf/ # Configuration file overrides
└── pdumps/ # Character dump files to import
```
## 🗄️ Database Import (`import/db/`)
Place your custom SQL files here to import them into the database on server startup or deployment.
### Supported Files
- `auth.sql` - Authentication database updates
- `characters.sql` - Character database updates
- `world.sql` - World database updates
- `*.sql` - Any other SQL files will be imported automatically
### Usage
1. Place your SQL files in `import/db/`:
```bash
cp my_custom_npcs.sql import/db/world.sql
cp my_accounts.sql import/db/auth.sql
```
2. Deploy or restart your server:
```bash
./scripts/bash/import-database-files.sh
```
### Example Files
See `import/db/examples/` for sample SQL files.
## ⚙️ Configuration Import (`import/conf/`)
Place module configuration files here to override default settings.
### Supported Files
Any `.conf` file placed here will be copied to the server's config directory, overriding the default settings.
### Common Configuration Files
- `worldserver.conf` - Core world server settings
- `authserver.conf` - Authentication server settings
- `playerbots.conf` - Playerbot module settings
- `AutoBalance.conf` - AutoBalance module settings
- Any other module `.conf` file
### Usage
1. Create or copy a configuration file:
```bash
cp storage/config/playerbots.conf.dist import/conf/playerbots.conf
```
2. Edit the file with your custom settings:
```ini
AiPlayerbot.MinRandomBots = 100
AiPlayerbot.MaxRandomBots = 200
```
3. Apply the configuration:
```bash
./scripts/bash/configure-server.sh
```
Or use the Python config tool for advanced merging:
```bash
python3 scripts/python/apply-config.py
```
### Configuration Presets
Instead of manual configuration, you can use presets from `config/server-overrides.conf`:
```ini
[worldserver.conf]
Rate.XP.Kill = 2.0
Rate.XP.Quest = 2.0
[playerbots.conf]
AiPlayerbot.MinRandomBots = 100
AiPlayerbot.MaxRandomBots = 200
```
See `config/CONFIG_MANAGEMENT.md` for detailed preset documentation.
## 🎮 Character Import (`import/pdumps/`)
Import character dump files from other AzerothCore servers.
### Supported Formats
- **`.pdump`** - Character dump files from `.pdump write` command
- **`.sql`** - SQL character dump files
### Quick Start
1. Place character dump files in `import/pdumps/`
2. Run the import script:
```bash
./scripts/bash/import-pdumps.sh --password your_mysql_password --account target_account
```
### Advanced Configuration
Create `import/pdumps/configs/filename.conf` for per-character settings:
```ini
account=target_account
name=NewCharacterName # Optional: rename
guid=5000 # Optional: force GUID
```
**📖 For complete character import documentation, see [import/pdumps/README.md](pdumps/README.md)**
## 🔄 Automated Import
Both database and configuration imports are automatically handled during:
- **Initial Setup**: `./setup.sh`
- **Deployment**: `./deploy.sh`
- **Module Staging**: `./scripts/bash/stage-modules.sh`
## 📝 Notes
- Files in `import/` are preserved across deployments
- SQL files are only imported once (tracked by filename hash)
- Configuration files override defaults but don't replace them
- Use `.gitignore` to keep sensitive files out of version control
## 🚨 Best Practices
1. **Backup First**: Always backup your database before importing SQL
2. **Test Locally**: Test imports on a dev server first
3. **Document Changes**: Add comments to your SQL files explaining what they do
4. **Use Transactions**: Wrap large imports in transactions for safety
5. **Version Control**: Keep track of what you've imported
## 📚 Related Documentation
- [Character Import Guide](pdumps/README.md) - Complete pdump import documentation
- [Database Management](../docs/DATABASE_MANAGEMENT.md)
- [Configuration Management](../config/CONFIG_MANAGEMENT.md)
- [Module Management](../docs/ADVANCED.md#module-management)