Files
Void-Bastion/server/nakama

Void Bastion Online-Backend

Dieser Docker-Compose-Stack betreibt eine eigene Nakama-Instanz mit einer ausschließlich intern erreichbaren PostgreSQL-Datenbank.

Unraid-Pfade

  • Stack: /mnt/user/appdata/void-bastion-online/stack
  • Nakama-Daten und spätere Servermodule: /mnt/user/appdata/void-bastion-online/nakama
  • PostgreSQL-Daten: /mnt/user/appdata/void-bastion-online/postgres
  • tägliche Datenbanksicherungen: /mnt/user/appdata/void-bastion-online/backups
  • Geheimnisse: /mnt/user/appdata/void-bastion-online/stack/.env

Die echte .env-Datei bleibt ausschließlich auf dem Server und darf weder in das Spiel noch in ein Quellarchiv aufgenommen werden.

Der Backup-Container erstellt beim Start und danach täglich einen komprimierten PostgreSQL-Dump. Sicherungen werden 14 Tage aufbewahrt. Für einen vollständigen Schutz sollte dieses Verzeichnis zusätzlich durch das vorhandene externe Unraid-Backup erfasst werden.

Erreichbarkeit

  • Spiel-API und Echtzeit-WebSocket: Host-Port 7350
  • Verwaltungskonsole: nur auf Unraid-Loopback 127.0.0.1:7351
  • PostgreSQL: kein veröffentlichter Host-Port

Für eine öffentliche Testversion wird Port 7350 später über Nginx Proxy Manager mit einer eigenen Domain und TLS als HTTPS/WSS veröffentlicht. Die Verwaltungskonsole bleibt privat.

Öffentliche Adresse: api.void-bastion.gergames.de. Der Host api.void-bastion zeigt als CNAME auf bs6o73mrdi3e60p0.myfritz.net; Nginx Proxy Manager stellt HTTPS/WSS mit einem automatisch erneuerten Let’s-Encrypt-Zertifikat bereit und leitet intern auf Nakama an Port 7350 weiter.

Betrieb

Der Stack verwendet fest versioniertes Nakama 3.37.0 und PostgreSQL 16 Alpine. Vor einem Versionswechsel werden Datenbank und Nakama-Appdata gesichert und die offiziellen Migrationshinweise geprüft.

Private Statistik-RPCs

  • record_activity: nur für angemeldete Spieler; aktualisiert die pseudonyme Aktivität sowie aggregierte Plattform- und Versionswerte.
  • private_stats: nur als Server-zu-Server-Aufruf mit NAKAMA_HTTP_KEY; liefert die zusammengefassten Werte für die interne Homepage.

Die echte Webhosting-Konfiguration mit dem HTTP-Schlüssel darf nicht in Git abgelegt werden.