Skip to content

feat(sprint-13): Verbindungsdialog und Linux-Build (13.1, 13.7) - #33

Open
cubetribe wants to merge 1 commit into
mainfrom
feat/sprint-13-netzpartie
Open

feat(sprint-13): Verbindungsdialog und Linux-Build (13.1, 13.7)#33
cubetribe wants to merge 1 commit into
mainfrom
feat/sprint-13-netzpartie

Conversation

@cubetribe

Copy link
Copy Markdown
Collaborator

Erste zwei Pakete aus Sprint 13. Bisher war MatchConfig nur programmatisch befüllbar — es gab keine Oberfläche, in die jemand Serveradresse und Match-Code eintippen konnte.

13.1 · Der Verbindungsdialog

  • Hauptmenü bekommt den Bereich Netzpartie: Serveradresse, Port, maskierter Match-Code, Rollenwahl Host/Gast, Verbinden und Abbrechen.
  • Ein Statusband benennt die Zustände des RelayMatchClient ehrlich, statt bei abgelehntem Fingerprint oder verlorenem Peer stumm zu bleiben. Laut Sprintdokument sind die Fehlerzustände hier das eigentliche Feature: Ein Spieler, der nicht versteht warum nichts passiert, hält das Spiel für kaputt.
  • TcpRelayConnection: Connect von blockierend auf poll-getrieben umgestellt. Ein nicht erreichbarer Server fror vorher Unitys Hauptthread ein. Host und Port werden vor dem Versuch geprüft, das Wiederverwenden einer bestehenden Verbindung wird abgelehnt statt still durchgereicht.
  • RelayServerCore: eigenes 120-Sekunden-Fenster fürs Warten auf den Gegenspieler. Vorher teilte sich das den 10-Sekunden-Proof-Timeout — der zweite Spieler hatte damit faktisch keine Zeit, das Menü auszufüllen.

13.7 · Der Linux-Build

BuildScript.BuildLinux64 und tools/packaging/build-linux.sh nach dem Muster von build-mac.sh, mit demselben NovaBuildCommit-Stempel. Ohne ihn kann am Netznachweis nur teilnehmen, wer einen Mac hat — und damit wäre der Einheitenstrang von genau der Runde ausgeschlossen, deren Verhalten er baut.

Schreibhoheit

Keine Datei unter Scripts/Simulation/ oder Scripts/AI*. Der Einheitenstrang bleibt unberührt, der Match-Fingerprint bewegt sich nicht. Siehe 13-15_Parallelbetrieb.md.

Prüfung

  • Tests ergänzt: LockstepNetworkTests, MainMenuTests, MatchConfigTests, RtsIntentDispatcherTests
  • Player-Build übersetzt inklusive Test-Assemblies
  • check_docs.py grün über 171 Dateien
  • check_baseline_guard.py lokal gegen diesen Diff grün

Noch offen in Sprint 13

13.2 (Relay auf dem VPS), 13.3 bis 13.5 (Abnahmestufen 2 bis 4). Die Stufen 3 und 4 sind verfügbarkeitsbegrenzt, nicht technikbegrenzt — sie brauchen einen zweiten Menschen an einem zweiten Rechner.

Sprint 13 braucht einen Weg vom Doppelklick bis zum laufenden Match. Bisher
war MatchConfig nur programmatisch befuellbar; es gab keine Oberflaeche, in
die jemand Serveradresse und Match-Code eintippen konnte.

13.1 Verbindungsdialog
- Hauptmenue bekommt den Bereich "Netzpartie": Serveradresse, Port,
  maskierter Match-Code, Rollenwahl Host/Gast, Verbinden und Abbrechen.
- Statusband benennt die Zustaende des RelayMatchClient ehrlich, statt bei
  einem abgelehnten Fingerprint oder verlorenem Peer stumm zu bleiben. Die
  Fehlerzustaende sind hier das eigentliche Feature.
- TcpRelayConnection: Connect von blockierend auf poll-getrieben umgestellt.
  Ein nicht erreichbarer Server fror vorher Unitys Hauptthread ein. Host und
  Port werden vor dem Versuch geprueft, Wiederverwendung einer Verbindung
  wird abgelehnt statt still durchgereicht.
- RelayServerCore: eigenes 120-Sekunden-Fenster fuers Warten auf den
  Gegenspieler. Vorher teilte sich das den 10-Sekunden-Proof-Timeout, womit
  der zweite Spieler faktisch keine Zeit hatte, das Menue auszufuellen.

13.7 Linux-Build
- BuildScript.BuildLinux64 und tools/packaging/build-linux.sh nach dem
  Muster von build-mac.sh, mit demselben NovaBuildCommit-Stempel.
- Ohne ihn kann am Netznachweis nur teilnehmen, wer einen Mac hat.

Keine Datei unter Scripts/Simulation/ oder Scripts/AI*, damit der
Einheitenstrang unberuehrt bleibt (13-15_Parallelbetrieb.md).

Tests: LockstepNetworkTests, MainMenuTests, MatchConfigTests,
RtsIntentDispatcherTests. Player-Build uebersetzt, docs-check gruen,
baseline-guard lokal gegen diesen Diff gruen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@cubetribe
cubetribe requested a review from travelhawk as a code owner August 8, 2026 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant