0.3.0: Serverliste und BSO-Konten

- Heartbeat an die Website, Abmelden beim Beenden (--private, --public-address, --description, --master)
- Spiel-Tickets pruefen (Signatur der Website), Name aus dem Konto, --no-auth fuer LAN
- IPv4 und IPv6, Protokoll 2

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-28 18:10:51 +01:00
co-authored by Claude Opus 5.5
parent cda31cd070
commit 4e333c8250
7 changed files with 258 additions and 11 deletions
+17
View File
@@ -25,6 +25,23 @@ BSO.Server.exe --probe host[:port] # Test: verbindet sich wi
Für Spieler von außen Port **7777/TCP** im Router/Firewall freigeben.
| Option | |
|---|---|
| `--name`, `--description` | Anzeige im Server-Browser |
| `--max` | Maximale Spielerzahl (Standard 8) |
| `--private` | Nicht in der Serverliste – Beitritt nur per Adresse |
| `--public-address host` | Adresse für die Serverliste (hinter NAT/Proxy oder wenn die Website im selben Netz läuft) |
| `--master url` | andere Website (Standard `https://bso.mbm.wtf`, Tests: `http://localhost:5080`) |
| `--no-auth` | Spieler brauchen kein BSO-Konto (LAN, Tests) |
| `--bot` | Testbot |
**Serverliste:** Der Server meldet sich jede Minute bei der Website, beim `stop` ab. Gelistet wird er erst, wenn die
Website ihn von außen erreicht (sie fragt ihn wie die Mod ab) – das Log sagt, ob es geklappt hat.
**BSO-Konto:** Spieler brauchen ein Spiel-Ticket aus dem Launcher (signiert von der Website, 24 h gültig). Der Server
prüft die Signatur mit dem öffentlichen Schlüssel der Website (`ticket-key.xml` wird zwischengespeichert), der Name
im Spiel kommt aus dem Konto. Ein Konto kann nur einmal gleichzeitig auf einem Server sein.
| Konsole | |
|---|---|
| `status` | Spieler mit Position, Modus und Tempo |