mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-13 00:58:34 +00:00
setup fixes and filters
This commit is contained in:
@@ -12,7 +12,9 @@
|
|||||||
"config_cleanup": [
|
"config_cleanup": [
|
||||||
"playerbots.conf*"
|
"playerbots.conf*"
|
||||||
],
|
],
|
||||||
"category": "automation"
|
"category": "automation",
|
||||||
|
"order": 1,
|
||||||
|
"special_message": "🤖 Foundation module: Enables AI-powered companions for solo and group content"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "MODULE_AOE_LOOT",
|
"key": "MODULE_AOE_LOOT",
|
||||||
@@ -248,7 +250,9 @@
|
|||||||
"mod_eluna.conf*"
|
"mod_eluna.conf*"
|
||||||
],
|
],
|
||||||
"description": "Adds Eluna Lua scripting engine for creating custom gameplay mechanics",
|
"description": "Adds Eluna Lua scripting engine for creating custom gameplay mechanics",
|
||||||
"category": "scripting"
|
"category": "scripting",
|
||||||
|
"order": 9998,
|
||||||
|
"special_message": "⚡ Advanced scripting: Required by many Lua-based modules. Enable this first if you plan to use scripted features"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "MODULE_TIME_IS_TIME",
|
"key": "MODULE_TIME_IS_TIME",
|
||||||
@@ -547,7 +551,9 @@
|
|||||||
"notes": "Azeroth Interface Override - enables client-server interface communication",
|
"notes": "Azeroth Interface Override - enables client-server interface communication",
|
||||||
"post_install_hooks": [],
|
"post_install_hooks": [],
|
||||||
"description": "Pure Lua server-client communication system for bidirectional data transmission",
|
"description": "Pure Lua server-client communication system for bidirectional data transmission",
|
||||||
"category": "scripting"
|
"category": "scripting",
|
||||||
|
"order": 9999,
|
||||||
|
"special_message": "🌉 UI Bridge: Enables advanced client-server interfaces. Most users don't need this unless using AIO-based modules"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "MODULE_ELUNA_SCRIPTS",
|
"key": "MODULE_ELUNA_SCRIPTS",
|
||||||
|
|||||||
@@ -67,6 +67,8 @@ def cmd_metadata(manifest_path: str) -> None:
|
|||||||
notes = clean(entry.get("notes", ""))
|
notes = clean(entry.get("notes", ""))
|
||||||
description = clean(entry.get("description", ""))
|
description = clean(entry.get("description", ""))
|
||||||
category = clean(entry.get("category", ""))
|
category = clean(entry.get("category", ""))
|
||||||
|
special_message = clean(entry.get("special_message", ""))
|
||||||
|
repo = clean(entry.get("repo", ""))
|
||||||
print(
|
print(
|
||||||
"\t".join(
|
"\t".join(
|
||||||
[
|
[
|
||||||
@@ -80,6 +82,8 @@ def cmd_metadata(manifest_path: str) -> None:
|
|||||||
notes,
|
notes,
|
||||||
description,
|
description,
|
||||||
category,
|
category,
|
||||||
|
special_message,
|
||||||
|
repo,
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@@ -90,7 +94,11 @@ def cmd_sorted_keys(manifest_path: str) -> None:
|
|||||||
modules = list(iter_modules(manifest))
|
modules = list(iter_modules(manifest))
|
||||||
modules.sort(
|
modules.sort(
|
||||||
key=lambda item: (
|
key=lambda item: (
|
||||||
|
# Primary sort by order (default to 5000 if not specified)
|
||||||
|
item.get("order", 5000),
|
||||||
|
# Secondary sort by type
|
||||||
str(item.get("type", "")),
|
str(item.get("type", "")),
|
||||||
|
# Tertiary sort by name (case insensitive)
|
||||||
str(item.get("name", item.get("key", ""))).lower(),
|
str(item.get("name", item.get("key", ""))).lower(),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
42
setup.sh
42
setup.sh
@@ -200,7 +200,7 @@ unset __hc_key __hc_value
|
|||||||
# Route detection IP (not in template)
|
# Route detection IP (not in template)
|
||||||
readonly ROUTE_DETECTION_IP="1.1.1.1"
|
readonly ROUTE_DETECTION_IP="1.1.1.1"
|
||||||
|
|
||||||
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; BLUE='\033[0;34m'; MAGENTA='\033[0;35m'; NC='\033[0m'
|
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; BLUE='\033[0;34m'; MAGENTA='\033[0;35m'; CYAN='\033[0;36m'; BOLD='\033[1m'; NC='\033[0m'
|
||||||
say(){ local t=$1; shift; case "$t" in
|
say(){ local t=$1; shift; case "$t" in
|
||||||
INFO) echo -e "${BLUE}ℹ️ $*${NC}";;
|
INFO) echo -e "${BLUE}ℹ️ $*${NC}";;
|
||||||
SUCCESS) echo -e "${GREEN}✅ $*${NC}";;
|
SUCCESS) echo -e "${GREEN}✅ $*${NC}";;
|
||||||
@@ -364,6 +364,8 @@ declare -A MODULE_REQUIRES_MAP=()
|
|||||||
declare -A MODULE_NOTES_MAP=()
|
declare -A MODULE_NOTES_MAP=()
|
||||||
declare -A MODULE_DESCRIPTION_MAP=()
|
declare -A MODULE_DESCRIPTION_MAP=()
|
||||||
declare -A MODULE_CATEGORY_MAP=()
|
declare -A MODULE_CATEGORY_MAP=()
|
||||||
|
declare -A MODULE_SPECIAL_MESSAGE_MAP=()
|
||||||
|
declare -A MODULE_REPO_MAP=()
|
||||||
declare -A MODULE_DEFAULT_VALUES=()
|
declare -A MODULE_DEFAULT_VALUES=()
|
||||||
declare -A KNOWN_MODULE_LOOKUP=()
|
declare -A KNOWN_MODULE_LOOKUP=()
|
||||||
declare -A ENV_TEMPLATE_VALUES=()
|
declare -A ENV_TEMPLATE_VALUES=()
|
||||||
@@ -414,7 +416,7 @@ load_module_manifest_metadata() {
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
while IFS=$'\t' read -r key name needs_build module_type status block_reason requires notes description category; do
|
while IFS=$'\t' read -r key name needs_build module_type status block_reason requires notes description category special_message repo; do
|
||||||
[ -n "$key" ] || continue
|
[ -n "$key" ] || continue
|
||||||
# Convert placeholder back to empty string
|
# Convert placeholder back to empty string
|
||||||
[ "$block_reason" = "-" ] && block_reason=""
|
[ "$block_reason" = "-" ] && block_reason=""
|
||||||
@@ -422,6 +424,8 @@ load_module_manifest_metadata() {
|
|||||||
[ "$notes" = "-" ] && notes=""
|
[ "$notes" = "-" ] && notes=""
|
||||||
[ "$description" = "-" ] && description=""
|
[ "$description" = "-" ] && description=""
|
||||||
[ "$category" = "-" ] && category=""
|
[ "$category" = "-" ] && category=""
|
||||||
|
[ "$special_message" = "-" ] && special_message=""
|
||||||
|
[ "$repo" = "-" ] && repo=""
|
||||||
MODULE_NAME_MAP["$key"]="$name"
|
MODULE_NAME_MAP["$key"]="$name"
|
||||||
MODULE_NEEDS_BUILD_MAP["$key"]="$needs_build"
|
MODULE_NEEDS_BUILD_MAP["$key"]="$needs_build"
|
||||||
MODULE_TYPE_MAP["$key"]="$module_type"
|
MODULE_TYPE_MAP["$key"]="$module_type"
|
||||||
@@ -431,6 +435,8 @@ load_module_manifest_metadata() {
|
|||||||
MODULE_NOTES_MAP["$key"]="$notes"
|
MODULE_NOTES_MAP["$key"]="$notes"
|
||||||
MODULE_DESCRIPTION_MAP["$key"]="$description"
|
MODULE_DESCRIPTION_MAP["$key"]="$description"
|
||||||
MODULE_CATEGORY_MAP["$key"]="$category"
|
MODULE_CATEGORY_MAP["$key"]="$category"
|
||||||
|
MODULE_SPECIAL_MESSAGE_MAP["$key"]="$special_message"
|
||||||
|
MODULE_REPO_MAP["$key"]="$repo"
|
||||||
KNOWN_MODULE_LOOKUP["$key"]=1
|
KNOWN_MODULE_LOOKUP["$key"]=1
|
||||||
done < <(python3 "$MODULE_MANIFEST_HELPER" metadata "$MODULE_MANIFEST_PATH")
|
done < <(python3 "$MODULE_MANIFEST_HELPER" metadata "$MODULE_MANIFEST_PATH")
|
||||||
|
|
||||||
@@ -1064,6 +1070,7 @@ fi
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
local AC_AUTHSERVER_IMAGE_PLAYERBOTS_VALUE="$DEFAULT_AUTH_IMAGE_PLAYERBOTS"
|
local AC_AUTHSERVER_IMAGE_PLAYERBOTS_VALUE="$DEFAULT_AUTH_IMAGE_PLAYERBOTS"
|
||||||
local AC_WORLDSERVER_IMAGE_PLAYERBOTS_VALUE="$DEFAULT_WORLD_IMAGE_PLAYERBOTS"
|
local AC_WORLDSERVER_IMAGE_PLAYERBOTS_VALUE="$DEFAULT_WORLD_IMAGE_PLAYERBOTS"
|
||||||
local AC_AUTHSERVER_IMAGE_MODULES_VALUE="$DEFAULT_AUTH_IMAGE_MODULES"
|
local AC_AUTHSERVER_IMAGE_MODULES_VALUE="$DEFAULT_AUTH_IMAGE_MODULES"
|
||||||
@@ -1148,7 +1155,7 @@ fi
|
|||||||
["developer"]="🛠️ Developer Tools"
|
["developer"]="🛠️ Developer Tools"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Group modules by category
|
# Group modules by category using arrays
|
||||||
declare -A modules_by_category
|
declare -A modules_by_category
|
||||||
local key
|
local key
|
||||||
for key in "${selection_keys[@]}"; do
|
for key in "${selection_keys[@]}"; do
|
||||||
@@ -1167,12 +1174,29 @@ fi
|
|||||||
local module_list="${modules_by_category[$cat]:-}"
|
local module_list="${modules_by_category[$cat]:-}"
|
||||||
[ -n "$module_list" ] || continue
|
[ -n "$module_list" ] || continue
|
||||||
|
|
||||||
# Display category header
|
# Check if this category has any valid modules before showing header
|
||||||
|
local has_valid_modules=0
|
||||||
|
# Split the space-separated string properly
|
||||||
|
local -a module_array
|
||||||
|
IFS=' ' read -ra module_array <<< "$module_list"
|
||||||
|
for key in "${module_array[@]}"; do
|
||||||
|
[ -n "${KNOWN_MODULE_LOOKUP[$key]:-}" ] || continue
|
||||||
|
local status_lc="${MODULE_STATUS_MAP[$key],,}"
|
||||||
|
if [ -z "$status_lc" ] || [ "$status_lc" = "active" ]; then
|
||||||
|
has_valid_modules=1
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Skip category if no valid modules
|
||||||
|
[ "$has_valid_modules" = "1" ] || continue
|
||||||
|
|
||||||
|
# Display category header only when we have valid modules
|
||||||
local cat_title="${category_titles[$cat]:-$cat}"
|
local cat_title="${category_titles[$cat]:-$cat}"
|
||||||
printf '\n%b\n' "${BOLD}${CYAN}═══ ${cat_title} ═══${NC}"
|
printf '\n%b\n' "${BOLD}${CYAN}═══ ${cat_title} ═══${NC}"
|
||||||
|
|
||||||
# Process modules in this category
|
# Process modules in this category
|
||||||
for key in $module_list; do
|
for key in "${module_array[@]}"; do
|
||||||
[ -n "${KNOWN_MODULE_LOOKUP[$key]:-}" ] || continue
|
[ -n "${KNOWN_MODULE_LOOKUP[$key]:-}" ] || continue
|
||||||
local status_lc="${MODULE_STATUS_MAP[$key],,}"
|
local status_lc="${MODULE_STATUS_MAP[$key],,}"
|
||||||
if [ -n "$status_lc" ] && [ "$status_lc" != "active" ]; then
|
if [ -n "$status_lc" ] && [ "$status_lc" != "active" ]; then
|
||||||
@@ -1190,6 +1214,14 @@ fi
|
|||||||
if [ -n "$description" ]; then
|
if [ -n "$description" ]; then
|
||||||
printf '%b\n' "${BLUE}ℹ️ ${MODULE_NAME_MAP[$key]:-$key}: ${description}${NC}"
|
printf '%b\n' "${BLUE}ℹ️ ${MODULE_NAME_MAP[$key]:-$key}: ${description}${NC}"
|
||||||
fi
|
fi
|
||||||
|
local special_message="${MODULE_SPECIAL_MESSAGE_MAP[$key]:-}"
|
||||||
|
if [ -n "$special_message" ]; then
|
||||||
|
printf '%b\n' "${MAGENTA}💡 ${special_message}${NC}"
|
||||||
|
fi
|
||||||
|
local repo="${MODULE_REPO_MAP[$key]:-}"
|
||||||
|
if [ -n "$repo" ]; then
|
||||||
|
printf '%b\n' "${GREEN}🔗 ${repo}${NC}"
|
||||||
|
fi
|
||||||
local default_answer
|
local default_answer
|
||||||
default_answer="$(module_default "$key")"
|
default_answer="$(module_default "$key")"
|
||||||
local response
|
local response
|
||||||
|
|||||||
Reference in New Issue
Block a user