Add lobby ready fake peer test mode

This commit is contained in:
Kroonk
2026-05-23 09:30:47 +02:00
parent a706caef02
commit 01cb2e8fdf
3 changed files with 178 additions and 3 deletions

View File

@@ -15,6 +15,7 @@ Der aktuelle Stand ist bewusst ein technischer Prototyp. Es ist noch keine ferti
- Run-Start, Spieler-Spawn und einfache Player-Snapshots werden geloggt bzw. fuer P2P-Versand vorbereitet.
- Das Brogether-Modal ist standardmaessig versteckt und kann ueber das Hauptmenue oder `F5` geoeffnet werden.
- Die UI enthaelt einen ersten Lobby-Browser, Lobby-Erstellung mit optionalem Passwort und einen Wartebereich mit Spielerkacheln.
- Der Wartebereich hat Ready-/Start-Status und einen Fake-Peer-Modus fuer lokale Tests ohne zweiten Client.
## Was noch nicht fertig ist
@@ -58,7 +59,7 @@ Brogether ist im Spiel standardmaessig unsichtbar. Im Hauptmenue gibt es einen n
Im Modal gibt es jetzt zwei Bereiche:
- Lobby-Browser: zeigt gefundene Brogether-Lobbys mit Name, Host, Spielerzahl und Passwortstatus.
- Wartebereich: zeigt die Spieler in der aktuellen Lobby als Kacheln mit Steam-Namen und statischem Initialen-Avatar.
- Wartebereich: zeigt die Spieler in der aktuellen Lobby als Kacheln mit Steam-Namen, statischem Initialen-Avatar und Ready-Status.
## Debug-Tasten
@@ -73,6 +74,8 @@ F11 Lokalen Loopback-Test starten
Das Brogether-Modal enthaelt Buttons fuer Host, Join, Leave und Ping. Es ist fuer die naechsten Zwei-Client-Tests gedacht und ersetzt die meisten Hotkey-Aktionen. Passwort-Lobbys sind aktuell eine Mod-seitige Zugangskontrolle: die Lobby bleibt sichtbar, der Join-Button prueft aber das Passwort, bevor Brogether beitritt.
Fuer Tests ohne zweiten Steam-Client kann im Wartebereich `Add Fake` genutzt werden. Das fuegt einen lokalen Test-Peer hinzu, dessen Ready-Status mit `Fake Ready` umgeschaltet werden kann. `Start` wird nur fuer den Host aktiv, wenn alle sichtbaren Lobby-Mitglieder ready sind; aktuell schreibt Start nur ein Lobby-Protokollereignis ins Log und startet noch keinen echten Run.
Brogether schreibt ein eigenes Log nach:
```text