# ==============================================
# AZEROTHCORE SERVICES ENVIRONMENT
# ==============================================
# Environment variables for auth server, world server, client data, modules, and optional services

# ==============================================
# DEPLOYMENT CONFIGURATION 
# ==============================================
# Storage root path - local: ./storage, production: /nfs/azerothcore or custom mount
STORAGE_ROOT=/nfs/azerothcore
# Storage configuration (must match database layer)
STORAGE_PATH=${STORAGE_ROOT}

# ==============================================
# USER MAPPING CONFIGURATION (for NFS compatibility)
# ==============================================
# User and group IDs for container processes (PUID/PGID pattern)
# Set these to match your NFS server's user mapping
# Default: 1001:1000 (matches 'sharing' user on most systems)
PUID=1001
PGID=1000
SHARING_USER=${PUID}:${PGID}
# Legacy compatibility
CONTAINER_USER_ID=${PUID}
CONTAINER_GROUP_ID=${PGID}
CONTAINER_USER=${CONTAINER_USER_ID}:${CONTAINER_GROUP_ID}

# ==============================================
# NETWORK CONFIGURATION 
# ==============================================
# External ports for game services
AUTH_EXTERNAL_PORT=3784
WORLD_EXTERNAL_PORT=8215
SOAP_EXTERNAL_PORT=7778

# Server address for client connections (production)
# SERVER_ADDRESS=192.168.0.188
# Server address for client connections (local)
SERVER_ADDRESS=192.168.0.188
# Use WORLD_EXTERNAL_PORT for realmlist (client connection port)
REALM_PORT=8215

# Internal ports (container side)
AUTH_PORT=3724
WORLD_PORT=8085
SOAP_PORT=7878

# ==============================================
# DATABASE CONNECTION 
# ==============================================
# 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
# ==============================================
# Core service images - TO ENABLE PLAYERBOTS: swap _PLAYERBOTS with standard images
# STANDARD IMAGES (currently active):
AC_AUTHSERVER_IMAGE=acore/ac-wotlk-authserver:14.0.0-dev
AC_WORLDSERVER_IMAGE=acore/ac-wotlk-worldserver:14.0.0-dev
# PLAYERBOTS IMAGES (to enable, swap with lines above):
AC_AUTHSERVER_IMAGE_PLAYERBOTS=uprightbass360/azerothcore-wotlk-playerbots:authserver-Playerbot
AC_WORLDSERVER_IMAGE_PLAYERBOTS=uprightbass360/azerothcore-wotlk-playerbots:worldserver-Playerbot
ALPINE_IMAGE=alpine:latest

# Optional service images (from combined optional layer)
AC_ELUNA_IMAGE=acore/eluna-ts:master
ALPINE_GIT_IMAGE=alpine/git:latest

# mod-playerbots compatible client data image
AC_CLIENT_DATA_IMAGE_DISABLED=uprightbass360/azerothcore-wotlk-playerbots:client-data-Playerbot
AC_CLIENT_DATA_IMAGE=alpine:latest

# ==============================================
# IMAGE PULL POLICY 
# ==============================================
IMAGE_PULL_POLICY=if_not_present

# ==============================================
# CONTAINER HEALTH CHECKS 
# ==============================================
# 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

# ==============================================
# CONTAINER NAMES 
# ==============================================
# 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 
# ==============================================
# Network must already exist from database layer
NETWORK_NAME=azerothcore

# ==============================================
# CUSTOM MODULE SETTINGS
# ==============================================

# Playerbot settings
PLAYERBOT_ENABLED=1
PLAYERBOT_MAX_BOTS=40

# Module configuration - ENABLED MODULES
# Selected modules for enhanced gameplay experience
#
# TO ENABLE PLAYERBOTS:
# 1. Change MODULE_PLAYERBOTS=1
# 2. Swap the image lines below (move _PLAYERBOTS to active, move standard to _STANDARD)
# 3. Redeploy services: docker compose -f docker-compose-azerothcore-services.yml up -d
# 4. No rebuild required - uses pre-built playerbots images!
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_ARAC=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
MODULE_ASSISTANT=0
MODULE_REAGENT_BANK=0
MODULE_BLACK_MARKET_AUCTION_HOUSE=0

# ==============================================
# ADDITIONAL CONTAINER NAMES 
# ==============================================
# Optional service container names
CONTAINER_ELUNA=ac-eluna
CONTAINER_MODULES=ac-modules
CONTAINER_POST_INSTALL=ac-post-install

# ==============================================
# MODULE MANAGEMENT 
# ==============================================
GIT_USERNAME=
GIT_EMAIL=
GIT_PAT=