Track how players interact with your game through focused operational views for usage, storage, generations, users, universes, and purchases. Monitoring is visible in navigation, and data sections are scoped to games owned by the signed-in account.
Monitoring sections stay visible so creators know where operational data will live. If the signed-in account has no hosted games, each section shows an empty-state panel instead of hiding the route.
| View | What it shows |
|---|---|
| Usage | Credit debits, request tokens, provider cost, billable cost, the active billing multiplier, and usage breakdowns by game or model. |
| Storage | Database JSON and blob storage by category, game, and user, including image storage, universe JSON, MDL logs, MGPT logs, workspace assets, workspace content, and releases. |
| Generations | Unified text + special-scene image requests with filters for text-only, image-only, or both. Includes request metadata, response payloads, provider details, compare tabs, and image previews/reasoning where available. |
| Users | Players tied to your hosted games, including sign-in-only players. |
| Universes | Saved games — browse every saved step, inspect the full snapshot JSON, download JSON or text exports. |
| Purchases | Per-attempt traces spanning checkout creation, post-checkout confirmation, and Stripe webhook processing. |
All views can be filtered to a specific hosted game, but they each land on the same focused surface.
For MGPT-backed story steps, diagnostics split ownership explicitly. The server waterfall shows MDL-owned work: auth, access checks, the HTTP call to MGPT labeled mgpt_backend_roundtrip (wrapper time on the MDL host), parse/apply, response build, and background persist/usage/log flush. A separate MGPT section shows MGPT-owned stages returned inline by the model backend (storage load, hosted prompt assembly, message windowing, validation, and inner provider HTTP). The MDL wrapper is always larger than or equal to inner provider time because it includes network and MGPT server work. Rows without MGPT inline diagnostics show mgpt.status = missing: only the wrapper remains reliable; do not treat MDL stage names as a substitute for MGPT internals. RPC or transport failures before a valid model payload are recorded as mgpt.status = error with an error message (distinct from missing, which still indicates a successful HTTP round trip without inline MGPT diagnostics).
A universe is a player's save. Each universe tracks the current story state, full turn history, and runtime context. Players can have multiple universes (save slots).
The state count tells you how much a player has engaged — 50 states means about 50 turns played in that playthrough.
You only see monitoring data for games you own. Player data is private to the game creator, and accounts without hosted games see the hosted-game requirement state for each section.
Monitoring is available for hosted games backed by Postgres. It currently does not show individual player transcripts, detailed funnel analytics, or real-time sessions.