mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-13 17:09:09 +00:00
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)
142 lines
4.1 KiB
Bash
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 |