Files
AzerothCore-RealmMaster/docker-compose-azerothcore-services.env
uprightbass360 0196a23458 Finalize automated AzerothCore module management system
This commit completes the implementation of comprehensive module management
with automatic rebuild detection and source-based compilation integration.

Features implemented:
-  Automatic module state tracking with hash-based change detection
-  Comprehensive rebuild notifications and user guidance
-  Automated rebuild script (rebuild-with-modules.sh) with error handling
-  SQL script execution for automatic database setup
-  Module compatibility analysis and documentation
-  Source-based Docker build integration and testing
-  Environment configuration management for builds

Testing results:
-  Successfully built authserver with module integration
-  Confirmed module compilation and linking process works
-  Identified and documented mod-ahbot compatibility issue
-  All 28 modules downloaded and analyzed

Configuration changes:
- All modules disabled for stable baseline (ready for selective testing)
- mod-ahbot marked as incompatible due to linking errors
- Comprehensive compatibility matrix created
- Documentation updated with testing procedures

The system fulfills the core requirement: "ensure that the installer
executes a rebuild when modules are added or removed" with automatic
detection, notifications, and streamlined rebuild automation.

🤖 Generated with [Claude Code](https://claude.ai/code)
2025-10-01 20:21:11 -04:00

142 lines
4.1 KiB
Bash

# ==============================================
# AZEROTHCORE SERVICES ENVIRONMENT (COMBINED)
# ==============================================
# Environment variables for auth server, world server, client data, modules, and optional services
# ==============================================
# DEPLOYMENT CONFIGURATION (REQUIRED)
# ==============================================
# Storage root path - local: ./storage, production: /nfs/containers or custom mount
STORAGE_ROOT=./storage
# Storage configuration (must match database layer)
STORAGE_PATH=${STORAGE_ROOT}/azerothcore
# ==============================================
# DATABASE CONNECTION (REQUIRED)
# ==============================================
# Connect to database layer (must match database layer settings)
MYSQL_HOST=ac-mysql
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_ROOT_PASSWORD=azerothcore123
# Database names (must match database layer)
DB_AUTH_NAME=acore_auth
DB_WORLD_NAME=acore_world
DB_CHARACTERS_NAME=acore_characters
# ==============================================
# DOCKER IMAGES (REQUIRED)
# ==============================================
# Core service images
AC_AUTHSERVER_IMAGE=acore/ac-wotlk-authserver:14.0.0-dev
AC_WORLDSERVER_IMAGE=acore/ac-wotlk-worldserver:14.0.0-dev
ALPINE_IMAGE=alpine:latest
# Optional service images (from combined optional layer)
AC_ELUNA_IMAGE=acore/eluna-ts:master
ALPINE_GIT_IMAGE=alpine/git:latest
# ==============================================
# IMAGE PULL POLICY (REQUIRED)
# ==============================================
IMAGE_PULL_POLICY=if_not_present
# ==============================================
# CONTAINER HEALTH CHECKS (REQUIRED)
# ==============================================
# Auth server health check
AUTH_HEALTHCHECK_INTERVAL=30s
AUTH_HEALTHCHECK_TIMEOUT=10s
AUTH_HEALTHCHECK_RETRIES=3
AUTH_HEALTHCHECK_START_PERIOD=60s
# World server health check
WORLD_HEALTHCHECK_INTERVAL=30s
WORLD_HEALTHCHECK_TIMEOUT=10s
WORLD_HEALTHCHECK_RETRIES=3
WORLD_HEALTHCHECK_START_PERIOD=120s
# ==============================================
# NETWORK CONFIGURATION (REQUIRED)
# ==============================================
# External ports for game services
AUTH_EXTERNAL_PORT=3784
WORLD_EXTERNAL_PORT=8215
SOAP_EXTERNAL_PORT=7778
# Internal ports (container side)
AUTH_PORT=3724
WORLD_PORT=8085
SOAP_PORT=7878
# ==============================================
# CONTAINER NAMES (REQUIRED)
# ==============================================
# Core service container names
CONTAINER_AUTHSERVER=ac-authserver
CONTAINER_WORLDSERVER=ac-worldserver
CONTAINER_CLIENT_DATA=ac-client-data
# Database container name (for external linking)
CONTAINER_MYSQL=ac-mysql
# ==============================================
# NETWORK SETTINGS (REQUIRED)
# ==============================================
# Network must already exist from database layer
NETWORK_NAME=azerothcore
# ==============================================
# CUSTOM MODULE SETTINGS
# ==============================================
# Playerbot settings
PLAYERBOT_ENABLED=1
PLAYERBOT_MAX_BOTS=40
# Module configuration (ALL DISABLED for clean baseline)
# Enable modules individually after testing compatibility
MODULE_PLAYERBOTS=0
MODULE_AOE_LOOT=0
MODULE_LEARN_SPELLS=0
MODULE_FIREWORKS=0
MODULE_INDIVIDUAL_PROGRESSION=0
# Quality of Life Modules
# NOTE: mod-ahbot has linking issues - undefined reference to 'Addmod_ahbotScripts()'
MODULE_AHBOT=0
MODULE_AUTOBALANCE=0
MODULE_TRANSMOG=0
MODULE_NPC_BUFFER=0
# Gameplay Enhancement Modules
MODULE_DYNAMIC_XP=0
MODULE_SOLO_LFG=0
MODULE_1V1_ARENA=0
MODULE_PHASED_DUELS=0
# Server Management Modules
MODULE_BREAKING_NEWS=0
MODULE_BOSS_ANNOUNCER=0
MODULE_ACCOUNT_ACHIEVEMENTS=0
# Additional Modules Found in Config
MODULE_AUTO_REVIVE=0
MODULE_GAIN_HONOR_GUARD=0
MODULE_ELUNA=0
MODULE_TIME_IS_TIME=0
MODULE_POCKET_PORTAL=0
MODULE_RANDOM_ENCHANTS=0
MODULE_SOLOCRAFT=0
MODULE_PVP_TITLES=0
MODULE_NPC_BEASTMASTER=0
MODULE_NPC_ENCHANTER=0
MODULE_INSTANCE_RESET=0
MODULE_LEVEL_GRANT=0
# ==============================================
# ADDITIONAL CONTAINER NAMES (OPTIONAL)
# ==============================================
# Optional service container names
CONTAINER_ELUNA=ac-eluna