Fix transient health checks and avoid unnecessary recovery

This commit is contained in:
2026-10-02 13:06:18 -04:00
parent 221c4c10cf
commit 65d3a99846
16 changed files with 842 additions and 110 deletions
+8
View File
@@ -14,6 +14,14 @@ or restarting containers hide old game data and RCON errors; stopped, unhealthy,
or unverifiable containers do not trigger routine RCON polling. Containers without
a Docker health check use their running state as the readiness signal.
Status polling runs every 30 seconds with at most four server checks in flight.
Each completed check publishes a current fleet snapshot; a slow check does not
hold back updates or the next poll for servers that have finished. RCON status
queries retry timeouts and send errors twice, with 250ms then 500ms backoff.
Overlapping status and occupancy probes share the in-flight query for the same
server process and endpoint. Configuration and invalid-reply errors are reported
immediately; commands that change server state are never retried by this logic.
With fresh container health, validated telemetry received in the last 45 seconds
supplies the current player count, roster, map, and game status. RCON is the fallback
when telemetry is unavailable or stale. Fleet, server details, metrics, collection