Neueste Mod/Launcher-Version und Neuigkeiten kommen von git.mbm.wtf (bso-release.json mit Signatur), die Website ist nur noch Reserve (mit -dev zuerst). SPIELEN auf der Startseite startet ohne Server. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
BSO Launcher
Launcher für BSO – Bus Simulator Online (Multiplayer-Mod für Bus-Simulator 2012), aufgebaut wie der MSCO Launcher:
WinForms-Fenster mit WebView2, die Oberfläche (ui\) ist in der .exe eingebettet.
- Mod: BSO-Mod
- Lobby-Server (ohne Portfreigabe): BSO-Relay
- Website, Konten, Freunde, Lobbys, Releases: BSO-Website
Features
- Setup-Assistent: Die heruntergeladene
BSO-Launcher-Setup.exe(dieselbe signierte Datei wie der Launcher) fragt nach Sprache, Ordner (Standard%LocalAppData%\Programs\BSO Launcher, nur Ordner ohne Admin-Rechte) und Verknüpfungen (Desktop, Startmenü), installiert mit Fortschrittsanzeige und trägt sich unter Einstellungen → Apps ein. Ist dieselbe oder eine neuere Version installiert, bietet es Starten an.--portablestartet ohne Installation. - BSO-Konto: Registrieren und Anmelden bei der BSO-Website. Die Anmeldung bleibt 30 Tage (Token DPAPI-verschlüsselt). Der Kontoname ist der Name im Spiel.
- Auto-Update: Bei jedem Start fragt der Launcher, ob ein neues Update (Launcher oder Mod) installiert werden soll; dazu neueste Mod-Version vor jedem Spielstart (abschaltbar). Downloads sind fortsetzbar, SHA-256-geprüft und müssen mit dem BSO-Release-Schlüssel signiert sein.
- Prüft alles: Spielordner (alle Steam-Bibliotheken), BSO-Version, .NET 10 Runtime (braucht die Mod).
- Freunde & Lobby: Freunde per Benutzername hinzufügen (online-Anzeige), Lobby erstellen, einladen - SPIELEN des Erstellers startet den Lobby-Server. Der Server läuft im BSO-Relay – niemand hostet, niemand braucht eine Portfreigabe.
- SPIELEN: holt ein Spiel-Ticket (in der Lobby: für deren Server) und die Relay-Adresse, schreibt beides in
BSO.json, startet Bus-Simulator 2012 über Steam und verbindet automatisch. - Mod herunterladen holt jederzeit die neueste Mod.
- Neuigkeiten (Changelogs), Einstellungen, Deinstallieren.
Bauen und veröffentlichen
dotnet publish -c Release -o publish -p:BsoRelease=true # bauen + als Gitea-Release veroeffentlichen
.\release.ps1 -Product launcher -Version 0.3.2 -File publish\BSO-Launcher.exe # oder von Hand
Updates kommen aus den Gitea-Releases auf git.mbm.wtf (Mod: MrMaho/BSO-Mod, Launcher: MrMaho/BSO-Launcher, beide
öffentlich). Jedes Release hat die Datei und bso-release.json (Version, SHA-256, Signatur). Ist Gitea nicht erreichbar,
fragt der Launcher die Website; mit -dev umgekehrt.
Gegen die lokale Test-Website (-dev)
BSO-Launcher.exe -dev # nimmt http://localhost:5080 statt https://bso.mbm.wtf
-devbleibt beim Selbst-Installieren und beim Selbst-Update erhalten; die installierte Kopie startet man genauso:"%LocalAppData%\Programs\BSO Launcher\BSO-Launcher.exe" -dev.- Eigene Anmeldung (
settings.dev.json) – Test- und echtes Konto kommen sich nicht in die Quere. - Gelbes DEV-Schild in der Titelleiste, im Fenstertitel und unter dem Anmelden-Formular steht die Adresse.
- Beliebiger anderer Server: Umgebungsvariable
BSO_LAUNCHER_API(geht vor-dev).
Lokale Website starten: im BSO-Website-Repo dotnet run --urls http://localhost:5080.
Release-Schlüssel
new-release-key.ps1 legt einmalig den Schlüssel an (RSA 3072, privater Teil DPAPI-verschlüsselt unter
%APPDATA%\BSO\release-key.dpapi) und trägt den öffentlichen Teil in Services\ReleaseSignature.cs ein.
release.ps1 (in BSO-Mod und BSO-Launcher) signiert damit BSO-RELEASE|produkt|version|sha256 und legt das
Gitea-Release an – braucht BSO_GITEA_TOKEN (Gitea: Einstellungen → Anwendungen → Token mit repository: Lesen und
Schreiben), gern als Windows-Benutzervariable.
Den Schlüssel sichern: Mit einem neuen Schlüssel erkennen bereits verteilte Launcher keine Updates mehr.
Daten
| Was | Wo |
|---|---|
| Einstellungen, Anmeldung | %LocalAppData%\BSO Launcher\settings.json |
| Protokoll | %LocalAppData%\BSO Launcher\launcher.log |
| Mod | <Spielordner>\Bin_High_Win64\dinput8.dll und BSO\ |