Worker failure causes
UnavailableFixed reason codes for failed worker exits. Temporary retries and pending joins are separate; no raw errors or account identities are shown.
Waiting includes authentication, joins, and reconnects; it is not a Roblox queue position. Account file updates every 15 seconds.
Fresh means a valid decrypted datagram accepted by transport within 10 seconds, sampled about once per second. Target verification checks the requested join target. A loaded marker does not prove an avatar is rendered, and fresh traffic does not prove complete decoding or remote receipt.
Fixed reason codes for failed worker exits. Temporary retries and pending joins are separate; no raw errors or account identities are shown.
Recognized candidates are the moving observer's current matched plus filtered candidates, not every received entity. Projected rows are the current visible moving rows; neither count means an alert was written.
Pending responses do not establish a confirmed full server. Counts cover current join waits and can decrease when workers leave that phase.
Totals accumulate across visits; they do not reset on a rejoin. Incomplete packets and reader accept errors remain visible. Message counts are not UDP byte counts.
Fixed JSON-shape categories only. No rejected values or raw payloads are displayed. Shape and reason counts describe the same rejected items and must not be added together.
Scanner frame receipts record local socket-write success, not an application acknowledgement. Issue gauges describe the latest live scanners and are unavailable when no scanner is live. Zero writes alone does not identify a filtering, data, or delivery cause.
Coverage flags unavailable.
| Endpoint | Connection | Plot frames / entries | Moving frames / entries | Written bytes | Write failures | Queue rejects | Unwritten drops |
|---|
Endpoints are anonymous 1–4. A frame is counted only after a successful WebSocket send/flush; the receiver supplies no application ACK. Frames and entries are separate counts. Failures, queue rejections, and drops are endpoint totals across both frame kinds. Dropped copies include stale, expired, or cancelled unwritten work. Counters last for this shared pool and reset when it restarts; endpoint snapshots are not atomic. A disconnected endpoint can retain earlier successful writes.
CPU is calculated from /proc/stat tick differences. RAM is MemTotal − MemAvailable, including every service on this host.
Service CPU includes its child processes. RSS covers only the main process; cgroup memory also includes children and charged cache.
Systemd unit IP accounting includes game, HTTP, and WebSocket traffic. These are IP-accounting bytes, not game-only or Ethernet totals. The separate panel service is excluded. Unsupported accounting, counter resets, and the first rate sample appear as —.