{view === 'maps' ? 'Map play time and capacity' : 'Instance utilization'}

{#if currentPage.total}
{#each view === 'maps' ? mapColumns : serverColumns as column} {/each} {#if view === 'maps'} {#each mapPage.rows as map (JSON.stringify([map.game, map.map]))}{/each} {:else} {#each serverPage.rows as server (server.server)}{/each} {/if}
{#if column.key === 'details'}Details{:else}{/if}
{map.map}{gameName(map.game)}{map.observed < 1 || map.capacityObserved < 1 || map.unknown > map.observed / 4 ? ' · Limited evidence' : ''} {map.observed ? metricNumber(map.playerHours) : '—'} {map.observed ? metricDuration(map.active) : '—'} {metricPercent(map.full, map.capacityObserved)}
{map.map} Details
Observed instance time
{metricDuration(map.observed)}
Unknown status
{metricDuration(map.unknown)}
All lobbies full
{map.capacityObserved ? `${metricDuration(map.full)} of ${metricDuration(map.capacityObserved)} known map time` : 'Capacity data unavailable'}
{#if server.currentRegistered}{serverTitle(server.server)}{:else}{serverTitle(server.server)}Historical{/if} {metricPercent(server.active, server.observed)}{metricDuration(server.observed)}{metricDuration(server.unknown)}
{serverTitle(server.server)} Details
Recorded name
{server.server}
Time with players
{metricDuration(server.active)}
Idle
{metricPercent(server.idle, server.observed)} · {metricDuration( server.idle )}
{:else}{#snippet actions()}{/snippet}{/if} {#if view === 'instances'}

Grouped by recorded name; links open the current instance, which may differ from the historical registration.

{/if}
About these metrics

{view === 'maps' ? 'All lobbies full uses map time when every tracked lobby has known occupancy and capacity. It does not measure failed joins or unmet demand. A dash means unavailable, not zero.' : 'Time with players excludes unknown status and collection gaps. Rows group historical observations by name and may span multiple registrations. Links open the current instance with that name.'}