Phases & rollout¶
Splintertree's phase system lets a designer ship a 14-phase content rollout (Vanilla → Naxxramas, TBC → Sunwell, WotLK → Ruby Sanctum) and bind each phase to specific realms.
Concepts¶
- Phase (
world.phase_pool+world.phase) — a group of content unlocks (raids, dungeons, faction grinds, items available, world bosses spawned). Phases are designed once at the game level and reused per realm. - Pool — an ordered list of phases used as the default rollout for any realm bound to the game.
- Per-realm override (
auth.realmlist.current_phase) — the operator can pin a specific realm to a non-default phase (e.g. "always-current" PvP realm vs progression PvE realm).
Designer surface¶
/admin/design/phases (per-game):
- Phase list with index, name, description, content unlocks summary.
- Per-phase editor:
- Identity — id, name, description, default unlock date, pre-unlock teaser flag.
- Unlocked content — toggleable list of:
- Raids / dungeons
- Faction grinds (rep cap, vendor unlocks)
- Items (per-quality threshold or per-set)
- NPCs (world bosses, faction PvP NPCs)
- Quests (world events, faction quests)
- BG / arena seasons
- Reorder phases via drag-drop within the pool.
Rollout pipeline¶
- Phase activation does not require a server restart. The world
worker subscribes to phase-rollout NATS events and reloads the
affected
world.*_templatefilters in place. - Operators can preview a phase in a designer-only realm before unlocking it on the live realm.
Per-realm override¶
Under Realms admin, each realm row has a "current phase" picker that overrides the game's default pool position. A realm pinned to phase 1 gets vanilla-only content even if the game's default pool is on phase 7.