9.4 KiB
9.4 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
- Launcher (installiert und aktualisiert die Mod): MSCO-Launcher
- Download: https://msco.mbm.wtf/download
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
- Alle Tasten sind in den MSCLoader-Einstellungen der Mod änderbar
- 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 muss installiert sein.
Von Hand:
- MSCLoader installieren.
MSCO.dllvon der Download-Seite laden 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“ | 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 |
| 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) |
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 |
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.
- Automatisch hochladen: Ist lokal
MSCO_RELEASE_TOKENgesetzt (=RELEASE_TOKENdes Keymasters, oder in%AppData%\MSCO elease-token.txt), lädt jeder Release-Build eine neue Version selbst auf den Keymaster (release.ps1, Changelog aus dem passenden Abschnitt inCHANGELOG.md). Gibt es die Version schon, passiert nichts.
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, 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-worldauf 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