How jealous-sound/azerothcore-wotlk-coa works
AzerothCore is a modular World of Warcraft 3.3.5a MMORPG server framework. A player connects through the game client; the server handles session requests and runs world, character, combat, and loot behavior, returning game state to clients and persisting relevant data. The README documents customization through modules. The sampled code confirms query packet handling, grid terrain/object loading, threat management, player persistence, and stored-loot database operations; broader gameplay subsystems are represented at their enclosing source directory because their implementation was not sampled.
Main entry points: MapGridManager.cpp Maps and grids · QueryHandler.cpp World session · game World runtime · PlayerStorage.cpp Player state
Components 15
Client interface
- WoW client
- World session
src/server/game/Handlers/QueryHandler.cpp - World queries
src/server/game/Handlers/QueryHandler.cpp
World runtime
- World runtime
src/server/game - Maps and grids
src/server/game/Grids/MapGridManager.cpp - Terrain loading
src/server/game/Grids/MapGridManager.cpp - World objects
src/server/game/Grids/MapGridManager.cpp
Gameplay systems
- Player state
src/server/game/Entities/Player/PlayerStorage.cpp - Combat and threat
src/server/game/Combat/ThreatManager.cpp - Loot handling
src/server/game/Loot/LootItemStorage.cpp
Persistence and extensions
- Character database
src/server/game/Entities/Player/PlayerStorage.cpp - Stored loot
src/server/game/Loot/LootItemStorage.cpp - World data
src/server/game - Custom modules
modules
Other components
- Player
Connections 10
- Player → WoW client: plays through
- WoW client → World session: sends packets
- World session → World queries: dispatches queries
- World queries → WoW client: sends responses
- World runtime → Maps and grids: manages maps
- Maps and grids → Terrain loading: loads terrain
- Maps and grids → World objects: loads objects
- Player state → Character database: executes persistence
- Loot handling → Stored loot: stores and loads
- Custom modules → World runtime: extends server