{#snippet filterFields(suffix: string)}
{#if server === undefined}{/if} {#if server === undefined}
{ event.preventDefault(); update({ q: search.trim() }); if (suffix) filtersOpen = false; }}> Press Enter to search by server name.
{/if} {#if suffix} {/if}
{/snippet}
{@render filterFields('')}
{data?.total ?? '—'} matches{filters.map ? ` · ${data?.maps.find(map => map.key === filters.map)?.name ?? 'Selected map'}` : ''}
{@render filterFields('-mobile')} {#snippet actions()}{/snippet}
Times in {$timeZone}{filters.days ? ` · Last ${filters.days} days` : ''}{#if hasFilters}{/if}{#if !error}{/if}
{#if error}{/if} {#if loading} {:else if loadedUrl !== apiUrl && error} {:else if data?.matches.length}
{#each sorts.filter(item => item.key !== 'started') as item} {/each} {#each data.matches as match (match.id)} {/each}
Matches sorted by {sorts.find(item => item.key === filters.sort)?.label.toLowerCase()}, {filters.direction === 'desc' ? 'highest or newest' : 'lowest or oldest'} first
MatchStatus
{#if match.status === 'completed'}{match.map} · Match #{match.id} {:else}{match.map}{/if} · {match.status === 'active' ? 'In progress' : match.status === 'completed' ? 'Completed' : 'Interrupted'}{match.durationMs !== null ? ` · ${formatDuration(match.durationMs)}` : ''} {#if server === undefined}
{matchInstanceLabel(match)}{#if match.server_deleted_at} · Historical instance{/if}
{/if}
{match.status === 'active' ? 'In progress' : match.status === 'completed' ? 'Completed' : 'Interrupted'} {match.uniquePlayers} {match.durationMs === null ? '—' : formatDuration(match.durationMs)} {match.status === 'completed' ? match.finalRound ?? '—' : match.observedRound ?? '—'}{#if match.status !== 'completed'}Highest observed{/if}
{:else if !error} {#snippet actions()}{#if hasFilters}{/if}{/snippet} {/if} Players counts unique players observed throughout the match.
About match history

Players counts unique players across all reports. A dash means the value is unavailable, not zero. Duration requires a recorded start and completed ending. Round shows the final round for completed matches and the highest observed round for unfinished matches. Open a completed match for exact timestamps and starting and ending player counts.