mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-13 00:58:34 +00:00
chore: updates modules and module updater
This commit is contained in:
@@ -707,3 +707,9 @@ MODULE_WOW_ELUNA_TS_MODULE=0
|
||||
MODULE_WOW_SERVER_RELAY=0
|
||||
MODULE_WOW_STATISTICS=0
|
||||
MODULE_WRATH_OF_THE_VANILLA=0
|
||||
MODULE_MOD_BOTS_LOGIN_FIX=0
|
||||
MODULE_MOD_MATERIAL_BANK=0
|
||||
MODULE_MOD_PROGRESSION_BLIZZLIKE=0
|
||||
MODULE_MOD_PYTHON_ENGINE=0
|
||||
MODULE_WRATH_OF_THE_VANILLA_V2=0
|
||||
MODULE_AZEROTHMCP=0
|
||||
|
||||
@@ -491,7 +491,7 @@
|
||||
"block_reason": "Runtime error: SQL error: MODULE_mod-black-market_creature.sql references removed 'StatsCount' column",
|
||||
"order": 5000,
|
||||
"config_cleanup": [],
|
||||
"notes": "Disabled due to runtime error: SQL error: MODULE_mod-black-market_creature.sql references removed 'StatsCount' column",
|
||||
"notes": "Disabled due to runtime error: SQL error: MODULE_mod-black-market_creature.sql references removed 'StatsCount' column \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"last_modified": "2025-06-26T14:23:47Z"
|
||||
},
|
||||
{
|
||||
@@ -1490,7 +1490,7 @@
|
||||
"description": "Module for WoW 3.3.5a (AzerothCore \u2013 Playerbots). Tested on Ubuntu.",
|
||||
"type": "cpp",
|
||||
"category": "database",
|
||||
"notes": "Disabled due to runtime error: MODULE_mod-guild-village_001_creature_template.sql tries to insert duplicate creature ID 987400 (ERROR 1062)",
|
||||
"notes": "Disabled due to runtime error: MODULE_mod-guild-village_001_creature_template.sql tries to insert duplicate creature ID 987400 (ERROR 1062) \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -1581,7 +1581,7 @@
|
||||
"description": "Module for WoW 3.3.5a (AzerothCore \u2013 Playerbots). Tested on Ubuntu.",
|
||||
"type": "cpp",
|
||||
"category": "database",
|
||||
"notes": "Disabled due to runtime error: MODULE_mod-instance-tools_Creature.sql tries to insert duplicate creature ID 987456-0 (ERROR 1062)",
|
||||
"notes": "Disabled due to runtime error: MODULE_mod-instance-tools_Creature.sql tries to insert duplicate creature ID 987456-0 (ERROR 1062) \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -1809,7 +1809,7 @@
|
||||
"description": "Hardcore trial mod for groups of 1-5",
|
||||
"type": "cpp",
|
||||
"category": "progression",
|
||||
"notes": "DISABLED: no member named 'isEmpty' in 'MapRefMgr'",
|
||||
"notes": "DISABLED: no member named 'isEmpty' in 'MapRefMgr' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -2005,7 +2005,7 @@
|
||||
"description": "AoE loot module for AzerothCore built from the ground up without loot loss. (No Loot Merging).",
|
||||
"type": "cpp",
|
||||
"category": "quality-of-life",
|
||||
"notes": "DISABLED: Naming conflict with Item class",
|
||||
"notes": "DISABLED: Naming conflict with Item class \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -2142,7 +2142,7 @@
|
||||
"description": "Adds Mist of Pandaria's Brawler's Guild to AzerothCore.",
|
||||
"type": "cpp",
|
||||
"category": "minigame",
|
||||
"notes": "DISABLED: no matching member function for call to 'DelayEvents'",
|
||||
"notes": "DISABLED: no matching member function for call to 'DelayEvents' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -2188,7 +2188,7 @@
|
||||
"description": "Mercado negro",
|
||||
"type": "cpp",
|
||||
"category": "database",
|
||||
"notes": "DISABLED: SQL schema mismatch - StatsCount column doesn't exist",
|
||||
"notes": "DISABLED: SQL schema mismatch - StatsCount column doesn't exist \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -2835,7 +2835,7 @@
|
||||
"description": "Prestige level system mod for Azerothcore",
|
||||
"type": "cpp",
|
||||
"category": "progression",
|
||||
"notes": "DISABLED: 'OnLogin' marked 'override' but does not override",
|
||||
"notes": "DISABLED: 'OnLogin' marked 'override' but does not override \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -2851,7 +2851,7 @@
|
||||
"description": "Adds extra difficulty modes, heavily inspired by mod-challenge-modes.",
|
||||
"type": "cpp",
|
||||
"category": "progression",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override'",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -2897,7 +2897,7 @@
|
||||
"description": "This module aims to make mounts, companions and heirlooms shared across all characters of an account",
|
||||
"type": "cpp",
|
||||
"category": "account-wide",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override'",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3141,7 +3141,7 @@
|
||||
"description": "An Azeroth Core module to allow the display of the Breaking News section on the character select screen.",
|
||||
"type": "cpp",
|
||||
"category": "social",
|
||||
"notes": "DISABLED: no member named 'StringFormatFmt' in namespace 'Acore'",
|
||||
"notes": "DISABLED: no member named 'StringFormatFmt' in namespace 'Acore' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3172,7 +3172,7 @@
|
||||
"description": "This WoW-Azerothcore-Mod allows to change spawntimes based on a userdefined or dynamically calculated playerbased factor",
|
||||
"type": "cpp",
|
||||
"category": "progression",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override'",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3188,7 +3188,7 @@
|
||||
"description": "This mod allows noclip with a command noclip. on / off",
|
||||
"type": "cpp",
|
||||
"category": "admin",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override'",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3249,7 +3249,7 @@
|
||||
"description": "AzerothCore port (as a Module) of Rochet2's Objscale",
|
||||
"type": "cpp",
|
||||
"category": "progression",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override'",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3311,7 +3311,7 @@
|
||||
"description": "An AzerothCore module that recycles unwanted items to the auction house.",
|
||||
"type": "cpp",
|
||||
"category": "economy",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override'",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3342,7 +3342,7 @@
|
||||
"description": "AzerothCore module that adds a random attribute book.",
|
||||
"type": "cpp",
|
||||
"category": "admin",
|
||||
"notes": "DISABLED: 'OnLogin' marked 'override' but does not override",
|
||||
"notes": "DISABLED: 'OnLogin' marked 'override' but does not override \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3358,7 +3358,7 @@
|
||||
"description": "AzerothCore module that allows prestige at max level.",
|
||||
"type": "cpp",
|
||||
"category": "progression",
|
||||
"notes": "DISABLED: use of undeclared identifier 'sSpellMgr'",
|
||||
"notes": "DISABLED: use of undeclared identifier 'sSpellMgr' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3405,7 +3405,7 @@
|
||||
"description": "An Azeroth Core module that adds alternative XP gains.",
|
||||
"type": "cpp",
|
||||
"category": "progression",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override'",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3437,7 +3437,7 @@
|
||||
"description": "Ensures all party members have matching faction before queueing into battleground.",
|
||||
"type": "cpp",
|
||||
"category": "pvp",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override'",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3484,7 +3484,7 @@
|
||||
"description": "AzerothCore custom module which allows filtering traded items",
|
||||
"type": "cpp",
|
||||
"category": "economy",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override'",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3500,7 +3500,7 @@
|
||||
"description": "This module allows you to search for quests by ID, which gives you greater precision in your search.",
|
||||
"type": "cpp",
|
||||
"category": "scripting",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override'",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3516,7 +3516,7 @@
|
||||
"description": "PvPScript for Azerothcore",
|
||||
"type": "cpp",
|
||||
"category": "pvp",
|
||||
"notes": "DISABLED: no member named 'SendNotification' in 'WorldSession'",
|
||||
"notes": "DISABLED: no member named 'SendNotification' in 'WorldSession' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3532,7 +3532,7 @@
|
||||
"description": "Broadcasts items with the ITEM_FLAG_REPORT_TO_GUILD_CHAT flag to guild chat.",
|
||||
"type": "cpp",
|
||||
"category": "scripting",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override'",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3548,7 +3548,7 @@
|
||||
"description": "Fixes FFA for safe zones.",
|
||||
"type": "cpp",
|
||||
"category": "content",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override'",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3564,7 +3564,7 @@
|
||||
"description": "AzerothCore Interconnect",
|
||||
"type": "cpp",
|
||||
"category": "tooling",
|
||||
"notes": "DISABLED: no member named 'StringFormatFmt' in namespace 'Acore'",
|
||||
"notes": "DISABLED: no member named 'StringFormatFmt' in namespace 'Acore' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3708,7 +3708,7 @@
|
||||
"description": "Module for Azerothcore to teleport players to with a command",
|
||||
"type": "cpp",
|
||||
"category": "quality-of-life",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override'",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3739,7 +3739,7 @@
|
||||
"description": "Adds a re-roll item for StatBooster bonus stat.",
|
||||
"type": "cpp",
|
||||
"category": "rewards",
|
||||
"notes": "DISABLED: 'StatBoostMgr.h' file not found",
|
||||
"notes": "DISABLED: 'StatBoostMgr.h' file not found \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3835,7 +3835,7 @@
|
||||
"description": "All-In-One Solution module to easily enable features for new players",
|
||||
"type": "cpp",
|
||||
"category": "progression",
|
||||
"notes": "DISABLED: no member named 'getLevel'; did you mean 'GetLevel'?",
|
||||
"notes": "DISABLED: no member named 'getLevel'; did you mean 'GetLevel'? \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3851,7 +3851,7 @@
|
||||
"description": "Custom scipts and modules for Azerothcore",
|
||||
"type": "cpp",
|
||||
"category": "scripting",
|
||||
"notes": "DISABLED: no member named 'PQuery' / 'outString' in Log",
|
||||
"notes": "DISABLED: no member named 'PQuery' / 'outString' in Log \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3899,7 +3899,7 @@
|
||||
"description": "",
|
||||
"type": "cpp",
|
||||
"category": "content",
|
||||
"notes": "DISABLED: Missing config identifier",
|
||||
"notes": "DISABLED: Missing config identifier \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3915,7 +3915,7 @@
|
||||
"description": "Pushes server and player events into an influxdb instance.",
|
||||
"type": "cpp",
|
||||
"category": "scripting",
|
||||
"notes": "DISABLED: Build fails - requires CURL library (missing: CURL_LIBRARY CURL_INCLUDE_DIR)",
|
||||
"notes": "DISABLED: Build fails - requires CURL library (missing: CURL_LIBRARY CURL_INCLUDE_DIR) \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"block_reason": "CMake Error: Could NOT find CURL",
|
||||
"order": 5000,
|
||||
@@ -3931,7 +3931,7 @@
|
||||
"description": "Spell Regulator module for AzerothCore",
|
||||
"type": "cpp",
|
||||
"category": "scripting",
|
||||
"notes": "DISABLED: redefinition of 'AddSpellRegulatorScripts'",
|
||||
"notes": "DISABLED: redefinition of 'AddSpellRegulatorScripts' \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3947,7 +3947,7 @@
|
||||
"description": "Module for Azerothcore",
|
||||
"type": "cpp",
|
||||
"category": "progression",
|
||||
"notes": "DISABLED: 'ChatHandler' is an incomplete type",
|
||||
"notes": "DISABLED: 'ChatHandler' is an incomplete type \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -3979,7 +3979,7 @@
|
||||
"description": "WIP reward system for AC ingame shop",
|
||||
"type": "cpp",
|
||||
"category": "economy",
|
||||
"notes": "DISABLED: API incompatibility - ConfigMgr missing GetIntDefault method",
|
||||
"notes": "DISABLED: API incompatibility - ConfigMgr missing GetIntDefault method \nDiscovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -4149,7 +4149,7 @@
|
||||
"description": "ACore CMS based on Wordpress",
|
||||
"type": "tool",
|
||||
"category": "tooling",
|
||||
"notes": "Disabled due to runtime error: Table 'acore_auth.acore_cms_subscriptions' doesn't exist - causes server abort",
|
||||
"notes": "Disabled due to runtime error: Table 'acore_auth.acore_cms_subscriptions' doesn't exist - causes server abort \nDiscovered via GitHub topic 'azerothcore-tools'",
|
||||
"status": "blocked",
|
||||
"block_reason": "Runtime error: Missing database table",
|
||||
"order": 5000,
|
||||
@@ -5065,7 +5065,7 @@
|
||||
"description": "",
|
||||
"type": "lua",
|
||||
"category": "scripting",
|
||||
"notes": "DISABLED: Git clone fails with 'unknown switch E' error - likely due to hyphen in repo name",
|
||||
"notes": "DISABLED: Git clone fails with 'unknown switch E' error - likely due to hyphen in repo name \nDiscovered via GitHub topic 'azerothcore-lua'",
|
||||
"status": "blocked",
|
||||
"block_reason": "Git clone error: unknown switch 'E'",
|
||||
"order": 5000,
|
||||
@@ -5233,7 +5233,7 @@
|
||||
"description": "This module adds thematically appropriate green and blue loot drops to ALL 450 Classic rares in Kalimdor and the Eastern Kingdoms.",
|
||||
"type": "sql",
|
||||
"category": "database",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override'",
|
||||
"notes": "DISABLED: only virtual member functions can be marked 'override' \nDiscovered via GitHub topic 'azerothcore-sql'",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
@@ -5391,6 +5391,90 @@
|
||||
"post_install_hooks": [],
|
||||
"config_cleanup": [],
|
||||
"last_modified": "2020-12-16T18:26:39Z"
|
||||
},
|
||||
{
|
||||
"key": "MODULE_MOD_BOTS_LOGIN_FIX",
|
||||
"name": "mod-bots-login-fix",
|
||||
"repo": "https://github.com/BeardBear33/mod-bots-login-fix.git",
|
||||
"description": "Oprava duplicitn\u00edho p\u0159ipojen\u00ed na AltBota pro modul Playerbots. // Fix for duplicate connections to an AltBot for the Playerbots module.",
|
||||
"type": "cpp",
|
||||
"category": "uncategorized",
|
||||
"notes": "Discovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "active",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
"post_install_hooks": [],
|
||||
"config_cleanup": []
|
||||
},
|
||||
{
|
||||
"key": "MODULE_MOD_MATERIAL_BANK",
|
||||
"name": "mod-material-bank",
|
||||
"repo": "https://github.com/BeardBear33/mod-material-bank.git",
|
||||
"description": "Module for WoW 3.3.5a (AzerothCore \u2013 Playerbots). Tested on Ubuntu.",
|
||||
"type": "cpp",
|
||||
"category": "uncategorized",
|
||||
"notes": "Discovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "active",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
"post_install_hooks": [],
|
||||
"config_cleanup": []
|
||||
},
|
||||
{
|
||||
"key": "MODULE_MOD_PROGRESSION_BLIZZLIKE",
|
||||
"name": "mod-progression-blizzlike",
|
||||
"repo": "https://github.com/kambire/mod-progression-blizzlike.git",
|
||||
"description": "Modular progression system for AzerothCore built around brackets (Vanilla/TBC/WotLK + Arena seasons). Each enabled bracket can load its own C++ scripts and SQL updates.",
|
||||
"type": "cpp",
|
||||
"category": "uncategorized",
|
||||
"notes": "Discovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "active",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
"post_install_hooks": [],
|
||||
"config_cleanup": []
|
||||
},
|
||||
{
|
||||
"key": "MODULE_MOD_PYTHON_ENGINE",
|
||||
"name": "mod-python-engine",
|
||||
"repo": "https://github.com/privatecore/mod-python-engine.git",
|
||||
"description": "A Python Scripting Engine module for AzerothCore",
|
||||
"type": "cpp",
|
||||
"category": "uncategorized",
|
||||
"notes": "Discovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "active",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
"post_install_hooks": [],
|
||||
"config_cleanup": []
|
||||
},
|
||||
{
|
||||
"key": "MODULE_WRATH_OF_THE_VANILLA_V2",
|
||||
"name": "wrath-of-the-vanilla-v2",
|
||||
"repo": "https://github.com/Hextv/wrath-of-the-vanilla-v2.git",
|
||||
"description": "Project that focuses on turning a server running AzerothCore into one limited to the original (vanilla) content.",
|
||||
"type": "sql",
|
||||
"category": "database",
|
||||
"notes": "Discovered via GitHub topic 'azerothcore-module'",
|
||||
"status": "active",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
"post_install_hooks": [],
|
||||
"config_cleanup": []
|
||||
},
|
||||
{
|
||||
"key": "MODULE_AZEROTHMCP",
|
||||
"name": "azerothMCP",
|
||||
"repo": "https://github.com/blinkysc/azerothMCP.git",
|
||||
"description": "MCP server for AzerothCore",
|
||||
"type": "tool",
|
||||
"category": "tooling",
|
||||
"notes": "Discovered via GitHub topic 'azerothcore-tools' Not directly related to runtime functionality of AzerothCore",
|
||||
"status": "blocked",
|
||||
"order": 5000,
|
||||
"requires": [],
|
||||
"post_install_hooks": [],
|
||||
"config_cleanup": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -467,6 +467,7 @@ load_sql_helper(){
|
||||
# Module SQL is now staged at runtime by stage-modules.sh which copies files to
|
||||
# /azerothcore/data/sql/updates/ (core directory) where they ARE scanned and processed.
|
||||
|
||||
|
||||
track_module_state(){
|
||||
echo 'Checking for module changes that require rebuild...'
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ import re
|
||||
import sys
|
||||
import time
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
from typing import Dict, Iterable, List, Optional, Sequence
|
||||
from urllib import error, parse, request
|
||||
|
||||
@@ -87,6 +88,16 @@ def parse_args(argv: Sequence[str]) -> argparse.Namespace:
|
||||
action="store_true",
|
||||
help="Print verbose progress information",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--update-template",
|
||||
default=".env.template",
|
||||
help="Update .env.template with missing module variables (default: %(default)s)",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--skip-template",
|
||||
action="store_true",
|
||||
help="Skip updating .env.template",
|
||||
)
|
||||
return parser.parse_args(argv)
|
||||
|
||||
|
||||
@@ -273,6 +284,82 @@ def collect_repositories(
|
||||
return list(seen.values())
|
||||
|
||||
|
||||
def update_env_template(manifest_path: str, template_path: str) -> bool:
|
||||
"""Update .env.template with missing module variables.
|
||||
|
||||
Args:
|
||||
manifest_path: Path to the module manifest JSON file
|
||||
template_path: Path to .env.template file
|
||||
|
||||
Returns:
|
||||
True if template was updated, False if no changes needed
|
||||
"""
|
||||
# Load manifest to get all module keys
|
||||
manifest = load_manifest(manifest_path)
|
||||
modules = manifest.get("modules", [])
|
||||
if not modules:
|
||||
return False
|
||||
|
||||
# Extract all module keys
|
||||
module_keys = set()
|
||||
for module in modules:
|
||||
key = module.get("key")
|
||||
if key:
|
||||
module_keys.add(key)
|
||||
|
||||
if not module_keys:
|
||||
return False
|
||||
|
||||
# Check if template file exists
|
||||
template_file = Path(template_path)
|
||||
if not template_file.exists():
|
||||
print(f"Warning: .env.template not found at {template_path}")
|
||||
return False
|
||||
|
||||
# Read current template content
|
||||
try:
|
||||
current_content = template_file.read_text(encoding="utf-8")
|
||||
current_lines = current_content.splitlines()
|
||||
except Exception as exc:
|
||||
print(f"Error reading .env.template: {exc}")
|
||||
return False
|
||||
|
||||
# Find which module variables are missing
|
||||
existing_vars = set()
|
||||
for line in current_lines:
|
||||
line = line.strip()
|
||||
if "=" in line and not line.startswith("#"):
|
||||
var_name = line.split("=", 1)[0].strip()
|
||||
existing_vars.add(var_name)
|
||||
|
||||
missing_vars = module_keys - existing_vars
|
||||
if not missing_vars:
|
||||
print("✅ All module variables present in .env.template")
|
||||
return False
|
||||
|
||||
# Add missing variables to the end of the file
|
||||
print(f"📝 Adding {len(missing_vars)} missing module variable(s) to .env.template:")
|
||||
|
||||
# Sort missing vars for consistent output
|
||||
sorted_missing = sorted(missing_vars)
|
||||
|
||||
# Prepare new content
|
||||
new_lines = current_lines[:]
|
||||
for var in sorted_missing:
|
||||
new_lines.append(f"{var}=0")
|
||||
print(f" • {var}=0")
|
||||
|
||||
# Write updated content
|
||||
try:
|
||||
new_content = "\n".join(new_lines) + "\n"
|
||||
template_file.write_text(new_content, encoding="utf-8")
|
||||
print("✅ .env.template updated successfully")
|
||||
return True
|
||||
except Exception as exc:
|
||||
print(f"Error writing .env.template: {exc}")
|
||||
return False
|
||||
|
||||
|
||||
def main(argv: Sequence[str]) -> int:
|
||||
args = parse_args(argv)
|
||||
topics = args.topics or DEFAULT_TOPICS
|
||||
@@ -291,6 +378,13 @@ def main(argv: Sequence[str]) -> int:
|
||||
handle.write("\n")
|
||||
|
||||
print(f"Updated manifest {args.manifest}: added {added}, refreshed {updated}")
|
||||
|
||||
# Update .env.template if requested and we have changes
|
||||
if not args.skip_template and (added > 0 or updated > 0):
|
||||
template_updated = update_env_template(args.manifest, args.update_template)
|
||||
if template_updated:
|
||||
print(f"Updated {args.update_template} with new module variables")
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user