Files
MrMahoandClaude Opus 5.5 4e333c8250 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>
2026-10-28 18:10:51 +01:00

2.6 KiB
Raw Permalink Blame History

BSO Server

Dedizierter Server für BSO – Bus Simulator Online (Multiplayer-Mod für Bus-Simulator 2012).

Nimmt Spieler an (Hello → Welcome), merkt sich den letzten Zustand jedes Spielers und reicht ihn an alle anderen weiter. Eine einzige Schleife fragt alle Verbindungen ab – ohne Sperren. Protokoll wie bei MSCO: [int Länge][byte Typ][Daten] über TCP.

Shared\*.cs (Protokoll, PacketReader, Connection) sind dieselben Dateien wie in BSO-Mod – bei Änderungen in beiden Repos gleich halten und bei inkompatiblen Änderungen Protocol.Version erhöhen.

Starten

Voraussetzung: .NET 10 Runtime.

BSO.Server.exe --bot                                   # Port 7777, mit Testbot
BSO.Server.exe --port 7777 --name "Mein Server" --max 8
BSO.Server.exe --probe host[:port]                     # Test: verbindet sich wie die Mod, zeigt was ankommt

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
bot Testbot an/aus – fährt als „Bus“ 30 km/h Kreise (20 m) um den ersten Spieler
kick <id> [grund] Spieler entfernen
stop Server beenden

Bauen

dotnet publish -c Release -o publish
.\release.ps1 -Product server -Version 0.2.0 -File BSO-Server.zip -Changelog "..."