mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-13 00:58:34 +00:00
fix: missing mod-playerbots module process
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -15,3 +15,4 @@ node_modules/
|
|||||||
.env
|
.env
|
||||||
package-lock.json
|
package-lock.json
|
||||||
package.json
|
package.json
|
||||||
|
.modules_state
|
||||||
@@ -61,6 +61,9 @@ Options:
|
|||||||
--keep-running Do not pre-stop runtime stack before rebuild
|
--keep-running Do not pre-stop runtime stack before rebuild
|
||||||
--skip-rebuild Skip source rebuild even if modules require it
|
--skip-rebuild Skip source rebuild even if modules require it
|
||||||
--yes, -y Auto-confirm deployment and rebuild prompts
|
--yes, -y Auto-confirm deployment and rebuild prompts
|
||||||
|
--watch-logs Tail worldserver logs even if --no-watch was set earlier
|
||||||
|
--log-tail LINES Override WORLD_LOG_TAIL (number of log lines to show)
|
||||||
|
--once Run status checks once (alias for --no-watch)
|
||||||
-h, --help Show this help
|
-h, --help Show this help
|
||||||
|
|
||||||
This command automates the module workflow: sync modules, rebuild source if needed,
|
This command automates the module workflow: sync modules, rebuild source if needed,
|
||||||
|
|||||||
@@ -225,14 +225,20 @@ fi
|
|||||||
|
|
||||||
echo 'Installing enabled modules...'
|
echo 'Installing enabled modules...'
|
||||||
|
|
||||||
# Playerbots handling - integrated into custom AzerothCore branch
|
# Playerbots handling - integrated into uprightbass360 AzerothCore fork
|
||||||
if [ "$MODULE_PLAYERBOTS" = "1" ]; then
|
if [ "$MODULE_PLAYERBOTS" = "1" ] && [ ! -d "mod-playerbots" ]; then
|
||||||
echo '🤖 Playerbots module enabled...'
|
echo '🤖 Installing mod-playerbots module (required for uprightbass360 images)...'
|
||||||
echo ' 📖 Playerbots are integrated into the uprightbass360/azerothcore-wotlk-playerbots source'
|
echo ' 📖 Project: https://github.com/mod-playerbots/mod-playerbots'
|
||||||
echo ' ℹ️ No separate module repository needed - functionality built into core'
|
echo ' ℹ️ Core C++ functionality built into uprightbass360/azerothcore-wotlk-playerbots images'
|
||||||
echo ' 🔧 REBUILD REQUIRED: Container must be rebuilt with playerbots source'
|
echo ' 🗄️ Installing SQL schemas, configurations, and database structure'
|
||||||
|
echo ' 🔧 Module provides: DBC tables, bot names, AI configs, travel nodes, etc.'
|
||||||
echo ' 📋 POST-INSTALL: Requires manual account/character configuration'
|
echo ' 📋 POST-INSTALL: Requires manual account/character configuration'
|
||||||
# No git clone needed - playerbots are integrated into the source tree
|
|
||||||
|
# Clone the official mod-playerbots module for SQL and configuration files
|
||||||
|
git clone https://github.com/mod-playerbots/mod-playerbots.git mod-playerbots
|
||||||
|
|
||||||
|
echo ' ✅ mod-playerbots module installed successfully'
|
||||||
|
echo ' 📊 Module contains SQL for 3 databases: world, characters, playerbots'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install AOE Loot if enabled
|
# Install AOE Loot if enabled
|
||||||
@@ -723,6 +729,7 @@ REBUILD_REQUIRED=0
|
|||||||
# Create current module state hash
|
# Create current module state hash
|
||||||
for module_var in MODULE_PLAYERBOTS MODULE_AOE_LOOT MODULE_LEARN_SPELLS MODULE_FIREWORKS MODULE_INDIVIDUAL_PROGRESSION MODULE_AHBOT MODULE_AUTOBALANCE MODULE_TRANSMOG MODULE_NPC_BUFFER MODULE_DYNAMIC_XP MODULE_SOLO_LFG MODULE_1V1_ARENA MODULE_PHASED_DUELS MODULE_BREAKING_NEWS MODULE_BOSS_ANNOUNCER MODULE_ACCOUNT_ACHIEVEMENTS MODULE_AUTO_REVIVE MODULE_GAIN_HONOR_GUARD MODULE_ELUNA MODULE_TIME_IS_TIME MODULE_POCKET_PORTAL MODULE_RANDOM_ENCHANTS MODULE_SOLOCRAFT MODULE_PVP_TITLES MODULE_NPC_BEASTMASTER MODULE_NPC_ENCHANTER MODULE_INSTANCE_RESET MODULE_LEVEL_GRANT MODULE_ARAC MODULE_ASSISTANT MODULE_REAGENT_BANK MODULE_BLACK_MARKET_AUCTION_HOUSE MODULE_CHALLENGE_MODES MODULE_OLLAMA_CHAT MODULE_PLAYER_BOT_LEVEL_BRACKETS MODULE_STATBOOSTER MODULE_DUNGEON_RESPAWN MODULE_SKELETON_MODULE MODULE_BG_SLAVERYVALLEY MODULE_AZEROTHSHARD MODULE_WORGOBLIN MODULE_ELUNA_TS; do
|
for module_var in MODULE_PLAYERBOTS MODULE_AOE_LOOT MODULE_LEARN_SPELLS MODULE_FIREWORKS MODULE_INDIVIDUAL_PROGRESSION MODULE_AHBOT MODULE_AUTOBALANCE MODULE_TRANSMOG MODULE_NPC_BUFFER MODULE_DYNAMIC_XP MODULE_SOLO_LFG MODULE_1V1_ARENA MODULE_PHASED_DUELS MODULE_BREAKING_NEWS MODULE_BOSS_ANNOUNCER MODULE_ACCOUNT_ACHIEVEMENTS MODULE_AUTO_REVIVE MODULE_GAIN_HONOR_GUARD MODULE_ELUNA MODULE_TIME_IS_TIME MODULE_POCKET_PORTAL MODULE_RANDOM_ENCHANTS MODULE_SOLOCRAFT MODULE_PVP_TITLES MODULE_NPC_BEASTMASTER MODULE_NPC_ENCHANTER MODULE_INSTANCE_RESET MODULE_LEVEL_GRANT MODULE_ARAC MODULE_ASSISTANT MODULE_REAGENT_BANK MODULE_BLACK_MARKET_AUCTION_HOUSE MODULE_CHALLENGE_MODES MODULE_OLLAMA_CHAT MODULE_PLAYER_BOT_LEVEL_BRACKETS MODULE_STATBOOSTER MODULE_DUNGEON_RESPAWN MODULE_SKELETON_MODULE MODULE_BG_SLAVERYVALLEY MODULE_AZEROTHSHARD MODULE_WORGOBLIN MODULE_ELUNA_TS; do
|
||||||
eval "value=\$$module_var"
|
eval "value=\$$module_var"
|
||||||
|
value="${value:-0}"
|
||||||
CURRENT_STATE="$CURRENT_STATE$module_var=$value|"
|
CURRENT_STATE="$CURRENT_STATE$module_var=$value|"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
@@ -175,8 +175,12 @@ fi
|
|||||||
|
|
||||||
SOURCE_COMPOSE="$REBUILD_SOURCE_PATH/docker-compose.yml"
|
SOURCE_COMPOSE="$REBUILD_SOURCE_PATH/docker-compose.yml"
|
||||||
if [ ! -f "$SOURCE_COMPOSE" ]; then
|
if [ ! -f "$SOURCE_COMPOSE" ]; then
|
||||||
echo "❌ Source docker-compose.yml not found at $SOURCE_COMPOSE"
|
if [ -f "$REBUILD_SOURCE_PATH/apps/docker/docker-compose.yml" ]; then
|
||||||
exit 1
|
SOURCE_COMPOSE="$REBUILD_SOURCE_PATH/apps/docker/docker-compose.yml"
|
||||||
|
else
|
||||||
|
echo "❌ Source docker-compose.yml not found at $REBUILD_SOURCE_PATH (checked $SOURCE_COMPOSE and apps/docker/docker-compose.yml)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
declare -A MODULE_REPO_MAP=(
|
declare -A MODULE_REPO_MAP=(
|
||||||
|
|||||||
58
setup.sh
58
setup.sh
@@ -407,6 +407,7 @@ Options:
|
|||||||
--auto-rebuild-on-deploy Enable automatic rebuild during deploys
|
--auto-rebuild-on-deploy Enable automatic rebuild during deploys
|
||||||
--run-rebuild-now Trigger module rebuild after setup completes
|
--run-rebuild-now Trigger module rebuild after setup completes
|
||||||
--modules-rebuild-source PATH Source checkout used for module rebuilds
|
--modules-rebuild-source PATH Source checkout used for module rebuilds
|
||||||
|
--deploy-after Run ./deploy.sh automatically after setup completes
|
||||||
--force Overwrite existing .env without prompting
|
--force Overwrite existing .env without prompting
|
||||||
EOF
|
EOF
|
||||||
exit 0
|
exit 0
|
||||||
@@ -567,6 +568,10 @@ EOF
|
|||||||
FORCE_OVERWRITE=1
|
FORCE_OVERWRITE=1
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
--deploy-after)
|
||||||
|
CLI_DEPLOY_AFTER=1
|
||||||
|
shift
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown argument: $1" >&2
|
echo "Unknown argument: $1" >&2
|
||||||
echo "Use --help for usage" >&2
|
echo "Use --help for usage" >&2
|
||||||
@@ -1125,7 +1130,7 @@ fi
|
|||||||
if [ ! -f "$rebuild_source_path/docker-compose.yml" ]; then
|
if [ ! -f "$rebuild_source_path/docker-compose.yml" ]; then
|
||||||
say INFO "Preparing source repository via scripts/setup-source.sh (progress will stream below)"
|
say INFO "Preparing source repository via scripts/setup-source.sh (progress will stream below)"
|
||||||
if ! ( set -o pipefail; ./scripts/setup-source.sh 2>&1 | while IFS= read -r line; do
|
if ! ( set -o pipefail; ./scripts/setup-source.sh 2>&1 | while IFS= read -r line; do
|
||||||
say INFO "[setup-source] $line"
|
say INFO "[setup-source]" "$line"
|
||||||
done ); then
|
done ); then
|
||||||
say WARNING "Source setup encountered issues; running interactively."
|
say WARNING "Source setup encountered issues; running interactively."
|
||||||
if ! ./scripts/setup-source.sh; then
|
if ! ./scripts/setup-source.sh; then
|
||||||
@@ -1167,10 +1172,14 @@ fi
|
|||||||
# Run module staging script in local modules directory
|
# Run module staging script in local modules directory
|
||||||
# Set environment variable to indicate we're running locally
|
# Set environment variable to indicate we're running locally
|
||||||
export MODULES_LOCAL_RUN=1
|
export MODULES_LOCAL_RUN=1
|
||||||
|
if [ -n "$host_modules_dir" ]; then
|
||||||
|
mkdir -p "$host_modules_dir"
|
||||||
|
rm -f "$host_modules_dir/.modules_state" "$host_modules_dir/.requires_rebuild" 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
|
||||||
if (cd "$local_modules_dir" && bash "$SCRIPT_DIR/scripts/manage-modules.sh"); then
|
if (cd "$local_modules_dir" && bash "$SCRIPT_DIR/scripts/manage-modules.sh"); then
|
||||||
say SUCCESS "Module repositories staged to $local_modules_dir"
|
say SUCCESS "Module repositories staged to $local_modules_dir"
|
||||||
if [ -n "$host_modules_dir" ]; then
|
if [ -n "$host_modules_dir" ]; then
|
||||||
mkdir -p "$host_modules_dir"
|
|
||||||
if [ -f "$local_modules_dir/.modules_state" ]; then
|
if [ -f "$local_modules_dir/.modules_state" ]; then
|
||||||
cp "$local_modules_dir/.modules_state" "$host_modules_dir/.modules_state" 2>/dev/null || true
|
cp "$local_modules_dir/.modules_state" "$host_modules_dir/.modules_state" 2>/dev/null || true
|
||||||
fi
|
fi
|
||||||
@@ -1366,6 +1375,32 @@ NETWORK_SUBNET=$DEFAULT_NETWORK_SUBNET
|
|||||||
NETWORK_GATEWAY=$DEFAULT_NETWORK_GATEWAY
|
NETWORK_GATEWAY=$DEFAULT_NETWORK_GATEWAY
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
local storage_abs_path="$STORAGE_PATH"
|
||||||
|
if [[ "$storage_abs_path" != /* ]]; then
|
||||||
|
storage_abs_path="$(pwd)/${storage_abs_path#./}"
|
||||||
|
fi
|
||||||
|
local host_modules_dir="${storage_abs_path}/modules"
|
||||||
|
mkdir -p "$host_modules_dir"
|
||||||
|
|
||||||
|
local -a MODULE_STATE_VARS=(
|
||||||
|
MODULE_PLAYERBOTS MODULE_AOE_LOOT MODULE_LEARN_SPELLS MODULE_FIREWORKS MODULE_INDIVIDUAL_PROGRESSION
|
||||||
|
MODULE_AHBOT MODULE_AUTOBALANCE MODULE_TRANSMOG MODULE_NPC_BUFFER MODULE_DYNAMIC_XP MODULE_SOLO_LFG
|
||||||
|
MODULE_1V1_ARENA MODULE_PHASED_DUELS MODULE_BREAKING_NEWS MODULE_BOSS_ANNOUNCER MODULE_ACCOUNT_ACHIEVEMENTS
|
||||||
|
MODULE_AUTO_REVIVE MODULE_GAIN_HONOR_GUARD MODULE_ELUNA MODULE_TIME_IS_TIME MODULE_POCKET_PORTAL
|
||||||
|
MODULE_RANDOM_ENCHANTS MODULE_SOLOCRAFT MODULE_PVP_TITLES MODULE_NPC_BEASTMASTER MODULE_NPC_ENCHANTER
|
||||||
|
MODULE_INSTANCE_RESET MODULE_LEVEL_GRANT MODULE_ARAC MODULE_ASSISTANT MODULE_REAGENT_BANK
|
||||||
|
MODULE_BLACK_MARKET_AUCTION_HOUSE MODULE_CHALLENGE_MODES MODULE_OLLAMA_CHAT MODULE_PLAYER_BOT_LEVEL_BRACKETS
|
||||||
|
MODULE_STATBOOSTER MODULE_DUNGEON_RESPAWN MODULE_SKELETON_MODULE MODULE_BG_SLAVERYVALLEY MODULE_AZEROTHSHARD
|
||||||
|
MODULE_WORGOBLIN MODULE_ELUNA_TS
|
||||||
|
)
|
||||||
|
local module_state_string=""
|
||||||
|
for module_state_var in "${MODULE_STATE_VARS[@]}"; do
|
||||||
|
local module_value="${!module_state_var:-0}"
|
||||||
|
module_state_string+="${module_state_var}=${module_value}|"
|
||||||
|
done
|
||||||
|
printf '%s' "$module_state_string" > "${host_modules_dir}/.modules_state"
|
||||||
|
rm -f "${host_modules_dir}/.requires_rebuild" 2>/dev/null || true
|
||||||
|
|
||||||
say SUCCESS ".env written to $ENV_OUT"
|
say SUCCESS ".env written to $ENV_OUT"
|
||||||
show_realm_configured
|
show_realm_configured
|
||||||
|
|
||||||
@@ -1387,11 +1422,22 @@ EOF
|
|||||||
|
|
||||||
say INFO "Ready to bring your realm online:"
|
say INFO "Ready to bring your realm online:"
|
||||||
if [ "$MODULE_PLAYERBOTS" = "1" ]; then
|
if [ "$MODULE_PLAYERBOTS" = "1" ]; then
|
||||||
echo " 🚀 Quick deploy: ./deploy.sh"
|
printf ' 🚀 Quick deploy: ./deploy.sh\n'
|
||||||
echo " 🔧 Manual: docker compose --profile db --profile services-playerbots --profile client-data-bots --profile modules up -d"
|
printf ' 🔧 Manual: docker compose --profile db --profile services-playerbots --profile client-data-bots --profile modules up -d\n'
|
||||||
else
|
else
|
||||||
echo " 🚀 Quick deploy: ./deploy.sh"
|
printf ' 🚀 Quick deploy: ./deploy.sh\n'
|
||||||
echo " 🔧 Manual: docker compose --profile db --profile services-standard --profile client-data --profile modules up -d"
|
printf ' 🔧 Manual: docker compose --profile db --profile services-standard --profile client-data --profile modules up -d\n'
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${CLI_DEPLOY_AFTER:-0}" = "1" ]; then
|
||||||
|
local deploy_args=(bash "./deploy.sh" --yes)
|
||||||
|
if [ "$MODULE_PLAYERBOTS" != "1" ]; then
|
||||||
|
deploy_args+=(--profile standard)
|
||||||
|
fi
|
||||||
|
say INFO "Launching deploy after setup (--deploy-after enabled)"
|
||||||
|
if ! "${deploy_args[@]}"; then
|
||||||
|
say WARNING "Automatic deploy failed; please run ./deploy.sh manually."
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user