In-game overlay

What it renders

Every marker layer the overlay paints, what data it comes from, and the visual style.

LayerSourceVisual
Selfstate.team.members[0] from the relayGreen circle with white ring
Teamrest of state.team.membersBlue circle, dimmed when offline
Eventsstate.mapMarkers.markers (cargo / heli / chinook)Orange circle with pulse ring
DeathsMapNote rows with category: 'death' (auto-created by the detector)Red cross, fades over 30 min
Tagsother MapNote rowsTriangle, colour from the tag's category
Train tunnels/api/overlay/poi filtered monumentsCyan diamond
Other POIssame endpointCyan square outline

Live updates

The overlay holds one WebSocket against the relay at wss://.../v1?token=<jwt>. As events flow on the relay (team move, event appeared, death, etc), the overlay re-renders the canvas. Network latency is typically <100ms.

Coordinate system

The overlay normalises Rust+ world coordinates to its viewport using the server's map size (worldSize). Re-renders are device-pixel-ratio aware so the dots stay crisp on hi-dpi displays.

What it does NOT render

  • Smart Switch / Smart Alarm icons — v1 keeps the overlay event-focused; device state lives in the dashboard.
  • Vending machine markers — same reason.
  • A full minimap base — the overlay is markers-on-blank-canvas by default. v2 will optionally pull the relay's normalised map tile.