MrMahoandClaude Opus 5.5 461d94c5fc MSCO 2.9.0: standalone without MSCLoader (Unity Doorstop)
- Bootstrap: Doorstop entry point, loads Harmony/Newtonsoft from the MSCO folder, hooks
  PlayMakerArrayListProxy.Awake and starts MSCO in the main menu; skips the news screen
- No MSCLoader reference anymore; key bindings in PlayerPrefs, bind console command
- Harmony 1.2 and Newtonsoft.Json in lib/ (MIT notices); build copies to <game>\MSCO
- README/CHANGELOG updated

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 23:36:28 +02:00
2026-09-26 19:42:02 +02:00
2026-09-26 19:37:28 +02:00
2026-09-26 19:37:28 +02:00
2026-09-26 00:08:05 +02:00
2026-09-26 19:37:28 +02:00

MSCO – My Summer Car Online

Multiplayer-Mod für My Summer Car. Spiel mit bis zu 3 Spielern zusammen – per Steam-Einladung (P2P) oder auf einem dedizierten Server aus dem Server-Browser. MSCO läuft eigenständig, ohne MSCLoader (Start über Unity Doorstop); MSCLoader wird beim Spielen mit MSCO blockiert.

Features

Verbinden

  • Launcher im Hauptmenü (Vollbild, automatisch skaliert): P2P-Seite, Server-Browser und Favoriten; mit – einklappen, dann ist das Startmenü des Spiels wieder bedienbar
  • P2P über Steam: HOST GAME, Freunde einladen, Beitritt über die Steam-Freundesliste (max. 3 Spieler)
  • Server-Browser: Suche, Filter (Steam / Non-Steam / volle ausblenden), Ping, Server-Profil (Besitzer, Version, Laufzeit, Spieler), lokale Server auf diesem PC werden automatisch gefunden
  • Direct Connect per Adresse, JOIN-Links von der Website (msco://) starten das Spiel und verbinden direkt
  • Favoriten mit Herz und Kurzname, schnell wechseln mit /switch <kurzname>
  • P2P: neues Spiel oder weiterspielen – der Host startet ein frisches Spiel oder lädt seinen Spielstand
  • Server ohne Steam („Non-Steam“) werden unterstützt; Versionen passen, solange die ersten zwei Stellen gleich sind
  • Nach einem Kick/Bann ein Fenster mit dem Grund; nach Welt-Reset oder Server-Neustart verbindet man automatisch neu
  • Der Host-Spielstand wird beim Start automatisch an alle übertragen; der eigene Spielstand wird vorher gesichert und nach dem Spielen wiederhergestellt

Synchronisiert

  • Spieler als echte MSC-Menschen (derselbe Körper wie die Leute im Spiel, je Spieler anderes Hemd, Hose, Gesicht) mit Blickrichtung, Laufen, Springen, Ducken/Lehnen, Sitzen, gehaltenem Item und Namensschild (model classic = einfache MSCO-Figur)
  • Items, lose Teile, Schrauben und Fahrzeuge (auch mit G geschoben) mit Besitzer-System – inkl. was jemand in der Hand hält
  • Fahrzeuge: Position, Lichter, Motorgeräusch, Bedienelemente (Zündung, Licht, Blinker, Wischer, Handbremse …), Tacho, Lenkrad, drehende Räder, Türen/Haube/Kofferraum, Unfallschäden
  • Mitfahren: wer im Fahrzeug ist (Kabine, offene Tür, Ladefläche), fährt genau dort mit – mit oder ohne Fahrer
  • Fahrzeugzustand: Tank, Öl, Kühlwasser, Bremsflüssigkeit, Batterie, Schäden, Verschleiß, Kilometerstand, Vergaser-/Zündungseinstellungen; beim Satsuma zusätzlich jedes Teil (Verschleiß, kaputte Teile, Reifen, Ölwanne, Fahrwerk) und der Lack
  • Anbauen/Abbauen von Teilen und Schrauben (PlayMaker-Events)
  • Türen, Tore, Hauben (z.B. Garagentor), Geld, Uhrzeit und Wetter, NPC-Verkehr
  • Jobs und Events: Laden, Werkstatt, Prüfstelle, Müllkippe, Tanzhalle, Rallye, Dragrace, Kilju-Käufer, Theater, Fußball, Peräjärvi, Ferienhaus, Hütte
  • Pro Spieler auf dem Server: letzte Position und Bedürfnisse (Hunger, Durst, Stress …)

Im Spiel

  • T – Chat
  • F7 – MSCO-Konsole mit allen Befehlen
  • /admin – Admin-Menü für Server-Admins bzw. den P2P-Host: Spieler kicken/bannen, Admin geben/nehmen, GOTO/BRING (teleportieren), Cheats (+1.000 / +10.000 MK, Bedürfnisse auffüllen, Satsuma zu sich holen), Items spawnen, Welt zurücksetzen/Backups – Cheats werden im Chat angezeigt
  • P / Leertaste – aussteigen; P neben einem Auto – auf den Beifahrersitz
  • Tasten ändern mit bind in der F7-Konsole (z.B. bind passenger O)
  • Rich Presence: zeigt Freunden deinen Status („In the Menus“, Server, Spielerzahl)

Installation

Mit dem Launcher (empfohlen): den MSCO Launcher installieren – er installiert und aktualisiert MSCO und startet das Spiel. MSCLoader wird nicht gebraucht.

Was der Launcher im Spielordner einrichtet:

Datei
MSCO\MSCO.dll (+ 0Harmony.dll, Newtonsoft.Json.dll) die Mod
winhttp.dll Unity Doorstop 4 – nur wenn noch keiner da ist (MSCLoader bringt denselben mit)
doorstop_config.ini zeigt auf MSCO\MSCO.dll – eine MSCLoader-Konfiguration wird vorher als doorstop_config.mscloader.ini gesichert

Alte MSCO-Versionen im MSCLoader-Mods-Ordner werden in MSCO.dll.old umbenannt. Damit startet My Summer Car auch über Steam mit MSCO und ohne MSCLoader. MSCLoader wieder benutzen: doorstop_config.mscloader.ini zurück in doorstop_config.ini umbenennen.

Von Hand: Doorstop 4 (winhttp.dll, x64) in den Spielordner, MSCO.dll von der Download-Seite mit 0Harmony.dll und Newtonsoft.Json.dll nach <Spielordner>\MSCO\ und in doorstop_config.ini target_assembly = MSCO\MSCO.dll eintragen.

Spiel mit Steam starten – ohne Steam gehen nur Non-Steam-Server. Das Lade-Protokoll steht in <Spielordner>\MSCO\MSCO_Loader.txt.

Einen eigenen Server betreiben

Siehe MSCO-Dedicated-Server – Lizenzschlüssel gibt es kostenlos unter https://msco.mbm.wtf/keys.

Probleme?

Problem Lösung
Server fehlt im Browser REFRESH drücken; Filter (STEAM / NON-STEAM) prüfen; der Server muss von außen erreichbar sein
„This server requires Steam“ Spiel über Steam starten
Warnung „Version mismatch“ Die ersten zwei Stellen unterscheiden sich – Mod (Launcher) oder Server aktualisieren
Mod lässt sich nicht aktualisieren Spiel schließen – solange es läuft, ist MSCO.dll gesperrt
Statt MSCO startet MSCLoader Im Launcher SPIELEN drücken – er stellt doorstop_config.ini wieder auf MSCO (z.B. nach einem MSCLoader-Update)
MSCO startet gar nicht <Spielordner>\MSCO\MSCO_Loader.txt ansehen
Eigener Spielstand weg Wird nach dem Verlassen automatisch wiederhergestellt; Sicherung liegt in AppData\LocalLow\Amistech\My Summer Car\MSCO_Backup
Absturz / Hänger beim Beitreten output_log.txt im Spielordner an den Server-Betreiber bzw. als Issue schicken

Befehle

In der F7-Konsole:

Befehl Beschreibung
connect <host[:port]> mit einem dedizierten Server verbinden
disconnect Server / Spiel verlassen
host [port] / join <ip> [port] LAN-Testsitzung ohne Steam
save Spiel speichern (Host / Einzelspieler)
ping [on|off] Ping zum Server oben rechts anzeigen (grün < 80 ms, gelb < 150 ms, rot darüber)
fps [on|off] Bilder pro Sekunde oben rechts
switch <kurzname>, fav … Zu einem Favoriten wechseln, Favoriten verwalten
model [game|classic] Mitspieler als MSC-Menschen oder als einfache Figur
vars <filter> Diagnose: synchronisierte Fahrzeugwerte
admin bzw. /admin im Chat Admin-Menü
vehicles, rig Diagnose: Fahrzeuge / Spielermodelle
debug Sync-Debugausgaben an/aus
bind [aktion taste] Tasten anzeigen / ändern (passenger, console, chat)
clear Konsole leeren

Selbst bauen

  • Eine C#-Entwicklungsumgebung, .NET Framework 3.5 (Unity 5.0 / Mono)
  • Die Verweise in MSCO.csproj zeigen auf F:\SteamLibrary\steamapps\common\My Summer Car\mysummercar_Data\Managed\ (UnityEngine, PlayMaker, Assembly-CSharp, Assembly-CSharp-firstpass, cInput) – bei anderem Installationsort anpassen. Harmony 1.2 und Newtonsoft.Json liegen in lib/ (MIT, siehe lib/THIRD-PARTY.txt).
  • Nach dem Build wird die DLL automatisch nach <Spielordner>\MSCO kopiert (Ziel CopyToGame in der csproj).
  • Einstieg: Bootstrap.cs (Doorstop.Entrypoint.Start → Harmony-Haken in PlayMakerArrayListProxy.Awake → MSCO_Host im Hauptmenü, überspringt den Nachrichten-Bildschirm).
msbuild MSCO.csproj -p:Configuration=Release

Updates veröffentlichen

  • Kleines Update (Fehlerbehebungen, neue Funktionen, Netzwerk unverändert): in MSCO.cs nur die dritte Stelle von ModVersion erhöhen (2.9.0 → 2.9.1), Release bauen und bin/Release/MSCO.dll auf den Keymaster laden. Spieler mit derselben Netzwerk-Version spielen weiter zusammen, Server müssen nicht aktualisiert werden.
  • Großes Update (Protokoll inkompatibel geändert): ProtocolVersion in MSCO.cs und GameServer.ModVersion im Server erhöhen (z.B. 2.9), ModVersion auf 2.9.0. Dann brauchen alle die neue Mod und den neuen Server.
  • Verglichen werden immer nur die ersten zwei Stellen; übers Netz geht nur die Netzwerk-Version.
  • Automatisch hochladen: Ist lokal MSCO_RELEASE_TOKEN gesetzt (= RELEASE_TOKEN des Keymasters, oder in %AppData%\MSCO\release-token.txt), lädt jeder Release-Build eine neue Version selbst auf den Keymaster (release.ps1, Changelog aus dem passenden Abschnitt in CHANGELOG.md). Gibt es die Version schon, passiert nichts.

Aufbau

Datei Aufgabe
Bootstrap.cs, MSCO.cs Start ohne MSCLoader (Doorstop), Versionen, Tastenbelegung
MultiplayerManager.cs Sitzung, Nachrichten, Spielerliste, Spielstart, HUD
NetSession.cs Netzwerk (TCP und Steam P2P), Protokoll
LobbyUI.cs, Overlays.cs, UiTheme.cs Launcher, Konsole/Chat/Admin-Menü, gemeinsamer Stil
ServerBrowser.cs, WinHttp.cs Serverliste (TLS 1.2 über WinHTTP), Server-Abfrage
ObjectSync.cs Items/Teile/Fahrzeuge mit Besitzer-System
VehicleStateSync.cs, VehicleFx.cs, Passenger.cs Fahrzeugzustand, Lichter/Sound, Beifahrer
FsmSync.cs, DoorSync.cs, WorldSync.cs, MoneySync.cs Montage-Events, Türen, Zeit/Wetter, Geld
RemotePlayer.cs, GameCharacter.cs Spielfiguren der Mitspieler (Animation, MSC-Körper mit eigenem Skelett)
HingeSync.cs, ControlSync.cs, DamageSync.cs, WorldVarSync.cs Türwinkel, Schalter, Unfallschäden, Jobs/Events
Favorites.cs, Commands.cs, PlayerNeeds.cs Favoriten, Konsolenbefehle, Bedürfnisse pro Spieler
SaveSync.cs, MenuHelper.cs Spielstand übertragen/sichern, Laden aus dem Menü
SteamLobby.cs, JoinLinks.cs, DiscordPresence.cs Steam-Lobbys, msco://-Links, Rich Presence
SafetyPatches.cs, InputLock.cs, SceneCache.cs Absturzschutz, Eingabesperre, geteilte FSM-Suche

Bekannte Einschränkungen

  • Teile, die nach dem Server-Spielstand montiert wurden, werden für neue Spieler nachgespielt – das klappt nicht immer perfekt. reset-world auf dem Server setzt den Stand zurück.
  • Maximal 3 Spieler im P2P-Spiel (dedizierte Server: so viele wie eingestellt).

Lizenz

GNU AGPL-3.0 – siehe LICENSE.txt.

Made by MBM – mbm.wtf

S
Description
No description provided
Readme
2.2 MiB
2026-10-02 16:01:34 +00:00
Languages
C# 97.7%
PowerShell 2.3%