mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-13 09:07:20 +00:00
Character PDump Import
This directory allows you to easily import character pdump files into your AzerothCore server.
📁 Directory Structure
import/pdumps/
├── README.md # This file
├── *.pdump # Place your character dump files here
├── *.sql # SQL dump files also supported
├── configs/ # Optional per-file configuration
│ ├── character1.conf
│ └── character2.conf
├── examples/ # Example files and configurations
└── processed/ # Successfully imported files are moved here
🎮 Character Dump Import
Quick Start
-
Place your pdump files in this directory:
cp /path/to/mycharacter.pdump import/pdumps/ -
Run the import script:
./scripts/bash/import-pdumps.sh --password your_mysql_password --account target_account -
Login and play - your characters are now available!
Supported File Formats
.pdump- Character dump files from AzerothCore.pdump writecommand.sql- SQL character dump files
Configuration Options
Environment Variables (.env)
# Set default account for all imports
DEFAULT_IMPORT_ACCOUNT=testuser
# Database credentials (usually already set)
MYSQL_ROOT_PASSWORD=your_mysql_password
ACORE_DB_AUTH_NAME=acore_auth
ACORE_DB_CHARACTERS_NAME=acore_characters
Per-Character Configuration (configs/filename.conf)
Create a .conf file with the same name as your pdump file to specify custom import options:
Example: configs/mycharacter.conf
# Target account (required if not set globally)
account=testuser
# Rename character during import (optional)
name=NewCharacterName
# Force specific GUID (optional, auto-assigned if not specified)
guid=5000
Command Line Usage
Import All Files
# Use environment settings
./scripts/bash/import-pdumps.sh
# Override settings
./scripts/bash/import-pdumps.sh --password mypass --account testuser
Import Single File
# Direct import with pdump-import.sh
./scripts/bash/pdump-import.sh --file character.pdump --account testuser --password mypass
# With character rename
./scripts/bash/pdump-import.sh --file oldchar.pdump --account newuser --name "NewName" --password mypass
# Validate before import (dry run)
./scripts/bash/pdump-import.sh --file character.pdump --account testuser --password mypass --dry-run
🛠️ Advanced Features
Account Management
- Account Validation: Scripts automatically verify that target accounts exist
- Account ID or Name: You can use either account names or numeric IDs
- Interactive Mode: If no account is specified, you'll be prompted to enter one
GUID Handling
- Auto-Assignment: Next available GUID is automatically assigned
- Force GUID: Use
--guidparameter or config file to force specific GUID - Conflict Detection: Import fails safely if GUID already exists
Character Names
- Validation: Character names must follow WoW naming rules (2-12 letters)
- Uniqueness: Import fails if character name already exists on server
- Renaming: Use
--nameparameter or config file to rename during import
Safety Features
- Automatic Backup: Characters database is backed up before each import
- Server Management: World server is safely stopped/restarted during import
- Rollback Ready: Backups are stored in
manual-backups/directory - Dry Run: Validate imports without actually importing
📋 Import Workflow
-
Validation Phase
- Check file format and readability
- Validate target account exists
- Verify character name availability (if specified)
- Check GUID conflicts
-
Pre-Import Phase
- Create automatic database backup
- Stop world server for safe import
-
Processing Phase
- Process SQL file (update account references, GUID, name)
- Import character data into database
-
Post-Import Phase
- Restart world server
- Verify import success
- Move processed files to
processed/directory
🚨 Important Notes
Before You Import
- Backup Your Database: Always backup before importing characters
- Account Required: Target account must exist in your auth database
- Unique Names: Character names must be unique across the entire server
- Server Downtime: World server is briefly restarted during import
PDump Limitations
The AzerothCore pdump system has some known limitations:
- Guild Data: Guild information is not included in pdump files
- Module Data: Some module-specific data (transmog, reagent bank) may not transfer
- Version Compatibility: Pdump files from different database versions may have issues
Troubleshooting
- "Account not found": Verify account exists in auth database
- "Character name exists": Use
--nameto rename or choose different name - "GUID conflicts": Use
--guidto force different GUID or let system auto-assign - "Database errors": Check that pdump file is compatible with your database version
📚 Examples
Basic Import
# Place file and import
cp character.pdump import/pdumps/
./scripts/bash/import-pdumps.sh --password mypass --account testuser
Batch Import with Configuration
# Set up multiple characters
cp char1.pdump import/pdumps/
cp char2.pdump import/pdumps/
# Configure individual characters
echo "account=user1" > import/pdumps/configs/char1.conf
echo "account=user2
name=RenamedChar" > import/pdumps/configs/char2.conf
# Import all
./scripts/bash/import-pdumps.sh --password mypass
Single Character Import
./scripts/bash/pdump-import.sh \
--file character.pdump \
--account testuser \
--name "MyNewCharacter" \
--password mypass