mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-13 09:07:20 +00:00
6.4 KiB
6.4 KiB
AzerothCore Module System Validation TODO
Overview
Document findings from module system validation and plan for end-to-end testing to ensure proper deployment in both standard and playerbot configurations.
Key Findings
Container Architecture
- Single worldserver container:
ac-worldserver - Base container selection: Determined by
MODULE_PLAYERBOTSflagMODULE_PLAYERBOTS=1→uprightbass360/azerothcore-wotlk-playerbots:worldserver-PlayerbotMODULE_PLAYERBOTS=0→acore/ac-wotlk-worldserver:14.0.0-dev
- Additional modules: Compiled on top of selected base container via source compilation
Current Module Configuration
Enabled Modules (modules-custom.env):
MODULE_PLAYERBOTS=1(base container selection)MODULE_AOE_LOOT=1(requires C++ compilation)MODULE_LEARN_SPELLS=1(requires C++ compilation)MODULE_FIREWORKS=1(requires C++ compilation)MODULE_AHBOT=1(requires C++ compilation)MODULE_AUTOBALANCE=1(requires C++ compilation)MODULE_TRANSMOG=1(requires C++ compilation)MODULE_NPC_BUFFER=1(requires C++ compilation)MODULE_SOLO_LFG=1(requires C++ compilation)MODULE_SOLOCRAFT=1(requires C++ compilation)
Rebuild Requirements
Only ac-worldserver requires rebuild:
- All C++ modules affect worldserver binary only
- ac-authserver remains compatible (playerbot images already include auth changes)
- No other containers need recompilation
Module Installation Components
- Module Manager:
ac-modulescontainer (downloads/installs modules) - Build Service:
ac-buildcontainer (handles C++ compilation when needed) - State Tracking:
/modules/.modules_statefile prevents unnecessary rebuilds - Automated Scripts:
scripts/manage-modules.sh- Module installation and configurationscripts/rebuild-with-modules.sh- Automated rebuild processscripts/deploy-and-check.sh- Full stack deployment with validation
Configuration Issues Identified
- Conflicting Configurations:
services-custom.env: OnlyMODULE_PLAYERBOTS=1modules-custom.env: 10 modules enabled- Resolution needed: Align configurations
Testing Plan: Two End-to-End Validation Tests
Test 1: Standard AzerothCore with Additional Modules
Objective: Validate deployment without Playerbots but with other C++ modules Configuration:
# Base container
MODULE_PLAYERBOTS=0
AC_WORLDSERVER_IMAGE=acore/ac-wotlk-worldserver:14.0.0-dev
# Additional modules (subset for testing)
MODULE_AOE_LOOT=1
MODULE_AUTOBALANCE=1
MODULE_TRANSMOG=1
Expected Results:
- Uses standard AzerothCore base
- Compiles 3 additional modules into worldserver
- No Playerbot functionality
- Validates source compilation process
Test Steps:
- Configure environment files for standard deployment
- Run
scripts/deploy-and-check.sh - Monitor
ac-modulescontainer output - Verify rebuild detection triggers
- Execute
scripts/rebuild-with-modules.sh - Validate all services are healthy
- Test module functionality (AOE loot, autobalance, transmog)
Test 2: Playerbot AzerothCore with Additional Modules
Objective: Validate deployment with Playerbots + additional C++ modules Configuration:
# Base container (current configuration)
MODULE_PLAYERBOTS=1
AC_WORLDSERVER_IMAGE=uprightbass360/azerothcore-wotlk-playerbots:worldserver-Playerbot
# All additional modules
MODULE_AOE_LOOT=1
MODULE_LEARN_SPELLS=1
MODULE_FIREWORKS=1
MODULE_AHBOT=1
MODULE_AUTOBALANCE=1
MODULE_TRANSMOG=1
MODULE_NPC_BUFFER=1
MODULE_SOLO_LFG=1
MODULE_SOLOCRAFT=1
Expected Results:
- Uses Playerbot base container
- Compiles 9 additional modules into worldserver
- Full Playerbot functionality maintained
- All additional modules functional
Test Steps:
- Use current modules-custom.env configuration
- Run full deployment with
scripts/deploy-and-check.sh - Monitor module installation and rebuild process
- Validate Playerbot functionality
- Test each additional module's functionality
- Verify no conflicts between Playerbots and other modules
Validation Criteria
Deployment Success Criteria
- All containers start and pass health checks
- Database schemas properly created/updated
- Module configuration files properly installed
- No container restart loops
- Port connectivity tests pass
Module Functionality Criteria
- Playerbot commands work (if enabled)
- AOE looting functions
- Auto-spell learning on level up
- Fireworks display on level up
- Auction house bot operational
- Dungeon difficulty auto-balances
- Transmog system accessible
- NPC buffer provides services
- Solo LFG allows queue
- Solocraft scaling active
Performance Criteria
- Server startup time < 5 minutes
- Module rebuild time < 45 minutes
- No memory leaks or excessive resource usage
- Stable operation under load
Risk Mitigation
- Backup current working state before testing
- Test in isolated environment first
- Document rollback procedures for each test
- Monitor logs continuously during testing
- Have restore scripts ready in case of failures
Next Steps
- Create isolated test environments for both scenarios
- Prepare configuration files for Test 1 (standard + modules)
- Execute Test 1 and document results
- Execute Test 2 and document results
- Compare performance and stability between configurations
- Document final recommendations for production deployment
Notes
- Each test should be run multiple times to ensure consistency
- Log all outputs for analysis
- Measure build times and resource usage
- Test both fresh deployments and configuration changes
- Validate that module state tracking prevents unnecessary rebuilds
Previous Deployment History (ARCHIVED)
✅ Major Fixes Completed:
-
Database Schema Issues ✅ RESOLVED
- Added missing
emotetextsound_dbc.sqlto source project - Imported all DBC tables - worldserver now starts successfully
- Worldserver status:
Up (healthy)with Eluna scripts loaded
- Added missing
-
Container Script Compatibility ✅ RESOLVED
- Fixed client-data container with multi-OS package manager detection
- Client data downloads working (15GB extracted successfully)
- Updated docker-compose with Alpine/Ubuntu compatibility
Status: MAJOR SUCCESS ✅ - Core server functional, ready for module validation testing.