Realms & games¶
Splintertree separates two concepts the original AzerothCore conflated:
- Game (
cluster.games) — the content silo. Each game has its own DBC bundle,world.*schema scope, base content, patch graph, and visual identity (icon colours, tagline). - Realm (
auth.realmlist) — the runtime instance the WoW client connects to. Every realm is bound to exactly one game viacluster.realm_game, which also tracks per-realm patch pinning.
/admin/games and /admin/realms give CRUD over both.
Games admin¶
- List view with name, slug, base version, current patch version, realm count, patch count, import status.
- Edit dialog: name, description, slug, target client build, owner account, visibility, base content reference, git sync mode, client build recipe (JSON), per-slot icon colours (primary / secondary / accent), tagline.
- "Import client" action runs the async base-data extraction (every
*.MPQunder the supplied path lands in<base_data>/<game_id>/). - Build pipeline: trigger a fresh build, view build-job history, rollback to a previous patch version, git-sync the game's upstream content repo.
- Per-realm patch pinning surface (which realm runs which patch).
Realms admin¶
auth.realmlistCRUD: name, address, port, icon (PvE/PvP/RP/RP-PvP), timezone (= region/locale code in AC convention),current_phase,flag(0 online, 4 locked, …).- Bind / unbind a realm to a game; only one game per realm.
- Online player count (live read of
characters.online). - Lock / unlock for maintenance windows.
Auth realmlist endpoint¶
GET /api/v1/launcher/auth-server returns
{ host, port } from auth.app_setting.launcher_auth_host /
launcher_auth_port. The launcher uses this to write realmlist.wtf
into every locale subdirectory in the WoW install before spawning
Wow.exe.