From 47c172859c2b6c6ad63bbc38cc29139062031d13 Mon Sep 17 00:00:00 2001 From: MrMaho Date: Fri, 23 Oct 2026 21:53:36 +0200 Subject: [PATCH] 2.10.14: warn when Steam launch options run the game with the Mono debugger (costs FPS) Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 6 ++++++ MSCO.cs | 2 +- MultiplayerManager.cs | 15 +++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f28e798..1c614a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 2.10.14 + +- **Hinweis bei Debug-Startoptionen:** Stehen in den Steam-Startoptionen von My Summer Car noch + `--doorstop-mono-debug-enabled true` (vom MSCLoader-Entwicklermodus), läuft das ganze Spiel mit Mono-Debugger und + spürbar langsamer. MSCO meldet das jetzt beim Start (Hinweis und Konsole F7) + ## 2.10.13 - **Mehr FPS mit Mods:** Mods (z.B. Show Bolt Size) zeichnen jetzt mit der richtigen Schrift. Vorher schrieb Unity bei diff --git a/MSCO.cs b/MSCO.cs index 2b4b379..44c9018 100644 --- a/MSCO.cs +++ b/MSCO.cs @@ -11,7 +11,7 @@ namespace MSCO /// Version der Mod. Kleine Updates: nur die dritte Stelle erhöhen (2.9.1, 2.9.2 ...) - sie bleiben mit /// Servern und Mitspielern derselben ersten zwei Stellen kompatibel. /// - public const string ModVersion = "2.10.13"; + public const string ModVersion = "2.10.14"; /// /// Netzwerk-Version (die ersten beiden Stellen). Nur erhöhen, wenn sich das Protokoll inkompatibel ändert - dann /// auch GameServer.ModVersion im Server. diff --git a/MultiplayerManager.cs b/MultiplayerManager.cs index bac2cbd..ae440f3 100644 --- a/MultiplayerManager.cs +++ b/MultiplayerManager.cs @@ -72,6 +72,20 @@ namespace MSCO void ToastJoined(string name) { toasts.Add(name, "joined the game", UiTheme.Online); } + /// + /// Steam-Startoptionen mit "--doorstop-mono-debug-enabled true" (vom MSCLoader-Entwicklermodus): das ganze Spiel läuft + /// mit Mono-Debugger und spürbar langsamer. Einmal deutlich melden. + /// + void WarnDebugLaunchOptions() + { + string[] args = System.Environment.GetCommandLineArgs(); + int i = System.Array.FindIndex(args, a => a.Equals("--doorstop-mono-debug-enabled", System.StringComparison.OrdinalIgnoreCase)); + if (i < 0 || i + 1 >= args.Length || !(args[i + 1] == "true" || args[i + 1] == "1")) return; + MscoLog.Warning("[MSCO] The game runs with the Mono debugger (Steam launch options: --doorstop-mono-debug-enabled true) - " + + "that costs FPS. In Steam: My Summer Car -> Properties -> General -> Launch options: delete everything."); + toasts.Add("Debug mode costs FPS", "Clear the Steam launch options of My Summer Car", UiTheme.Gold); + } + const string OutdatedServerText = "This server is outdated - it is missing MSCO security updates. You can join again once its owner has updated it (web panel -> Update)."; const string OutdatedHostText = "The host uses an outdated MSCO version that is missing security updates. Ask them to update " + "MSCO (start the game once through the MSCO Launcher), then join again."; @@ -112,6 +126,7 @@ namespace MSCO { Application.runInBackground = true; playerName = PlayerPrefs.GetString(PrefName, System.Environment.UserName); + WarnDebugLaunchOptions(); // Neue Ankündigung der MSCO-Admins, während man spielt: kurz einblenden und in die Konsole (F7) SiteStatus.NewAnnouncement += a => {