Phase 72.5.2.1 adds @v2/realtime-player-count-dashboard, an operational
dashboard surface for concurrent players by region, game mode, and platform. The
policy is v2-realtime-player-count-dashboard-v1.
buildV2RealtimePlayerCountDashboardSurface consumes player-count segment
samples, deduplicates them by timestamp plus region/mode/platform, keeps the
latest sample per segment, and emits a current dashboard snapshot. The surface
uses @iris/analytics-realtime for realtime widgets and spike alerts while V2
owns the player-count semantics.
Operator Surface#
The dashboard starts with the current total concurrent player count, then breaks the same live sample set down by region, game mode, and platform. The surface also carries matchmaking and in-match totals so operations can distinguish a population spike from a queueing issue.
Freshness is explicit:
fresh: the newest segment sample is within the configured staleness window.stale: the dashboard can render the last known counts, but the feed is old.empty: no player-count samples were available, so totals remain zero.
The service intentionally emits a dense operational model rather than a marketing-style hero page. Any rendered UI should preserve the first-screen priority order: total concurrent players, freshness, region table, game-mode table, platform table, and alerts.
Verification#
Targeted verification:
pnpm --filter @v2/realtime-player-count-dashboard run typecheck
pnpm --filter @v2/realtime-player-count-dashboard run test
python V2/ue/Tools/check-v2-realtime-player-count-dashboard.py
python -m json.tool V2/ue/Build/Telemetry/v2-realtime-player-count-dashboard.json