Initial Void Bastion 0.20 prototype
This commit is contained in:
commit
7362ca0f02
251 files changed
+29688
No files matched your search
@@ -0,0 +1,44 @@
|
||||
# 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.
|
||||
Reference in new issue
Block a user