Skip to content

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.*_template filters 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.