mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-13 00:58:34 +00:00
- Replace hardcoded hooks with external scripts in scripts/hooks/ - Add 4 generic hook scripts (copy-standard-lua, copy-aio-lua, mod-ale-patches, black-market-setup) - Update all 28 module hook definitions in config/modules.json - Remove legacy hook functions from manage-modules.sh - Add 26 new Eluna Lua modules to .env.template (disabled by default) - Add 3 new AIO modules to .env.template (disabled by default) - Implement proper environment variable interface for hooks - Add comprehensive documentation and refactoring summary 🤖 Generated with [Claude Code](https://claude.ai/code)
297 lines
8.1 KiB
Plaintext
297 lines
8.1 KiB
Plaintext
# Copy this file to .env and adjust values for your environment.
|
|
# Docker Compose will auto-load .env in the same folder as docker-compose.yml.
|
|
# Template for acore-compose profiles-based compose
|
|
|
|
# =====================
|
|
# Project name
|
|
# =====================
|
|
COMPOSE_PROJECT_NAME=acore-compose
|
|
|
|
# =====================
|
|
# Storage & Timezone
|
|
# =====================
|
|
STORAGE_PATH=./storage
|
|
STORAGE_PATH_LOCAL=./local-storage
|
|
BACKUP_PATH=${STORAGE_PATH}/backups
|
|
HOST_ZONEINFO_PATH=/usr/share/zoneinfo
|
|
TZ=UTC
|
|
|
|
# =====================
|
|
# Permissions & ID Defaults
|
|
# =====================
|
|
CONTAINER_USER=0:0
|
|
DEFAULT_PERMISSION_LOCAL_USER=0:0
|
|
DEFAULT_PERMISSION_NFS_USER=1001:1000
|
|
DEFAULT_CUSTOM_UID=1000
|
|
DEFAULT_CUSTOM_GID=1000
|
|
|
|
# =====================
|
|
# Shared Storage Presets
|
|
# =====================
|
|
DEFAULT_NFS_STORAGE_PATH=/nfs/azerothcore
|
|
DEFAULT_MOUNT_STORAGE_PATH=/mnt/azerothcore-data
|
|
|
|
# =====================
|
|
# Container identifiers
|
|
# =====================
|
|
CONTAINER_DB_IMPORT=ac-db-import
|
|
CONTAINER_DB_INIT=ac-db-init
|
|
CONTAINER_BACKUP=ac-backup
|
|
CONTAINER_MODULES=ac-modules
|
|
CONTAINER_POST_INSTALL=ac-post-install
|
|
|
|
# =====================
|
|
# Images
|
|
# =====================
|
|
AC_DB_IMPORT_IMAGE=acore/ac-wotlk-db-import:14.0.0-dev
|
|
# Services (Standard)
|
|
AC_AUTHSERVER_IMAGE=acore/ac-wotlk-authserver:14.0.0-dev
|
|
AC_WORLDSERVER_IMAGE=acore/ac-wotlk-worldserver:14.0.0-dev
|
|
# Services (Playerbots)
|
|
AC_AUTHSERVER_IMAGE_PLAYERBOTS=acore-compose:authserver-playerbots
|
|
AC_WORLDSERVER_IMAGE_PLAYERBOTS=acore-compose:worldserver-playerbots
|
|
# Services (Module Build Tags)
|
|
# Images used during module compilation and tagging
|
|
AC_AUTHSERVER_IMAGE_MODULES=acore-compose:authserver-modules-latest
|
|
AC_WORLDSERVER_IMAGE_MODULES=acore-compose:worldserver-modules-latest
|
|
# Client Data
|
|
AC_CLIENT_DATA_IMAGE=acore/ac-wotlk-client-data:14.0.0-dev
|
|
AC_CLIENT_DATA_IMAGE_PLAYERBOTS=uprightbass360/azerothcore-wotlk-playerbots:client-data-Playerbot
|
|
# Helper images
|
|
ALPINE_GIT_IMAGE=alpine/git:latest
|
|
ALPINE_IMAGE=alpine:latest
|
|
|
|
# =====================
|
|
# Ports
|
|
# =====================
|
|
AUTH_EXTERNAL_PORT=3784
|
|
AUTH_PORT=3724
|
|
WORLD_EXTERNAL_PORT=8215
|
|
WORLD_PORT=8085
|
|
SOAP_EXTERNAL_PORT=7778
|
|
SOAP_PORT=7878
|
|
|
|
# =====================
|
|
# Networking
|
|
# =====================
|
|
NETWORK_NAME=azerothcore
|
|
NETWORK_SUBNET=172.20.0.0/16
|
|
NETWORK_GATEWAY=172.20.0.1
|
|
|
|
# =====================
|
|
# Server address / realm
|
|
# =====================
|
|
SERVER_ADDRESS=127.0.0.1
|
|
REALM_PORT=8215
|
|
|
|
# =====================
|
|
# MySQL / Database Layer
|
|
# =====================
|
|
MYSQL_IMAGE=mysql:8.0
|
|
CONTAINER_MYSQL=ac-mysql
|
|
MYSQL_HOST=ac-mysql
|
|
MYSQL_ROOT_PASSWORD=azerothcore123
|
|
MYSQL_ROOT_HOST=%
|
|
MYSQL_USER=root
|
|
MYSQL_PORT=3306
|
|
MYSQL_EXTERNAL_PORT=64306
|
|
MYSQL_CHARACTER_SET=utf8mb4
|
|
MYSQL_COLLATION=utf8mb4_unicode_ci
|
|
MYSQL_MAX_CONNECTIONS=1000
|
|
MYSQL_INNODB_BUFFER_POOL_SIZE=256M
|
|
MYSQL_INNODB_LOG_FILE_SIZE=64M
|
|
MYSQL_INNODB_REDO_LOG_CAPACITY=512M
|
|
MYSQL_RUNTIME_TMPFS_SIZE=8G
|
|
DB_WAIT_RETRIES=60
|
|
DB_WAIT_SLEEP=10
|
|
|
|
# =====================
|
|
# DB names
|
|
# =====================
|
|
DB_AUTH_NAME=acore_auth
|
|
DB_WORLD_NAME=acore_world
|
|
DB_CHARACTERS_NAME=acore_characters
|
|
DB_PLAYERBOTS_NAME=acore_playerbots
|
|
# =====================
|
|
# Backups
|
|
# =====================
|
|
BACKUP_RETENTION_DAYS=3
|
|
BACKUP_RETENTION_HOURS=6
|
|
BACKUP_DAILY_TIME=09
|
|
BACKUP_HEALTHCHECK_MAX_MINUTES=1440
|
|
BACKUP_HEALTHCHECK_GRACE_SECONDS=4500
|
|
BACKUP_HEALTHCHECK_INTERVAL=60s
|
|
BACKUP_HEALTHCHECK_TIMEOUT=30s
|
|
BACKUP_HEALTHCHECK_RETRIES=3
|
|
BACKUP_HEALTHCHECK_START_PERIOD=120s
|
|
|
|
# =====================
|
|
# Playerbots runtime flags (used by worldserver env)
|
|
# =====================
|
|
PLAYERBOT_ENABLED=0
|
|
PLAYERBOT_MAX_BOTS=40
|
|
|
|
# =====================
|
|
# Client Data Settings
|
|
# =====================
|
|
CLIENT_DATA_VERSION=v17
|
|
CLIENT_DATA_CACHE_PATH=${STORAGE_PATH_LOCAL}/client-data-cache
|
|
CLIENT_DATA_VOLUME=ac-client-data
|
|
|
|
# =====================
|
|
# Module toggles (0/1)
|
|
# =====================
|
|
MODULE_PLAYERBOTS=0
|
|
MODULE_AOE_LOOT=0
|
|
MODULE_LEARN_SPELLS=0
|
|
MODULE_FIREWORKS=0
|
|
# Requires worldserver.conf tweaks (EnablePlayerSettings=1, DBC.EnforceItemAttributes=0)
|
|
MODULE_INDIVIDUAL_PROGRESSION=0
|
|
MODULE_AHBOT=0
|
|
MODULE_AUTOBALANCE=0
|
|
MODULE_TRANSMOG=0
|
|
MODULE_NPC_BUFFER=0
|
|
MODULE_DYNAMIC_XP=0
|
|
MODULE_SOLO_LFG=0
|
|
MODULE_1V1_ARENA=0
|
|
MODULE_PHASED_DUELS=0
|
|
# Needs BreakingNews HTML asset configured (BreakingNews.HtmlPath)
|
|
MODULE_BREAKING_NEWS=0
|
|
MODULE_BOSS_ANNOUNCER=0
|
|
MODULE_ACCOUNT_ACHIEVEMENTS=0
|
|
MODULE_AUTO_REVIVE=0
|
|
MODULE_GAIN_HONOR_GUARD=0
|
|
MODULE_ARAC=0
|
|
MODULE_ELUNA=1
|
|
# Enables AzerothCore Lua Engine (mod-ale) for Lua scripting
|
|
# Requires optional SQL/DBC patches; leave off by default
|
|
MODULE_TIME_IS_TIME=0
|
|
# Requires in-game NPC placement/config; leave off by default
|
|
MODULE_POCKET_PORTAL=0
|
|
# Pending upstream verification; leave disabled until tested
|
|
MODULE_RANDOM_ENCHANTS=0
|
|
MODULE_SOLOCRAFT=0
|
|
MODULE_PVP_TITLES=0
|
|
# Custom NPC modules pending compatibility validation
|
|
MODULE_NPC_BEASTMASTER=0
|
|
MODULE_NPC_ENCHANTER=0
|
|
MODULE_INSTANCE_RESET=0
|
|
# mod-quest-count-level currently fails (uses removed sConfigMgr::GetBoolDefault)
|
|
MODULE_LEVEL_GRANT=0
|
|
# Popular catalogue modules (disabled by default until evaluated)
|
|
MODULE_CHALLENGE_MODES=0
|
|
MODULE_OLLAMA_CHAT=0
|
|
# Template module for rapid prototyping
|
|
MODULE_SKELETON_MODULE=0
|
|
# Requires custom client patch / dbc edits
|
|
MODULE_BG_SLAVERYVALLEY=0
|
|
# TypeScript→Lua toolchain for Eluna scripts
|
|
MODULE_ELUNA_TS=0
|
|
# Enhances playerbot deployment; expects MODULE_PLAYERBOTS=1
|
|
MODULE_PLAYER_BOT_LEVEL_BRACKETS=0
|
|
MODULE_STATBOOSTER=0
|
|
MODULE_DUNGEON_RESPAWN=0
|
|
MODULE_AZEROTHSHARD=0
|
|
# Adds Worgen/Goblin races; requires Patch-W.MPQ + DBC sync
|
|
MODULE_WORGOBLIN=0
|
|
MODULE_ASSISTANT=0
|
|
MODULE_REAGENT_BANK=0
|
|
MODULE_BLACK_MARKET_AUCTION_HOUSE=0
|
|
|
|
# =====================
|
|
# Eluna Lua Script Modules (requires MODULE_ELUNA=1)
|
|
# =====================
|
|
# Collection of Eluna scripts from elunascripts.github.io
|
|
MODULE_ELUNA_SCRIPTS=0
|
|
MODULE_EVENT_SCRIPTS=0
|
|
MODULE_LEVEL_UP_REWARD=0
|
|
MODULE_ACCOUNTWIDE_SYSTEMS=0
|
|
MODULE_EXCHANGE_NPC=0
|
|
MODULE_RECRUIT_A_FRIEND=0
|
|
MODULE_PRESTIGE_DRAFT_MODE=0
|
|
MODULE_LUA_AH_BOT=0
|
|
MODULE_HARDCORE_MODE=0
|
|
MODULE_NPCBOT_EXTENDED_COMMANDS=0
|
|
MODULE_MULTIVENDOR=0
|
|
MODULE_TREASURE_CHEST_SYSTEM=0
|
|
MODULE_ACTIVE_CHAT=0
|
|
MODULE_ULTIMATE_FULL_LOOT_PVP=0
|
|
MODULE_HORADRIC_CUBE=0
|
|
MODULE_CARBON_COPY=0
|
|
MODULE_TEMP_ANNOUNCEMENTS=0
|
|
MODULE_ZONE_CHECK=0
|
|
MODULE_SEND_AND_BIND=0
|
|
MODULE_DYNAMIC_TRADER=0
|
|
MODULE_LOTTERY_LUA=0
|
|
MODULE_DISCORD_NOTIFIER=0
|
|
MODULE_GLOBAL_MAIL_BANKING_AUCTIONS=0
|
|
|
|
# =====================
|
|
# AIO (Azeroth Interface Override) Modules (requires MODULE_AIO=1)
|
|
# =====================
|
|
# Client-server interface communication modules
|
|
MODULE_AIO=0
|
|
MODULE_TRANSMOG_AIO=0
|
|
MODULE_AIO_BLACKJACK=0
|
|
|
|
# =====================
|
|
# Rebuild automation
|
|
# =====================
|
|
AUTO_REBUILD_ON_DEPLOY=0
|
|
# Default AzerothCore source checkout used for module rebuilds
|
|
MODULES_REBUILD_SOURCE_PATH=${STORAGE_PATH_LOCAL}/source/azerothcore
|
|
|
|
# =====================
|
|
# Source repositories
|
|
# =====================
|
|
ACORE_REPO_STANDARD=https://github.com/azerothcore/azerothcore-wotlk.git
|
|
ACORE_BRANCH_STANDARD=master
|
|
ACORE_REPO_PLAYERBOTS=https://github.com/mod-playerbots/azerothcore-wotlk.git
|
|
ACORE_BRANCH_PLAYERBOTS=Playerbot
|
|
|
|
# =====================
|
|
# Eluna runtime (worldserver.conf overrides)
|
|
# =====================
|
|
AC_ELUNA_ENABLED=1 # Power users may set to 0 to turn off bundled Eluna runtime
|
|
AC_ELUNA_TRACE_BACK=1
|
|
AC_ELUNA_AUTO_RELOAD=1
|
|
AC_ELUNA_BYTECODE_CACHE=1
|
|
AC_ELUNA_SCRIPT_PATH=lua_scripts
|
|
AC_ELUNA_REQUIRE_PATHS=
|
|
AC_ELUNA_REQUIRE_CPATHS=
|
|
AC_ELUNA_AUTO_RELOAD_INTERVAL=1
|
|
|
|
# =====================
|
|
# Health checks
|
|
# =====================
|
|
MYSQL_HEALTHCHECK_INTERVAL=20s
|
|
MYSQL_HEALTHCHECK_TIMEOUT=15s
|
|
MYSQL_HEALTHCHECK_RETRIES=25
|
|
MYSQL_HEALTHCHECK_START_PERIOD=120s
|
|
|
|
AUTH_HEALTHCHECK_INTERVAL=30s
|
|
AUTH_HEALTHCHECK_TIMEOUT=10s
|
|
AUTH_HEALTHCHECK_RETRIES=3
|
|
AUTH_HEALTHCHECK_START_PERIOD=60s
|
|
|
|
WORLD_HEALTHCHECK_INTERVAL=30s
|
|
WORLD_HEALTHCHECK_TIMEOUT=10s
|
|
WORLD_HEALTHCHECK_RETRIES=3
|
|
WORLD_HEALTHCHECK_START_PERIOD=120s
|
|
|
|
# =====================
|
|
# Tools (phpMyAdmin / Keira3)
|
|
# =====================
|
|
PMA_HOST=ac-mysql
|
|
PMA_PORT=3306
|
|
PMA_USER=root
|
|
PMA_EXTERNAL_PORT=8081
|
|
PMA_ARBITRARY=1
|
|
PMA_ABSOLUTE_URI=
|
|
PMA_UPLOAD_LIMIT=300M
|
|
PMA_MEMORY_LIMIT=512M
|
|
PMA_MAX_EXECUTION_TIME=600
|
|
KEIRA3_EXTERNAL_PORT=4201
|
|
KEIRA_DATABASE_HOST=ac-mysql
|
|
KEIRA_DATABASE_PORT=3306
|