Sessions and server health
TelemetryWhat a session record holds, and what the heartbeat reports about each server.
#What a session holds
A session is posted when the player leaves, so it carries the whole visit in one record.
| Field | Meaning |
|---|---|
| username, uuid, bedrockXuid | Who the player is |
| identityType | premium_java, cracked_java, or bedrock |
| hostname | The address they connected through |
| serverName | Which server recorded the session |
| joinedAt, quitAt, durationSeconds | When it ran and how long |
| authConfirmedAt, authenticated | Whether a login was confirmed |
| sessionId | Your own id, used to make a retry safe |
#Heartbeats
Every connector posts a heartbeat on a fixed interval, ten seconds by default. It reports the online count, TPS, MSPT, and memory use for that one server, and it is what the Health page reads.
A server that stops sending heartbeats is shown as stale rather than removed.
#Replays and duplicates
The spool retries, so the API has to be safe against a second copy of the same event. A session carrying a sessionId you have already sent is recognised as a replay and answered with 200 rather than being stored twice. A ban carrying a repeated eventId behaves the same way.
If the same id arrives with different contents, the API answers 409 instead of overwriting what it already has.