Files
BSO-Launcher/README.md
T
MrMahoandClaude Opus 5.5 5fd162fecb Setup-Assistent und Update-Abfrage bei jedem Start
Die heruntergeladene Datei ist ein Setup: Sprache, Ordner (nur ohne Admin-Rechte beschreibbar),
Verknuepfungen, Fortschritt, Fertig-Seite; Ordner steht in der Registry. Deinstallieren loescht im
gewaehlten Ordner nur die eigenen Dateien. Beim Start fragt der Launcher nach neuen Updates
(Launcher und Mod).

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

3.7 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

  • 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. --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: 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          # 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\