better wizard logic and toggling

This commit is contained in:
uprightbass360
2025-10-05 23:38:33 -04:00
parent 3482a7a8d8
commit c523a20d78
6 changed files with 85 additions and 52 deletions

1
.gitignore vendored
View File

@@ -2,3 +2,4 @@ data/
backups/ backups/
local-data-tools/ local-data-tools/
storage/ storage/
*custom.env

View File

@@ -45,8 +45,8 @@ DB_WAIT_SLEEP=10
# Database layer images # Database layer images
# ============================================== # ==============================================
# mod-playerbots compatible database import # mod-playerbots compatible database import
AC_DB_IMPORT_IMAGE=uprightbass360/azerothcore-wotlk-playerbots:db-import-Playerbot AC_DB_IMPORT_IMAGE_DISABLED=uprightbass360/azerothcore-wotlk-playerbots:db-import-Playerbot
# AC_DB_IMPORT_IMAGE=acore/ac-wotlk-db-import:14.0.0-dev AC_DB_IMPORT_IMAGE=acore/ac-wotlk-db-import:14.0.0-dev
MYSQL_IMAGE=mysql:8.0 MYSQL_IMAGE=mysql:8.0
ALPINE_IMAGE=alpine:latest ALPINE_IMAGE=alpine:latest

View File

@@ -93,46 +93,46 @@ NETWORK_NAME=azerothcore
# CUSTOM MODULE SETTINGS # CUSTOM MODULE SETTINGS
# ============================================== # ==============================================
# Playerbot settings # Playerbot settings
PLAYERBOT_ENABLED=1 PLAYERBOT_ENABLED=0
PLAYERBOT_MAX_BOTS=40 PLAYERBOT_MAX_BOTS=40
# Module configuration # Module configuration
MODULE_PLAYERBOTS=1 MODULE_PLAYERBOTS=0
MODULE_AOE_LOOT=1 MODULE_AOE_LOOT=0
MODULE_LEARN_SPELLS=1 MODULE_LEARN_SPELLS=0
MODULE_FIREWORKS=1 MODULE_FIREWORKS=0
MODULE_INDIVIDUAL_PROGRESSION=1 MODULE_INDIVIDUAL_PROGRESSION=0
# Quality of Life Modules # Quality of Life Modules
MODULE_AHBOT=1 MODULE_AHBOT=0
MODULE_AUTOBALANCE=1 MODULE_AUTOBALANCE=0
MODULE_TRANSMOG=1 MODULE_TRANSMOG=0
MODULE_NPC_BUFFER=1 MODULE_NPC_BUFFER=0
# Gameplay Enhancement Modules # Gameplay Enhancement Modules
MODULE_DYNAMIC_XP=1 MODULE_DYNAMIC_XP=0
MODULE_SOLO_LFG=1 MODULE_SOLO_LFG=0
MODULE_1V1_ARENA=1 MODULE_1V1_ARENA=0
MODULE_PHASED_DUELS=1 MODULE_PHASED_DUELS=0
# Server Management Modules # Server Management Modules
MODULE_BREAKING_NEWS=1 MODULE_BREAKING_NEWS=0
MODULE_BOSS_ANNOUNCER=1 MODULE_BOSS_ANNOUNCER=0
MODULE_ACCOUNT_ACHIEVEMENTS=1 MODULE_ACCOUNT_ACHIEVEMENTS=0
# Additional Modules Found in Config # Additional Modules Found in Config
MODULE_AUTO_REVIVE=1 MODULE_AUTO_REVIVE=0
MODULE_GAIN_HONOR_GUARD=1 MODULE_GAIN_HONOR_GUARD=0
MODULE_ELUNA=1 MODULE_ELUNA=0
MODULE_TIME_IS_TIME=1 MODULE_TIME_IS_TIME=0
MODULE_POCKET_PORTAL=1 MODULE_POCKET_PORTAL=0
MODULE_RANDOM_ENCHANTS=1 MODULE_RANDOM_ENCHANTS=0
MODULE_SOLOCRAFT=1 MODULE_SOLOCRAFT=0
MODULE_PVP_TITLES=1 MODULE_PVP_TITLES=0
MODULE_NPC_BEASTMASTER=1 MODULE_NPC_BEASTMASTER=0
MODULE_NPC_ENCHANTER=1 MODULE_NPC_ENCHANTER=0
MODULE_INSTANCE_RESET=1 MODULE_INSTANCE_RESET=0
MODULE_LEVEL_GRANT=1 MODULE_LEVEL_GRANT=0
# ============================================== # ==============================================
# ADDITIONAL CONTAINER NAMES # ADDITIONAL CONTAINER NAMES

View File

@@ -49,10 +49,10 @@ DB_CHARACTERS_NAME=acore_characters
# DOCKER IMAGES # DOCKER IMAGES
# ============================================== # ==============================================
# Core service images - mod-playerbots compatible builds # Core service images - mod-playerbots compatible builds
AC_AUTHSERVER_IMAGE=uprightbass360/azerothcore-wotlk-playerbots:authserver-Playerbot AC_AUTHSERVER_IMAGE_DISABLED=uprightbass360/azerothcore-wotlk-playerbots:authserver-Playerbot
# AC_AUTHSERVER_IMAGE=acore/ac-wotlk-authserver:14.0.0-dev AC_AUTHSERVER_IMAGE=acore/ac-wotlk-authserver:14.0.0-dev
AC_WORLDSERVER_IMAGE=uprightbass360/azerothcore-wotlk-playerbots:worldserver-Playerbot AC_WORLDSERVER_IMAGE_DISABLED=uprightbass360/azerothcore-wotlk-playerbots:worldserver-Playerbot
# AC_WORLDSERVER_IMAGE=acore/ac-wotlk-worldserver:14.0.0-dev AC_WORLDSERVER_IMAGE=acore/ac-wotlk-worldserver:14.0.0-dev
ALPINE_IMAGE=alpine:latest ALPINE_IMAGE=alpine:latest
# Optional service images (from combined optional layer) # Optional service images (from combined optional layer)
@@ -60,8 +60,8 @@ AC_ELUNA_IMAGE=acore/eluna-ts:master
ALPINE_GIT_IMAGE=alpine/git:latest ALPINE_GIT_IMAGE=alpine/git:latest
# mod-playerbots compatible client data image # mod-playerbots compatible client data image
AC_CLIENT_DATA_IMAGE=uprightbass360/azerothcore-wotlk-playerbots:client-data-Playerbot AC_CLIENT_DATA_IMAGE_DISABLED=uprightbass360/azerothcore-wotlk-playerbots:client-data-Playerbot
# AC_CLIENT_DATA_IMAGE=alpine:latest AC_CLIENT_DATA_IMAGE=alpine:latest
# ============================================== # ==============================================
# IMAGE PULL POLICY # IMAGE PULL POLICY
@@ -110,22 +110,22 @@ PLAYERBOT_MAX_BOTS=40
# Module configuration - ENABLED MODULES # Module configuration - ENABLED MODULES
# Selected modules for enhanced gameplay experience # Selected modules for enhanced gameplay experience
MODULE_PLAYERBOTS=1 MODULE_PLAYERBOTS=0
MODULE_AOE_LOOT=1 MODULE_AOE_LOOT=0
MODULE_LEARN_SPELLS=1 MODULE_LEARN_SPELLS=0
MODULE_FIREWORKS=1 MODULE_FIREWORKS=0
MODULE_INDIVIDUAL_PROGRESSION=1 MODULE_INDIVIDUAL_PROGRESSION=0
# Quality of Life Modules # Quality of Life Modules
# NOTE: mod-ahbot has linking issues - undefined reference to 'Addmod_ahbotScripts()' # NOTE: mod-ahbot has linking issues - undefined reference to 'Addmod_ahbotScripts()'
MODULE_AHBOT=0 MODULE_AHBOT=0
MODULE_AUTOBALANCE=0 MODULE_AUTOBALANCE=0
MODULE_TRANSMOG=1 MODULE_TRANSMOG=0
MODULE_NPC_BUFFER=0 MODULE_NPC_BUFFER=0
# Gameplay Enhancement Modules # Gameplay Enhancement Modules
MODULE_DYNAMIC_XP=0 MODULE_DYNAMIC_XP=0
MODULE_SOLO_LFG=1 MODULE_SOLO_LFG=0
MODULE_1V1_ARENA=0 MODULE_1V1_ARENA=0
MODULE_PHASED_DUELS=0 MODULE_PHASED_DUELS=0
@@ -137,20 +137,20 @@ MODULE_ACCOUNT_ACHIEVEMENTS=0
# Additional Modules Found in Config # Additional Modules Found in Config
MODULE_AUTO_REVIVE=0 MODULE_AUTO_REVIVE=0
MODULE_GAIN_HONOR_GUARD=0 MODULE_GAIN_HONOR_GUARD=0
MODULE_ELUNA=1 MODULE_ELUNA=0
MODULE_ARAC=1 MODULE_ARAC=0
MODULE_TIME_IS_TIME=0 MODULE_TIME_IS_TIME=0
MODULE_POCKET_PORTAL=0 MODULE_POCKET_PORTAL=0
MODULE_RANDOM_ENCHANTS=0 MODULE_RANDOM_ENCHANTS=0
MODULE_SOLOCRAFT=0 MODULE_SOLOCRAFT=0
MODULE_PVP_TITLES=0 MODULE_PVP_TITLES=0
MODULE_NPC_BEASTMASTER=0 MODULE_NPC_BEASTMASTER=0
MODULE_NPC_ENCHANTER=1 MODULE_NPC_ENCHANTER=0
MODULE_INSTANCE_RESET=0 MODULE_INSTANCE_RESET=0
MODULE_LEVEL_GRANT=0 MODULE_LEVEL_GRANT=0
MODULE_ASSISTANT=1 MODULE_ASSISTANT=0
MODULE_REAGENT_BANK=1 MODULE_REAGENT_BANK=0
MODULE_BLACK_MARKET_AUCTION_HOUSE=1 MODULE_BLACK_MARKET_AUCTION_HOUSE=0
# ============================================== # ==============================================
# ADDITIONAL CONTAINER NAMES # ADDITIONAL CONTAINER NAMES

View File

@@ -53,8 +53,8 @@ KEIRA_DATABASE_PORT=3306
# DOCKER IMAGES # DOCKER IMAGES
# ============================================== # ==============================================
# mod-playerbots compatible tools container # mod-playerbots compatible tools container
AC_TOOLS_IMAGE=uprightbass360/azerothcore-wotlk-playerbots:tools-Playerbot AC_TOOLS_IMAGE_DISABLED=uprightbass360/azerothcore-wotlk-playerbots:tools-Playerbot
# AC_TOOLS_IMAGE=acore/ac-wotlk-tools:latest AC_TOOLS_IMAGE=acore/ac-wotlk-tools:latest
# ============================================== # ==============================================
# DEPLOYMENT CONFIGURATION # DEPLOYMENT CONFIGURATION

View File

@@ -504,6 +504,14 @@ main() {
sed -i "s#BACKUP_DAILY_TIME=.*#BACKUP_DAILY_TIME=${BACKUP_DAILY_TIME}#" docker-compose-azerothcore-database-custom.env sed -i "s#BACKUP_DAILY_TIME=.*#BACKUP_DAILY_TIME=${BACKUP_DAILY_TIME}#" docker-compose-azerothcore-database-custom.env
sed -i "s#TZ=.*#TZ=${TIMEZONE}#" docker-compose-azerothcore-database-custom.env sed -i "s#TZ=.*#TZ=${TIMEZONE}#" docker-compose-azerothcore-database-custom.env
# Toggle database images based on module selection
if [ "$MODULE_SELECTION_MODE" != "none" ]; then
# Swap AC_DB_IMPORT_IMAGE to enable mod-playerbots database
sed -i 's/\(AC_DB_IMPORT_IMAGE\)=\(.*\)/\1_TEMP=\2/' docker-compose-azerothcore-database-custom.env
sed -i 's/\(AC_DB_IMPORT_IMAGE\)_DISABLED=\(.*\)/\1=\2/' docker-compose-azerothcore-database-custom.env
sed -i 's/\(AC_DB_IMPORT_IMAGE\)_TEMP=\(.*\)/\1_DISABLED=\2/' docker-compose-azerothcore-database-custom.env
fi
# Create custom services environment file # Create custom services environment file
print_status "INFO" "Creating custom services environment file..." print_status "INFO" "Creating custom services environment file..."
cp docker-compose-azerothcore-services.env docker-compose-azerothcore-services-custom.env cp docker-compose-azerothcore-services.env docker-compose-azerothcore-services-custom.env
@@ -517,6 +525,22 @@ main() {
sed -i "s#SERVER_ADDRESS=.*#SERVER_ADDRESS=${SERVER_ADDRESS}#" docker-compose-azerothcore-services-custom.env sed -i "s#SERVER_ADDRESS=.*#SERVER_ADDRESS=${SERVER_ADDRESS}#" docker-compose-azerothcore-services-custom.env
sed -i "s#REALM_PORT=.*#REALM_PORT=${REALM_PORT}#" docker-compose-azerothcore-services-custom.env sed -i "s#REALM_PORT=.*#REALM_PORT=${REALM_PORT}#" docker-compose-azerothcore-services-custom.env
# Toggle Docker images based on module selection
if [ "$MODULE_SELECTION_MODE" != "none" ]; then
# Swap specific images that have _DISABLED variants
sed -i 's/\(AC_AUTHSERVER_IMAGE\)=\(.*\)/\1_TEMP=\2/' docker-compose-azerothcore-services-custom.env
sed -i 's/\(AC_AUTHSERVER_IMAGE\)_DISABLED=\(.*\)/\1=\2/' docker-compose-azerothcore-services-custom.env
sed -i 's/\(AC_AUTHSERVER_IMAGE\)_TEMP=\(.*\)/\1_DISABLED=\2/' docker-compose-azerothcore-services-custom.env
sed -i 's/\(AC_WORLDSERVER_IMAGE\)=\(.*\)/\1_TEMP=\2/' docker-compose-azerothcore-services-custom.env
sed -i 's/\(AC_WORLDSERVER_IMAGE\)_DISABLED=\(.*\)/\1=\2/' docker-compose-azerothcore-services-custom.env
sed -i 's/\(AC_WORLDSERVER_IMAGE\)_TEMP=\(.*\)/\1_DISABLED=\2/' docker-compose-azerothcore-services-custom.env
sed -i 's/\(AC_CLIENT_DATA_IMAGE\)=\(.*\)/\1_TEMP=\2/' docker-compose-azerothcore-services-custom.env
sed -i 's/\(AC_CLIENT_DATA_IMAGE\)_DISABLED=\(.*\)/\1=\2/' docker-compose-azerothcore-services-custom.env
sed -i 's/\(AC_CLIENT_DATA_IMAGE\)_TEMP=\(.*\)/\1_DISABLED=\2/' docker-compose-azerothcore-services-custom.env
fi
# Create custom tools environment file # Create custom tools environment file
print_status "INFO" "Creating custom tools environment file..." print_status "INFO" "Creating custom tools environment file..."
cp docker-compose-azerothcore-tools.env docker-compose-azerothcore-tools-custom.env cp docker-compose-azerothcore-tools.env docker-compose-azerothcore-tools-custom.env
@@ -524,6 +548,14 @@ main() {
# Substitute values in tools env file using a different delimiter # Substitute values in tools env file using a different delimiter
sed -i "s#STORAGE_ROOT=.*#STORAGE_ROOT=${STORAGE_ROOT}#" docker-compose-azerothcore-tools-custom.env sed -i "s#STORAGE_ROOT=.*#STORAGE_ROOT=${STORAGE_ROOT}#" docker-compose-azerothcore-tools-custom.env
# Toggle tools images based on module selection
if [ "$MODULE_SELECTION_MODE" != "none" ]; then
# Swap AC_TOOLS_IMAGE to enable mod-playerbots tools
sed -i 's/\(AC_TOOLS_IMAGE\)=\(.*\)/\1_TEMP=\2/' docker-compose-azerothcore-tools-custom.env
sed -i 's/\(AC_TOOLS_IMAGE\)_DISABLED=\(.*\)/\1=\2/' docker-compose-azerothcore-tools-custom.env
sed -i 's/\(AC_TOOLS_IMAGE\)_TEMP=\(.*\)/\1_DISABLED=\2/' docker-compose-azerothcore-tools-custom.env
fi
# Create custom modules environment file (only if modules are enabled) # Create custom modules environment file (only if modules are enabled)
if [ "$MODULE_SELECTION_MODE" != "none" ]; then if [ "$MODULE_SELECTION_MODE" != "none" ]; then
print_status "INFO" "Creating custom modules environment file..." print_status "INFO" "Creating custom modules environment file..."