diff --git a/CHANGELOG.md b/CHANGELOG.md index f01b73b..bde3924 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,10 @@ - Geht jetzt auch, **wenn noch niemand fährt** (Sitzposition kommt aus dem Fahrersitz des Spiels); fährt danach jemand los, fährt man mit. Setzt man sich selbst ans Steuer, endet der Beifahrer-Modus +**Server mit neuem Spiel** +- Im Server-Panel (Welt & Backups) gibt es „Neues Spiel starten“: statt eines hochgeladenen Spielstands startet der + erste Spieler ein frisches My-Summer-Car-Spiel, der Server übernimmt danach dessen Spielstand (braucht Server 2.9.3) + **Launcher einklappen** - Knopf **–** oben rechts im Launcher: er klappt zu einer kleinen MSCO-Leiste oben zusammen, das Startmenü des Spiels (Optionen, Farbe, Musik ...) ist wieder sichtbar und bedienbar, die Menü-Musik läuft wieder. Klick auf die Leiste diff --git a/MultiplayerManager.cs b/MultiplayerManager.cs index 640e48d..c1305b1 100644 --- a/MultiplayerManager.cs +++ b/MultiplayerManager.cs @@ -1596,6 +1596,15 @@ namespace MSCO receivingSave = false; // Später beigetreten: nach dem Laden neben den Host setzen teleportToHost = r.BaseStream.Length > 0 && r.ReadBoolean(); + // Server mit "neues Spiel" (Panel): kein Spielstand - hier ein neues Spiel starten (Server ab 2.9.3) + bool serverNewGame = r.BaseStream.Length - r.BaseStream.Position >= 1 && r.ReadBoolean(); + if (serverNewGame) + { + SetStatus("The server starts a new game - creating a fresh world..."); + MscoLog.Info("[MSCO] Server has a new game - starting a fresh world"); + MenuHelper.StartNewGame(); + break; + } SetStatus(dedicated ? "Loading server world..." : "Loading host's game..."); MenuHelper.StartGame(); break;