Files
BSO-Launcher/README.md
T
MrMahoandClaude Opus 5.5 884492f665 Lobby: SPIELEN des Erstellers startet den Server
Kein eigener Server-starten-Knopf mehr: playLobby schaltet beim Ersteller den Lobby-Server ein
und startet das Spiel, die anderen koennen spielen, sobald er laeuft.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 19:47:47 +01:00

3.5 KiB
Raw Blame History

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.

Features

  • Installation wie Discord: Die heruntergeladene BSO-Launcher.exe installiert sich selbst – ohne Admin-Rechte nach %LocalAppData%\Programs\BSO Launcher, mit Verknüpfungen auf dem Desktop und im Startmenü und einem Eintrag unter Einstellungen → Apps. --portable startet 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: neueste Mod-Version vor jedem Start (abschaltbar), Selbst-Update des Launchers mit einem Klick. 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          # eine .exe, ohne vorinstalliertes .NET
.\release.ps1 -Product launcher -Version 0.1.0 -File publish\BSO-Launcher.exe -Changelog "..."

Gegen die lokale Test-Website (-dev)

BSO-Launcher.exe -dev            # nimmt http://localhost:5080 statt https://bso.mbm.wtf
  • -dev bleibt 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 jedem BSO-Repo) signiert damit BSO-RELEASE|produkt|version|sha256 und lädt hoch – braucht BSO_RELEASE_TOKEN (= RELEASE_TOKEN der Website) und optional BSO_MASTER_URL.

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\