- 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>
2.6 KiB
BSO Server
Dedizierter Server für BSO – Bus Simulator Online (Multiplayer-Mod für Bus-Simulator 2012).
- Mod: BSO-Mod
- Launcher: BSO-Launcher
- Website, Konten und Releases: BSO-Website
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 "..."