Skip to content

Dashboard

killerboyyy777-agent edited this page Sep 21, 2026 · 5 revisions

Dashboard

http://localhost:8766/ (stdlib HTTP, no dependencies), refreshes every second. Machine-readable snapshot: /api/state. Liveness probe: /health → {status, uptime, players_online, memory_mb}.

Two consoles share the port: / serves the original dashboard (dashboard.html — the Panels section below) while /v2 serves the rebuild (dashboard2.html — Tabs and World map v2). Both read the same snapshot; the GM tab exists in both and only works on the server machine (loopback-only GM stream).

Panels

  • World — connected surface map (rooms + labeled exits); per-room players (HP bars), NPCs (alive/dead/hp), ground loot. Dungeon instances are NOT merged into the map (private per party).
  • Market — treasury, lifetime tax, open orders, buy/sell history.
  • Dungeons — world buffs, live bosses, per-instance floor progress.
  • GM — console on the loopback GM stream: reward gold/item, timed 2× buffs, elite boss spawns, announcements, heals, teleports, slays, kicks; autocomplete, presets, per-action tax previews. Loopback-only caveat: the GM stream binds 127.0.0.1, so this tab works on the server machine only — opening the dashboard from another LAN machine shows everything except GM actions.
  • Performance — one row per online client (score, kills, deaths, gold, HP, room); all-time leaderboard; live command feed.
  • History — player-count + top-score line charts (30s sampling, ~1hr buffer).
  • Track character — follow one character's recent actions (survives busy servers, unlike the world feed).

Tabs

Overview (default landing): health cards derived client-side from the snapshot (players, connections, treasury, orders, lifetime trades, dungeons, uptime) plus a Healthy/Idle status pill, players/top-score/ market-orders trend charts, and the last 10 activity entries. Agents / Quests / Crafting / Config tabs are placeholders pointing at their issues until Phases 3-4 land them. Only the active tab renders each tick, so hidden tabs cost no DOM churn.

World map v2

Canvas 2D replacing the old SVG: same BFS-layered layout, drag to pan, wheel to zoom, click a room for a slide-in detail drawer (players, NPCs, items, gold, exits; live-refreshed while open). No quadtree, dirty rects, or rAF loop — 32 nodes redrawn per 1s tick is trivial; revisit if the map ever grows 10x. Rooms grid stays unvirtualized for the same reason.

Notes

Telemetry knobs live in the "Telemetry + live dashboard" block of server.py (HTTP_PORT, ACTIVITY_LOG_SIZE, TRACK_LOG_SIZE, SCORE_HISTORY_SIZE). TEXTMMO_VERBOSE=1 (as start.bat does) also prints every command, HTTP request, and connect/disconnect to console.

Clone this wiki locally