mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-13 00:58:34 +00:00
277 lines
6.9 KiB
Markdown
277 lines
6.9 KiB
Markdown
# Blocked Modules - Complete Summary
|
|
|
|
**Last Updated:** 2025-11-14
|
|
**Status:** ✅ All blocked modules properly disabled
|
|
|
|
**Note:** This summary is historical. The authoritative block list lives in `config/module-manifest.json` (currently 94 modules marked `status: "blocked"`). This file and `docs/DISABLED_MODULES.md` should be reconciled during the next blocklist refresh.
|
|
|
|
---
|
|
|
|
## Summary
|
|
|
|
All modules with known compilation or linking issues have been:
|
|
1. ✅ **Blocked in manifest** with documented reasons
|
|
2. ✅ **Disabled in .env** (set to 0)
|
|
3. ✅ **Excluded from build** via module state generation
|
|
|
|
---
|
|
|
|
## Blocked Modules (8 Total)
|
|
|
|
### Build Failures - Compilation Errors (3)
|
|
|
|
#### 1. mod-azerothshard (MODULE_AZEROTHSHARD)
|
|
**Status:** 🔴 BLOCKED
|
|
**Category:** Compilation Error
|
|
**Issue:** Method name mismatch
|
|
|
|
**Error:**
|
|
```cpp
|
|
fatal error: no member named 'getLevel' in 'Player'; did you mean 'GetLevel'?
|
|
if (req <= pl->getLevel())
|
|
^~~~~~~~
|
|
GetLevel
|
|
```
|
|
|
|
**Root Cause:** Module uses lowercase method names instead of AzerothCore's PascalCase convention
|
|
|
|
**Fix Required:** Update all method calls to use correct casing
|
|
|
|
---
|
|
|
|
#### 2. mod-challenge-modes (MODULE_CHALLENGE_MODES)
|
|
**Status:** 🔴 BLOCKED
|
|
**Category:** Compilation Error
|
|
**Issue:** Override signature mismatch
|
|
|
|
**Error:**
|
|
```cpp
|
|
fatal error: only virtual member functions can be marked 'override'
|
|
void OnGiveXP(Player* player, uint32& amount, Unit* /*victim*/, uint8 /*xpSource*/) override
|
|
```
|
|
|
|
**Root Cause:** Method signature doesn't match base class - likely API change in AzerothCore
|
|
|
|
**Fix Required:** Update to match current PlayerScript hook signatures
|
|
|
|
---
|
|
|
|
#### 3. mod-quest-count-level (MODULE_LEVEL_GRANT)
|
|
**Status:** 🔴 BLOCKED
|
|
**Category:** Compilation Error
|
|
**Issue:** Uses removed API
|
|
|
|
**Details:** Uses `ConfigMgr::GetBoolDefault` which was removed from modern AzerothCore
|
|
|
|
**Fix Required:** Update to use current configuration API
|
|
|
|
---
|
|
|
|
### Build Failures - Linker Errors (2)
|
|
|
|
#### 4. mod-ahbot (MODULE_AHBOT)
|
|
**Status:** 🔴 BLOCKED
|
|
**Category:** Linker Error
|
|
**Issue:** Missing script loader function
|
|
|
|
**Error:**
|
|
```
|
|
undefined reference to 'Addmod_ahbotScripts()'
|
|
```
|
|
|
|
**Root Cause:** ModulesLoader expects `Addmod_ahbotScripts()` but function not defined
|
|
|
|
**Alternative:** ✅ Use **MODULE_LUA_AH_BOT=1** (Lua version works)
|
|
|
|
---
|
|
|
|
#### 5. azerothcore-lua-multivendor (MODULE_MULTIVENDOR)
|
|
**Status:** 🔴 BLOCKED
|
|
**Category:** Linker Error
|
|
**Issue:** Missing script loader function
|
|
|
|
**Error:**
|
|
```
|
|
undefined reference to 'Addazerothcore_lua_multivendorScripts()'
|
|
```
|
|
|
|
**Root Cause:** Module may be Lua-only but marked as C++ module
|
|
|
|
**Fix Required:** Check module type in manifest or implement C++ loader
|
|
|
|
---
|
|
|
|
### Known API Incompatibilities (3)
|
|
|
|
#### 6. mod-pocket-portal (MODULE_POCKET_PORTAL)
|
|
**Status:** 🔴 BLOCKED
|
|
**Category:** C++20 Requirement
|
|
**Issue:** Requires std::format support
|
|
|
|
**Details:** Module uses C++20 features not available in current build environment
|
|
|
|
**Fix Required:** Either upgrade compiler or refactor to use compatible C++ version
|
|
|
|
---
|
|
|
|
#### 7. StatBooster (MODULE_STATBOOSTER)
|
|
**Status:** 🔴 BLOCKED
|
|
**Category:** API Mismatch
|
|
**Issue:** Override signature mismatch on OnLootItem
|
|
|
|
**Details:** Hook signature doesn't match current AzerothCore API
|
|
|
|
**Fix Required:** Update to match current OnLootItem hook signature
|
|
|
|
---
|
|
|
|
#### 8. DungeonRespawn (MODULE_DUNGEON_RESPAWN)
|
|
**Status:** 🔴 BLOCKED
|
|
**Category:** API Mismatch
|
|
**Issue:** Override signature mismatch on OnBeforeTeleport
|
|
|
|
**Details:** Hook signature doesn't match current AzerothCore API
|
|
|
|
**Fix Required:** Update to match current OnBeforeTeleport hook signature
|
|
|
|
---
|
|
|
|
## Working Alternatives
|
|
|
|
Some blocked modules have working alternatives:
|
|
|
|
| Blocked Module | Working Alternative | Status |
|
|
|----------------|-------------------|--------|
|
|
| mod-ahbot (C++) | MODULE_LUA_AH_BOT=1 | ✅ Available |
|
|
|
|
---
|
|
|
|
## .env Configuration
|
|
|
|
All blocked modules are disabled:
|
|
|
|
```bash
|
|
# Build Failures - Compilation
|
|
MODULE_AZEROTHSHARD=0 # Method name mismatch
|
|
MODULE_CHALLENGE_MODES=0 # Override signature mismatch
|
|
MODULE_LEVEL_GRANT=0 # Removed API usage
|
|
|
|
# Build Failures - Linker
|
|
MODULE_AHBOT=0 # Missing script function (use lua version)
|
|
MODULE_MULTIVENDOR=0 # Missing script function
|
|
|
|
# API Incompatibilities
|
|
MODULE_POCKET_PORTAL=0 # C++20 requirement
|
|
MODULE_STATBOOSTER=0 # Hook signature mismatch
|
|
MODULE_DUNGEON_RESPAWN=0 # Hook signature mismatch
|
|
```
|
|
|
|
---
|
|
|
|
## Module Statistics
|
|
|
|
**Total Modules in Manifest:** ~93
|
|
**Blocked Modules:** 8 (8.6%)
|
|
**Available Modules:** 85 (91.4%)
|
|
|
|
### Breakdown by Category:
|
|
- 🔴 Compilation Errors: 3 modules
|
|
- 🔴 Linker Errors: 2 modules
|
|
- 🔴 API Incompatibilities: 3 modules
|
|
|
|
---
|
|
|
|
## Verification Status
|
|
|
|
✅ **All checks passed:**
|
|
|
|
- ✅ All blocked modules have `status: "blocked"` in manifest
|
|
- ✅ All blocked modules have documented `block_reason`
|
|
- ✅ All blocked modules are disabled in `.env` (=0)
|
|
- ✅ Module state regenerated excluding blocked modules
|
|
- ✅ Build will not attempt to compile blocked modules
|
|
|
|
---
|
|
|
|
## Build Process
|
|
|
|
With all problematic modules blocked, the build should proceed cleanly:
|
|
|
|
```bash
|
|
# 1. Clean any previous build artifacts
|
|
docker compose down
|
|
rm -rf local-storage/source/build
|
|
|
|
# 2. Module state is already generated (excluding blocked modules)
|
|
# Verify: cat local-storage/modules/modules.env | grep MODULES_ENABLED
|
|
|
|
# 3. Build
|
|
./build.sh --yes
|
|
```
|
|
|
|
**Expected Result:** Clean build with 85 working modules
|
|
|
|
---
|
|
|
|
## For Module Developers
|
|
|
|
If you want to help fix these modules:
|
|
|
|
### Quick Fixes (1-2 hours each):
|
|
|
|
1. **mod-azerothshard**: Search/replace `getLevel()` → `GetLevel()` and similar
|
|
2. **mod-level-grant**: Replace `ConfigMgr::GetBoolDefault` with current API
|
|
|
|
### Medium Fixes (4-8 hours each):
|
|
|
|
3. **mod-challenge-modes**: Update `OnGiveXP` signature to match current API
|
|
4. **StatBooster**: Update `OnLootItem` signature
|
|
5. **DungeonRespawn**: Update `OnBeforeTeleport` signature
|
|
|
|
### Complex Fixes (16+ hours each):
|
|
|
|
6. **mod-ahbot**: Debug why script loader function is missing or use Lua version
|
|
7. **mod-multivendor**: Determine if module should be Lua-only
|
|
8. **mod-pocket-portal**: Refactor C++20 features to C++17 or update build environment
|
|
|
|
---
|
|
|
|
## Testing After Fixes
|
|
|
|
If a module is fixed upstream:
|
|
|
|
```bash
|
|
# 1. Update the module repository
|
|
cd local-storage/staging/modules/mod-name
|
|
git pull
|
|
|
|
# 2. Update manifest (remove block)
|
|
# Edit config/module-manifest.json:
|
|
# Change: "status": "blocked"
|
|
# To: "status": "active"
|
|
|
|
# 3. Enable in .env
|
|
# Change: MODULE_NAME=0
|
|
# To: MODULE_NAME=1
|
|
|
|
# 4. Clean rebuild
|
|
docker compose down
|
|
rm -rf local-storage/source/build
|
|
./build.sh --yes
|
|
```
|
|
|
|
---
|
|
|
|
## Maintenance
|
|
|
|
This document should be updated when:
|
|
- Modules are fixed and unblocked
|
|
- New problematic modules are discovered
|
|
- AzerothCore API changes affect more modules
|
|
- Workarounds or alternatives are found
|
|
|
|
---
|
|
|
|
**Last Verification:** 2025-11-14
|
|
**Next Review:** After AzerothCore major API update
|