Session Status
Session status combines what the session host announces with what the game itself reports, and shows the result on the dashboard and moderator panel.
Two sources
- Host phase — set by a session host, either from the moderator panel's Session Status tool or by running one of the
/session*commands. - Game heartbeat — sent every few seconds by the in-game lockdown and event controllers, carrying the place name, job ID, a live player count, and any active protocol or event.
You do not need both. A community with no in-game scripts can drive status purely from commands, and the phase stays as set until changed.
Phases
| Phase | Set by |
|---|---|
| SSU Poll | /sessionpoll |
| Preparing | Moderator panel |
| Session Started | /sessionstartup |
| Roleplay Active | /sessionroleplay |
| Roleplay Paused | /sessionpause |
| Shutting Down | Moderator panel |
| Offline | /sessionshutdown, or automatically |
How conflicts resolve
When the two sources disagree, the rules are, in order:
- If the game was sending heartbeats and has now been silent for over a minute, status is forced to Offline — a stale “Roleplay Active” from a session that already ended is worse than no status.
- Otherwise a host-set phase wins, because a human said so deliberately.
- Otherwise a recent heartbeat means Online.
- Otherwise a positive player count means Online.
- Otherwise Offline.
Session status is in-memory only. If the bot restarts, every server reads Offline until fresh signals arrive. Nothing is lost permanently — the next heartbeat or command restores it — but a restart mid-session shows Offline until then.
The player counts
- Players — how many are in the game right now. Both controllers report it, and the dashboard takes the highest reading from the last thirty seconds rather than whichever arrived last: a controller reads the roster where the game build allows it and otherwise counts the joins it saw, so one can undercount but neither can overcount.
- Max players — the most there have been at once this session. It only ever climbs. A dropped heartbeat, a controller reloaded mid-session or a minute of failed requests does not touch it.
- Uptime — how long the current session has been open, counted from the phase that started it and frozen at the shutdown.
A session runs from the point a host takes the server out of Offline — an SSU poll, a setup, a startup — to the point one shuts it down, and max players resets only at the start of the next one. So the figure is still there after everybody has logged off, and is what the SSU shutdown embed reports as the peak. If the game goes quiet for five minutes with no shutdown ever declared, the heartbeats that follow are treated as a new session and the count starts over.
The live player count is hidden rather than shown stale when the heartbeat stops. Max players is not — it is a record of the session, not a reading.