ModVersion (2.8.1, shown in MSCLoader/MSC Launcher) and ProtocolVersion (2.8) are separate; only the first two digits are compared (P2P host, Steam lobby, server info, server browser) and only the protocol version is sent, so minor updates stay compatible with 2.8 servers, hosts and players. README: how to publish minor and major updates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6.7 KiB
6.7 KiB
MSCO – My Summer Car Online
Multiplayer-Mod für My Summer Car (MSCLoader). Spiel mit bis zu 3 Spielern zusammen – per Steam-Einladung (P2P) oder auf einem dedizierten Server aus dem Server-Browser.
- Mod: dieses Repository
- Dedizierter Server: MSCO-Dedicated-Server
- Keymaster & Serverliste: MSCO-Keymaster – live unter https://msco.mbm.wtf
Features
Verbinden
- Launcher im Hauptmenü: P2P-Seite und Server-Browser
- 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 - Server ohne Steam („Non-Steam“) werden unterstützt, andere Mod-Version = Warnung statt Sperre
- Der Host-Spielstand wird beim Start automatisch an alle übertragen; der eigene Spielstand wird vorher gesichert und nach dem Spielen wiederhergestellt
Synchronisiert
- Spieler als eigene Figur im MSC-Stil (Karohemd, Jeans, Schnurrbart, Kappe – je Spieler etwas anders) mit Blickrichtung, Laufen, Ducken/Lehnen, Sitzen, gehaltenem Item und Namensschild
- 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; als Beifahrer mitfahren (Taste P)
- Fahrzeugzustand: Tank, Öl, Kühlwasser, Bremsflüssigkeit, Batterie, Schrauben-Festigkeit, Schäden, Verschleiß, Kilometerstand, Lack, Vergaser-/Zündungseinstellungen
- Anbauen/Abbauen von Teilen und Schrauben (PlayMaker-Events)
- Türen, Tore, Hauben (z.B. Garagentor), Geld, Uhrzeit und Wetter
Im Spiel
- T – Chat
- F7 – MSCO-Konsole mit allen Befehlen
- /admin – Admin-Menü für Server-Admins bzw. den P2P-Host: Spieler kicken/bannen, GOTO/BRING (teleportieren), Cheats (+1.000 / +10.000 MK, Bedürfnisse auffüllen, Satsuma zu sich holen) – Cheats werden im Chat angezeigt
- P – als Beifahrer ein-/aussteigen
- Alle Tasten sind in den MSCLoader-Einstellungen der Mod änderbar
- Rich Presence: zeigt Freunden deinen Status („In the Menus“, Server, Spielerzahl)
Installation
- MSCLoader installieren.
MSCO.dllvon den Releases herunterladen und in den Mods-Ordner kopieren (Standard:Documents\MySummerCar\Mods).- Spiel über Steam starten – ohne Steam gehen nur Non-Steam-Server.
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“ | Mod und Server auf dieselbe Version bringen (Releases) |
| 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 direkt, in der MSCLoader-Konsole mit mp davor (z.B. mp connect ...):
| 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) |
admin bzw. /admin im Chat |
Admin-Menü |
vehicles, rig |
Diagnose: Fahrzeuge / Spielermodelle |
debug |
Sync-Debugausgaben an/aus |
clear |
Konsole leeren |
Selbst bauen
- Eine C#-Entwicklungsumgebung, .NET Framework 3.5 (Unity 5.0 / Mono)
- Die Verweise in
MSCO.csprojzeigen aufF:\SteamLibrary\steamapps\common\My Summer Car\mysummercar_Data\Managed\(UnityEngine, PlayMaker, Assembly-CSharp, Assembly-CSharp-firstpass, MSCLoader, 0Harmony, Newtonsoft.Json, cInput) – bei anderem Installationsort anpassen. - Nach dem Build wird die DLL automatisch nach
Documents\MySummerCar\Modskopiert (MSCMODSFOLDERin der csproj).
msbuild MSCO.csproj -p:Configuration=Release
Updates veröffentlichen (MSC Launcher / MSCLoader)
- Kleines Update (Fehlerbehebungen, neue Funktionen, Netzwerk unverändert): in
MSCO.csnur die dritte Stelle vonModVersionerhöhen (2.8.1→2.8.2), Release bauen undbin/Release/MSCO.dllhochladen. Spieler mit 2.8.x spielen weiter zusammen, Server 2.8 müssen nicht aktualisiert werden. - Großes Update (Protokoll inkompatibel geändert):
ProtocolVersioninMSCO.csundGameServer.ModVersionim Server erhöhen (z.B.2.9),ModVersionauf2.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.
Aufbau
| Datei | Aufgabe |
|---|---|
MSCO.cs |
Mod-Einstieg, 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 |
Spielfiguren der Mitspieler |
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-worldauf dem Server setzt den Stand zurück. - Maximal 3 Spieler.
Lizenz
GNU AGPL-3.0 – siehe LICENSE.txt.
Made by MBM – mbm.wtf