How giean/newbwotlk works
NewbCORE is a C++ World of Warcraft: Wrath of the Lich King emulator derived from TrinityCore. A client-facing session is handled by the world server, which runs the game world and its gameplay systems; the auth server provides a separate login service. Game state and character data are backed by database pools, while map and collision components support world simulation. The README describes the product broadly, and the sampled sources show only parts of the runtime; unsampled subsystem links are omitted rather than inferred.
Main entry points: MapManager.cpp Map Manager · DatabaseEnv.h Database Pools · QueryHandler.cpp Query Handlers · Main.cpp World Server
Components 21
Server Runtime
- Auth Server
src/server/authserver/Main.cpp - World Server
src/server/worldserver/Main.cpp - World Session
src/server/game/Server/WorldSession.h
Game World
- World Manager
src/server/game/World/World.h - Player State
src/server/game/Entities/Player/Player.h - Unit Combat
src/server/game/Entities/Unit/Unit.h - Query Handlers
src/server/game/Handlers/QueryHandler.cpp - Object Access
src/server/game/Globals/ObjectAccessor.h - Object Manager
src/server/game/Globals/ObjectMgr.h
Persistence
- Stored Loot
src/server/game/Loot/LootItemStorage.cpp - Database Pools
src/server/database/Database/DatabaseEnv.h
World Data
- Map Manager
src/server/game/Maps/MapManager.cpp - VMap Collision
src/common/Collision/Management/VMapManager2.cpp - MMap Navigation
src/common/Collision/Management/MMapManager.cpp - Navmesh Queries
dep/recastnavigation/Detour/Source/DetourNavMeshQuery.cpp
Shared Foundations
- Common Types
src/common/Common.h - Platform Defines
src/common/Define.h - Logging
src/common/Logging/Log.h - Object GUIDs
src/server/game/Entities/Object/ObjectGuid.h - Memory Management
dep/g3dlite/include/G3D/MemoryManager.h
Other components
- Game Client
Connections 26
- Game Client → World Server: connects to
- World Server → World Session: serves sessions
- World Server → Database Pools: initializes
src/server/worldserver/Main.cpp - World Server → Map Manager: initializes
src/server/worldserver/Main.cpp - World Session → Query Handlers: dispatches queries
src/server/game/Handlers/QueryHandler.cpp - Query Handlers → Database Pools: queries
src/server/game/Handlers/QueryHandler.cpp - Query Handlers → Object Manager: looks up data
src/server/game/Handlers/QueryHandler.cpp - Query Handlers → Map Manager: looks up maps
src/server/game/Handlers/QueryHandler.cpp - Query Handlers → Object Access: looks up objects
src/server/game/Handlers/QueryHandler.cpp - Map Manager → Database Pools: loads state
src/server/game/Maps/MapManager.cpp - Map Manager → Object Access: accesses objects
src/server/game/Maps/MapManager.cpp - Map Manager → Object Manager: uses world data
src/server/game/Maps/MapManager.cpp - Stored Loot → Database Pools: loads and saves
src/server/game/Loot/LootItemStorage.cpp - Stored Loot → Player State: allows looters
src/server/game/Loot/LootItemStorage.cpp - Stored Loot → Object Manager: uses item data
src/server/game/Loot/LootItemStorage.cpp - VMap Collision → Map Manager: supports map collision
- MMap Navigation → Map Manager: supports navigation
- Navmesh Queries → MMap Navigation: queries navmesh
- World Manager → Player State: manages players
- Player State → Unit Combat: inherits behavior
src/server/game/Entities/Player/Player.h - Object Access → Object GUIDs: indexes by GUID
src/server/game/Globals/ObjectAccessor.h - Common Types → Platform Defines: includes
src/common/Common.h - Logging → Platform Defines: includes
src/common/Logging/Log.h - Database Pools → Platform Defines: includes
src/server/database/Database/DatabaseEnv.h - Memory Management → Platform Defines: uses platform definitions
- Auth Server → Database Pools: authenticates accounts