GERGAMES · NICHT ÖFFENTLICH
Void Bastion Statistik
= e($latestRelease) ?>
Die Downloadwerte stammen direkt aus den Gitea-Release-Anhängen und werden alle fünf Minuten neu geladen.
Die private Nakama-Statistik ist noch nicht mit dem HTTP-Schlüssel verbunden.
Letzte Spieleraktualisierung: = e($updatedAt) ?>
= e($latestRelease) ?>
Die Downloadwerte stammen direkt aus den Gitea-Release-Anhängen und werden alle fünf Minuten neu geladen.
Die private Nakama-Statistik ist noch nicht mit dem HTTP-Schlüssel verbunden.
Letzte Spieleraktualisierung: = e($updatedAt) ?>
Registrierte Spieler
Spielerkonten und ihre letzte Aktivität. Automatisch erzeugte interne Testkonten werden ausgeblendet. „Zuletzt gespielt“ und Turmbauten werden ab der neuen Spielversion erfasst; frühere Runden lassen sich nicht rückwirkend zählen.
+Die Spielerliste konnte gerade nicht geladen werden.
+| Spieler | Registriert | Zuletzt gespielt | Zuletzt online | Turmbauten |
|---|---|---|---|---|
| = e((string) ($player['name'] ?? 'PILOT')) ?> | = (int) ($player['registered_at'] ?? 0) > 0 ? e(date('d.m.Y H:i', intdiv((int) $player['registered_at'], 1000))) : '–' ?> | = (int) ($player['last_played'] ?? 0) > 0 ? e(date('d.m.Y H:i', intdiv((int) $player['last_played'], 1000))) : 'Noch nicht erfasst' ?> | = (int) ($player['last_seen'] ?? 0) > 0 ? e(date('d.m.Y H:i', intdiv((int) $player['last_seen'], 1000))) : '–' ?> | = (int) ($player['tower_build_total'] ?? 0) ?> |
= $selectedPlayer !== null ? e((string) ($selectedPlayer['name'] ?? 'Spieler')) : 'Spieler nicht gefunden' ?>
+ $name) $towerRows[] = ['name' => $name, 'preview' => $towerPreviews[$index], 'count' => (int) ($builds[$index] ?? 0)]; usort($towerRows, static fn(array $a, array $b): int => $b['count'] <=> $a['count']); ?> +Registriert: = e(date('d.m.Y H:i', intdiv((int) ($selectedPlayer['registered_at'] ?? 0), 1000))) ?> · Zuletzt gespielt: = (int) ($selectedPlayer['last_played'] ?? 0) > 0 ? e(date('d.m.Y H:i', intdiv((int) $selectedPlayer['last_played'], 1000))) : 'Noch nicht erfasst' ?> · Insgesamt = (int) ($selectedPlayer['tower_build_total'] ?? 0) ?> Türme gebaut
+| Turm | Gebaut |
|---|---|
| = e($tower['name']) ?>= $rank === 0 && $tower['count'] > 0 ? ' · meistgebaut' : '' ?> | = $tower['count'] ?> |
Online-Diagnose
Die beiden PCs senden ihre technischen Messwerte am Ende einer Online-Partie automatisch mit derselben Rundenkennung. Berichte sind maximal 14 Tage relevant; Namen und Raumcodes werden hier nicht gespeichert.
= e($diagnosticError) ?>
Noch keine Verbindung zur privaten Online-Diagnose.
Noch keine Berichte aus der neuen Spielversion vorhanden.
| Runde | Seite | Zeitpunkt | Version | Messungen |
|---|---|---|---|---|
= e($rowRound) ?> | = (int) ($row['slot'] ?? -1) + 1 ?> | = e(date('d.m.Y H:i:s', intdiv((int) ($row['created_at'] ?? 0), 1000))) ?> | = e((string) ($row['version'] ?? '')) ?> | = (int) ($row['record_count'] ?? 0) ?> |
Runde = e($diagnosticRound) ?>
Für diese Kennung liegen noch keine Berichte vor.
Seite = (int) ($report['slot'] ?? -1) + 1 ?> · = e((string) ($report['version'] ?? '')) ?>
| UTC | Spielstände/s | Abstand p95 / max | Tick-Sprünge | Warteschlange verworfen | Bildaussetzer | Gegner / Türme |
|---|---|---|---|---|---|---|
| = e((string) ($record['utc'] ?? '')) ?> | = e((string) ($record['snapshots_per_second'] ?? 0)) ?> | = (int) ($record['gap_p95_ms'] ?? 0) ?> / = (int) ($record['gap_max_ms'] ?? 0) ?> ms | = (int) ($record['tick_jumps_over_1'] ?? 0) ?> | = (int) ($record['queue_dropped'] ?? 0) ?> | = (int) ($record['frame_stalls_over_200_ms'] ?? 0) ?> (max = (int) ($record['frame_max_ms'] ?? 0) ?> ms) | = (int) ($record['enemies'] ?? 0) ?> / = (int) ($record['towers'] ?? 0) ?> |
Einzelereignisse anzeigen
| UTC | Ereignis | Dauer | Server-Tick |
|---|---|---|---|
| = e((string) ($record['utc'] ?? '')) ?> | = e((string) ($record['event'] ?? '')) ?> | = (int) ($record['duration_ms'] ?? 0) ?> ms | = (int) ($record['last_server_tick'] ?? 0) ?> |