Files
Void-Bastion/ONLINE_SETUP.md
T

2.9 KiB
Raw Blame History

Void Bastion Online 0.20

Fertiger Stand

Das Spiel nutzt den offiziellen Nakama-Godot-Client 3.4.0. Beim normalen Start wird automatisch ein app-eigenes Gastkonto angemeldet. Das lokale Profil bleibt auch offline nutzbar; neue Bestwerte werden gespeichert und bei der nächsten erfolgreichen Verbindung nachgereicht.

Der Unraid-Stack besteht aus:

  • Nakama 3.37.0 mit eigener JavaScript-Serverlogik
  • PostgreSQL 16 ohne öffentlich freigegebenen Datenbank-Port
  • täglichem komprimiertem Backup mit 14 Tagen Aufbewahrung
  • ausschließlich lokal erreichbarer Nakama-Verwaltungskonsole
  • getrennten zufälligen Schlüsseln für Sitzungen, Sitzungserneuerung, Verwaltung und Server-RPCs

Ranglisten

Es existieren 36 autoritative Ranglisten: vier Spielarten mal drei Karten mal drei Schwierigkeitsgrade. Der Client kann nicht direkt in diese Ranglisten schreiben. Ergebnisse laufen durch submit_run; Karte, Schwierigkeit, Modus, Welle und eine großzügige Plausibilitätsgrenze für die Punktzahl werden vor dem Eintrag geprüft.

Die Kennungen folgen diesem Muster: mission_map0_difficulty0.

Mögliche Spielarten sind mission, endless, coop_ai und coop_online.

Multiplayer

Die Godot-Anbindung öffnet nach der Anmeldung eine WSS/WS-Echtzeitverbindung. Die schnelle Spielersuche vermittelt exakt zwei passende Spieler. Alternativ erstellt ein Spieler einen privaten Raum mit einem sechsstelligen Code, dem der zweite Spieler gezielt beitritt.

Der autoritative Matchserver verwaltet Spielerplätze, getrennte Energie, Türme, Gegner, Wellen und die gemeinsamen Reaktorleben. Beide Clients erhalten denselben geprüften Spielzustand. Der lokale KI-Koop bleibt unabhängig davon spielbar.

Adressen

  • Produktion: https://api.void-bastion.gergames.de und wss://api.void-bastion.gergames.de
  • Entwicklung im Heimnetz: http://192.168.178.20:7350 und ws://192.168.178.20:7350

In Debug-Builds versucht das Spiel nach einer fehlgeschlagenen Produktionsverbindung automatisch den Heimnetz-Server. Release-Builds verwenden ausschließlich HTTPS/WSS.

Die öffentliche Freischaltung ist abgeschlossen: Der autoritative DNS-Eintrag api.void-bastion.gergames.de zeigt als CNAME auf bs6o73mrdi3e60p0.myfritz.net; Reverse Proxy, HTTPS/WSS und das automatisch erneuerte Let’s-Encrypt-Zertifikat sind aktiv.

Tests

  • Offline-/Gameplaytest: godot --headless --path . --script res://tests/smoke_test.gd
  • echter Onlinetest im Heimnetz: godot --headless --path . --script res://tests/online_integration_test.gd
  • Produktionstest: VOID_BASTION_TEST_HOST=api.void-bastion.gergames.de VOID_BASTION_TEST_SCHEME=https VOID_BASTION_TEST_PORT=443 godot --headless --path . --script res://tests/online_integration_test.gd

Der Onlinetest prüft zwei Gastanmeldungen, RPC, Ergebnisannahme, Ranglistenabruf, zwei WebSocket-Verbindungen, schnelles Matchmaking, autoritative Spielzustände sowie Erstellen und Beitreten eines privaten Raums per Code.