MrMahoandClaude Opus 5.5 7b4a89d50f MSCO 2.10.2: passenger only while moving, drain plug sync, admin VEHICLE tab, profile layout
- Passenger: auto ride-along only when the vehicle moves (speed from its motion, also for
  kinematic remote cars) - no more getting stuck while working in the engine bay or re-captured
- Bolts with a function (drain plug: stage 0-5 = oil leak on) are synced as stage and applied
  through the bolt's own stage logic; world authority sends its state once after joining.
  Fixes endless oil leaking when players had the drain plug in different states
- Admin menu VEHICLE tab: fluids with FILL/EMPTY, all Database parts with wear/damage,
  REPAIR/BREAK per part, REPAIR ALL, filter
- Server profile: info and players as two equal cards, no wrapping
- fsmdump also lists FSM variables

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 12:02:21 +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), TELEPORT zu Orten (Haus, Laden, Werkstatt, Prüfstelle, Peräjärvi …), VEHICLE (Füllstände auffüllen/leeren, Teile reparieren/zerstören – zum Testen), 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)
  • MSCO-Look: Fenstertitel, Symbol und Logo im Hauptmenü; der „Press any key“-Startbildschirm wird übersprungen; ESC im Hauptmenü beendet das Spiel nicht
  • Mods: eigene MSCO-Mods in <Spielordner>\MSCO\Mods, Server können eigene Mods mitbringen (Download nach Zustimmung) – siehe MODDING.md

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) 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 (Harmony 1.2) 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
mods geladene MSCO-Mods
perf [reset] FPS und wie lange jeder MSCO-Teil pro Bild braucht
fsmdump <text> Diagnose: Spiel-Logik (PlayMaker) und Scharniere von Objekten mit diesem Namen nach MSCO\fsmdump.txt
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 liegt in lib/ (MIT, siehe lib/THIRD-PARTY.txt). JSON liest MSCO selbst (MiniJson.cs) – das Spiel hat ohne MSCLoader kein System.Runtime.Serialization.
  • 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), Ladebildschirm, Versionen, Tastenbelegung
MenuBranding.cs, MiniJson.cs Fenstertitel/-symbol und Menü-Logo, eigener JSON-Leser
ModApi.cs, ModLoader.cs Mod-Schnittstelle MscoMod, Laden und Aufrufen der Mods (siehe MODDING.md)
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%