mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-13 00:58:34 +00:00
Introduce dynamic overrides and rename module manifest
This commit is contained in:
27
setup.sh
27
setup.sh
@@ -68,11 +68,12 @@ declare -A TEMPLATE_VALUE_MAP=(
|
||||
[DEFAULT_AUTH_PORT]=AUTH_EXTERNAL_PORT
|
||||
[DEFAULT_SOAP_PORT]=SOAP_EXTERNAL_PORT
|
||||
[DEFAULT_MYSQL_PORT]=MYSQL_EXTERNAL_PORT
|
||||
[DEFAULT_MYSQL_EXPOSE_PORT]=MYSQL_EXPOSE_PORT
|
||||
[DEFAULT_PLAYERBOT_MIN]=PLAYERBOT_MIN_BOTS
|
||||
[DEFAULT_PLAYERBOT_MAX]=PLAYERBOT_MAX_BOTS
|
||||
[DEFAULT_LOCAL_STORAGE]=STORAGE_PATH
|
||||
[DEFAULT_BACKUP_PATH]=BACKUP_PATH
|
||||
[DEFAULT_COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED]=COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED
|
||||
[DEFAULT_COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED]=COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED
|
||||
[PERMISSION_LOCAL_USER]=DEFAULT_PERMISSION_LOCAL_USER
|
||||
[PERMISSION_NFS_USER]=DEFAULT_PERMISSION_NFS_USER
|
||||
[DEFAULT_CUSTOM_UID]=DEFAULT_CUSTOM_UID
|
||||
@@ -351,7 +352,7 @@ EOF
|
||||
# Module metadata / defaults
|
||||
# ==============================
|
||||
|
||||
MODULE_MANIFEST_PATH="$SCRIPT_DIR/config/modules.json"
|
||||
MODULE_MANIFEST_PATH="$SCRIPT_DIR/config/module-manifest.json"
|
||||
MODULE_MANIFEST_HELPER="$SCRIPT_DIR/scripts/setup_manifest.py"
|
||||
MODULE_PROFILES_HELPER="$SCRIPT_DIR/scripts/setup_profiles.py"
|
||||
ENV_TEMPLATE_FILE="$SCRIPT_DIR/.env.template"
|
||||
@@ -576,7 +577,7 @@ Options:
|
||||
--backup-retention-hours N Hourly backup retention (default 6)
|
||||
--backup-daily-time HH Daily backup hour 00-23 (default 09)
|
||||
--module-mode MODE suggested, playerbots, manual, or none
|
||||
--module-config NAME Use preset NAME from profiles/<NAME>.json
|
||||
--module-config NAME Use preset NAME from config/module-profiles/<NAME>.json
|
||||
--enable-modules LIST Comma-separated module list (MODULE_* or shorthand)
|
||||
--playerbot-enabled 0|1 Override PLAYERBOT_ENABLED flag
|
||||
--playerbot-min-bots N Override PLAYERBOT_MIN_BOTS value
|
||||
@@ -935,7 +936,7 @@ fi
|
||||
declare -A MODULE_PRESET_LABELS=()
|
||||
declare -A MODULE_PRESET_DESCRIPTIONS=()
|
||||
declare -A MODULE_PRESET_ORDER=()
|
||||
local CONFIG_DIR="$SCRIPT_DIR/profiles"
|
||||
local CONFIG_DIR="$SCRIPT_DIR/config/module-profiles"
|
||||
if [ ! -x "$MODULE_PROFILES_HELPER" ]; then
|
||||
say ERROR "Profile helper not found or not executable at $MODULE_PROFILES_HELPER"
|
||||
exit 1
|
||||
@@ -953,7 +954,7 @@ fi
|
||||
local missing_presets=0
|
||||
for required_preset in "$DEFAULT_PRESET_SUGGESTED" "$DEFAULT_PRESET_PLAYERBOTS"; do
|
||||
if [ -z "${MODULE_PRESET_CONFIGS[$required_preset]:-}" ]; then
|
||||
say ERROR "Missing module preset profiles/${required_preset}.json"
|
||||
say ERROR "Missing module preset config/module-profiles/${required_preset}.json"
|
||||
missing_presets=1
|
||||
fi
|
||||
done
|
||||
@@ -1036,7 +1037,7 @@ fi
|
||||
else
|
||||
pretty_name=$(echo "$preset_name" | tr '_-' ' ' | awk '{for(i=1;i<=NF;i++){$i=toupper(substr($i,1,1)) substr($i,2)}}1')
|
||||
fi
|
||||
echo "${menu_index}) ${pretty_name} (profiles/${preset_name}.json)"
|
||||
echo "${menu_index}) ${pretty_name} (config/module-profiles/${preset_name}.json)"
|
||||
MENU_PRESET_INDEX[$menu_index]="$preset_name"
|
||||
menu_index=$((menu_index + 1))
|
||||
done
|
||||
@@ -1454,7 +1455,8 @@ fi
|
||||
HOST_ZONEINFO_PATH=${HOST_ZONEINFO_PATH:-$DEFAULT_HOST_ZONEINFO_PATH}
|
||||
MYSQL_INNODB_REDO_LOG_CAPACITY=${MYSQL_INNODB_REDO_LOG_CAPACITY:-$DEFAULT_MYSQL_INNODB_REDO_LOG_CAPACITY}
|
||||
MYSQL_RUNTIME_TMPFS_SIZE=${MYSQL_RUNTIME_TMPFS_SIZE:-$DEFAULT_MYSQL_RUNTIME_TMPFS_SIZE}
|
||||
MYSQL_EXPOSE_PORT=${MYSQL_EXPOSE_PORT:-$DEFAULT_MYSQL_EXPOSE_PORT}
|
||||
COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED=${COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED:-$DEFAULT_COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED}
|
||||
COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED=${COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED:-$DEFAULT_COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED}
|
||||
MYSQL_DISABLE_BINLOG=${MYSQL_DISABLE_BINLOG:-$DEFAULT_MYSQL_DISABLE_BINLOG}
|
||||
MYSQL_CONFIG_DIR=${MYSQL_CONFIG_DIR:-$DEFAULT_MYSQL_CONFIG_DIR}
|
||||
CLIENT_DATA_PATH=${CLIENT_DATA_PATH:-$DEFAULT_CLIENT_DATA_PATH}
|
||||
@@ -1502,6 +1504,12 @@ fi
|
||||
cat <<EOF
|
||||
# Generated by ac-compose/setup.sh
|
||||
|
||||
# Compose overrides (set to 1 to include matching file under compose-overrides/)
|
||||
# mysql-expose.yml -> exposes MySQL externally via COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED
|
||||
# worldserver-debug-logging.yml -> raises log verbosity via COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED
|
||||
COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED=$COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED
|
||||
COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED=$COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED
|
||||
|
||||
COMPOSE_PROJECT_NAME=$DEFAULT_COMPOSE_PROJECT_NAME
|
||||
|
||||
STORAGE_PATH=$STORAGE_PATH
|
||||
@@ -1514,9 +1522,8 @@ MYSQL_IMAGE=$DEFAULT_MYSQL_IMAGE
|
||||
MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
|
||||
MYSQL_ROOT_HOST=$DEFAULT_MYSQL_ROOT_HOST
|
||||
MYSQL_USER=$DEFAULT_MYSQL_USER
|
||||
MYSQL_PORT=$DEFAULT_MYSQL_INTERNAL_PORT
|
||||
MYSQL_EXTERNAL_PORT=$MYSQL_EXTERNAL_PORT
|
||||
MYSQL_EXPOSE_PORT=${MYSQL_EXPOSE_PORT:-$DEFAULT_MYSQL_EXPOSE_PORT}
|
||||
MYSQL_PORT=$DEFAULT_MYSQL_INTERNAL_PORT
|
||||
MYSQL_EXTERNAL_PORT=$MYSQL_EXTERNAL_PORT
|
||||
MYSQL_DISABLE_BINLOG=${MYSQL_DISABLE_BINLOG:-$DEFAULT_MYSQL_DISABLE_BINLOG}
|
||||
MYSQL_CONFIG_DIR=${MYSQL_CONFIG_DIR:-$DEFAULT_MYSQL_CONFIG_DIR}
|
||||
MYSQL_CHARACTER_SET=$DEFAULT_MYSQL_CHARACTER_SET
|
||||
|
||||
Reference in New Issue
Block a user