|
| 1 | +Toolbox Aid |
| 2 | +David Quesenberry |
| 3 | +04/06/2026 |
| 4 | +BUILD_PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD.md |
| 5 | + |
| 6 | +# BUILD_PR_DEBUG_SURFACES_NETWORK_SERVER_DASHBOARD |
| 7 | + |
| 8 | +## Build Summary |
| 9 | +Implemented Track T with a lightweight server dashboard for Sample A network telemetry using polling and read-only diagnostics. |
| 10 | + |
| 11 | +## Implemented |
| 12 | +1. Server-owned dashboard runtime |
| 13 | +- file: `games/network_sample_a/server/networkSampleADashboardServer.mjs` |
| 14 | +- HTTP routes: |
| 15 | + - `/admin/network-sample-a/dashboard` |
| 16 | + - `/admin/network-sample-a/api/metrics` |
| 17 | + - `/admin/network-sample-a/health` |
| 18 | + |
| 19 | +2. Data source integration |
| 20 | +- imports `games/network_sample_a/game/FakeLoopbackNetworkModel.js` |
| 21 | +- runs deterministic multi-player/session telemetry states |
| 22 | +- exposes per-player and summary metrics |
| 23 | + |
| 24 | +3. Metrics surfaced |
| 25 | +- player count |
| 26 | +- session count |
| 27 | +- connection state (summary + per player) |
| 28 | +- latency (summary + per player) |
| 29 | +- RX bytes (summary + per player) |
| 30 | +- TX bytes (summary + per player) |
| 31 | + |
| 32 | +4. Access gating |
| 33 | +- loopback-only access restriction |
| 34 | +- admin key gate via query/header |
| 35 | +- optional localhost bypass env flag for local debug |
| 36 | + |
| 37 | +5. Polling refresh |
| 38 | +- dashboard page polls JSON endpoint at configurable interval |
| 39 | +- no websocket dependency |
| 40 | + |
| 41 | +6. Reusability |
| 42 | +- separation between telemetry source, API response, and dashboard UI rendering |
| 43 | +- structure is ready for swapping fake data source with real networking source later |
| 44 | + |
| 45 | +## Scope Safety |
| 46 | +- no engine/core modifications |
| 47 | +- no DB/auth system expansion |
| 48 | +- no Track U containerization work |
| 49 | +- no BIG_PICTURE roadmap edits |
0 commit comments