{scopeError}
{/if} {#if refreshError}{scopeLabel} · {format.period(report.since)} – {format.period(report.now)}
No servers are currently registered. This report shows retained history; new samples resume when servers are registered.
{:else if report.latestSampleAt !== null && report.now - report.latestSampleAt > 5 * 60_000}No new collection samples in the last five minutes. This report still includes the retained observations shown below.
{/if} {#if report.summary.observed === 0}All captured lobby status is unknown. Running counts include these lobbies, but their occupancy and availability could not be determined.
{/if}Previous window: {format.period(report.previous.since)} – {format.period( report.previous.until )}. Average lobbies running: {report.previous.running.average === null ? '—' : metricNumber(report.previous.running.average)} previous / {report.running.average === null ? '—' : metricNumber(report.running.average)} current. Captured wall time: {metricDuration(report.previous.running.capturedHours)} previous / {metricDuration(report.running.capturedHours)} current. Equal windows do not guarantee equal observation coverage.
Lobbies running averages the concurrent lobby count over captured wall time and includes lobbies with unknown status. Peak is the largest captured concurrent count. Empty spare share divides lobby time with zero reported players by all captured lobby-hours, including unknown status. Empty spares are expected when an autoscaling policy keeps lobbies ready.
Matches started counts retained matches whose start time falls within this report’s window, including both endpoints and all match statuses. If a match did not report a start time, its first observation is used. Average group is the mean number of distinct recorded players across each match’s lifetime, including later arrivals. Solo means exactly one recorded player. Both average group and solo share exclude matches with no recorded players; those matches still count as started. Ongoing matches can change as players join. Match records are independent of sampled lobby occupancy, and missing or purged records are not estimated.
No empty lobby measures map time when at least one lobby has known occupancy and no tracked lobby reports zero players. If every lobby is unknown, map availability is unknown and excluded from the percentage. Player limits are not required. This availability signal does not establish failed joins or unmet demand. Autoscaling signals compare observations with the current policy; historical policy settings are not recorded.
Each periodic observation covers at most {ONLINE_MAX_MS / 1000} seconds. Longer collection gaps are excluded. Occupancy history defaults to 31 days; saved match retention is configured separately. Player-hours include all players reported by the server and are estimates, not individual session records.
Timeline buckets are aligned to UTC, with labels shown in {report.scope.timeZone.replaceAll( '_', ' ' )}. Daily buckets are 24-hour periods, not local calendar days. The first and latest buckets can be partial. Average bars divide occupied, empty spare, and unknown lobby-hours by captured wall time within each bucket, so a partial period is not a lower lobby count merely because it is shorter. Percentage bars use all captured lobby time.
Map groups preserve the recorded game and map label. Each map’s average and peak count concurrent lobbies during its captured wall time, including unknown occupancy. Empty lobby-hours sum time with zero reported players across that map’s lobbies. Per-lobby history is available on server pages.