Files
Void-Bastion/ONLINE_SETUP.md
T

3.0 KiB
Raw Blame History

Void Bastion Online 0.19

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 Spieler mit derselben Suchart in eine serverautoritative Koop-Sitzung. Der Matchserver verwaltet Teilnehmer, gemeinsame Sitzungsdaten und die Weiterleitung zulässiger Spielnachrichten.

Der lokale KI-Koop bleibt unabhängig davon spielbar. Die vollständige Synchronisation von Türmen, Gegnern und gemeinsamem Reaktor zwischen zwei sichtbaren Spielclients ist der nächste Gameplay-Schritt; Konto, Transport, Vermittlung und Server-Match sind bereits funktionsfähig.

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, Matchmaking und den Beitritt beider Clients zur selben autoritativen Partie.