5.3 KiB
5.3 KiB
Changelog
2.8
Server und Mod müssen beide 2.8 sein (Server: git pull && docker compose up -d --build).
Mehr Sync
- Einkäufe: gekaufte/ausgepackte Items tauchen bei allen auf (auch bei später Beitretenden)
- Verbrauchte Items: Gegessenes, Getrunkenes und Verbrauchtes verschwindet bei allen
- Räder drehen sich bei Autos, die ein anderer Spieler fährt
- Unfallschäden: verbeulte Karosserie wird an alle übertragen
- Jobs, Aufträge und Laden: Fortschritt (Auftrag angenommen, erledigt, bestellt ...) wird synchronisiert
- Autotüren, Motorhaube, Kofferraum: stehen bei allen im selben Winkel offen
- Verkehr: NPC-Autos fahren bei allen an derselben Stelle (der erste Spieler simuliert, die anderen folgen)
vehiclesin der F7-Konsole zeigt, wie viele Karosserie-Meshes, Job-Werte und Verkehrsautos synchronisiert werden
Leistung
- Mod: herumliegende Objekte werden nur noch jedes 4. Frame geprüft (eigene/gehaltene/gefahrene weiterhin jedes Frame), weniger Speicher-Allokationen pro Frame, Gelenke fremd gefahrener Autos seltener geprüft
- Server: Nachrichten an alle werden nur einmal verpackt; der Server wartet auf eingehende Daten statt fest zu schlafen (geringere Verzögerung, fast keine CPU-Last im Leerlauf)
2.7
Server und Mod müssen beide 2.7 sein (Server: git pull && docker compose up -d --build).
Neu
- Eigene Spielerfigur im MSC-Stil (Karohemd, Jeans, Arbeitsschuhe, Schnurrbart, Kappe oder Haare, je Spieler etwas anders) statt kopierter NPCs – keine liegenden/verbuggten Figuren mehr
- Ping-Anzeige oben rechts:
pingin der F7-Konsole (grün/gelb/rot) - MSCO-Konsole jetzt auf F7 (F8 öffnet im Pausenmenü ein Test-Menü des Spiels)
- Admin-Menü: Cheats (+1.000 / +10.000 MK, Bedürfnisse auffüllen, Satsuma zu sich holen), GOTO / BRING (teleportieren)
- Fahrzeugzustand-Sync: Tank, Öl, Kühlwasser, Bremsflüssigkeit, Batterie, Schäden, Verschleiß, Kilometerstand, Lack
vehiclesin der Konsole zeigt die Position jedes Fahrzeugs- Admin-Menü mit Reitern: PLAYERS (Kick/Ban/GOTO/BRING, Cheats), ITEMS (Items spawnen – alle sehen sie, auf dem
Server gespeichert), BANS (Sperren aufheben); Server-Befehle
bans/unban - Tacho, Drehzahlmesser, Tank-/Temperaturanzeige und Lenkrad werden beim Beifahrer mitbewegt
- Flüssigerer Sync: Position wird aus der Geschwindigkeit vorausberechnet, 30 Updates/s
- Letzte Position wird zuverlässig gespeichert (nicht mehr immer an der Toilette spawnen)
- Server-Browser: Klick auf den Server öffnet das Profil (JOIN-Knopf in der Liste entfernt)
- Alle Mod-Meldungen nur noch in der MSCO-Konsole (F7)
- Eigenes Hauptmenü: Continue, New Game, Credits, Changelog und Quit des Spiels sind ausgeblendet, der MSCO-Launcher ist das Hauptmenü (mit eigenem QUIT)
- Server-Profil neu: JOIN oben, Spielerliste rechts, Namensfeld ohne Steam in eigenem Kasten
- Admin-ITEMS: Werkzeuge und Laden-Artikel (Ratschenkasten, Batterie, Motoröl, Kühlmittel, Bremsflüssigkeit ...)
- Nach dem Trennen (Kick, Ban, Shutdown, Timeout ...) zeigt das Hauptmenü den Grund
reset-world/reload-saveauf dem Server: alle Spieler bekommen eine Meldung und verbinden sich automatisch neu- Server holt sich den aktuellen Spielstand vom Spiel (beim Beitreten und alle 5 Minuten): neue Spieler bekommen exakt die aktuelle Welt – Schrauben fest, Teile dran – statt nachgespielter Aktionen; Backups der letzten 5 Stände
- Feuer, Rauch, Dampf und Funken an Fahrzeugen werden synchronisiert, auch bei geparkten Autos
- Kick-, Ban-, Reset- und Shutdown-Meldungen kommen zuverlässig an (Server trennt sauber)
- Status-Punkt gelb, bis man wirklich verbunden ist
Behoben
- Auto fiel beim Fahren eines anderen Spielers auseinander (angebaute Teile rissen an ihren Gelenken ab)
- Auto kippte mit dem Kopf des Fahrers mit und zitterte (Fahrzeug wurde als „in der Hand gehalten“ erkannt)
- Satsuma wurde weggeschleudert und war „verschwunden“ – ungültige/im Boden liegende Positionen werden jetzt verworfen bzw. angehoben, weggeschleuderte Objekte sofort gestoppt
- Items und Autos zitterten nach dem Loslassen (Ownership-Pingpong)
- Absturz beim Beitreten durch einen Kreis in der Objekt-Hierarchie (nachgespielte Montage-Aktion)
- Tippen im Chat/in der Konsole löste Spieltasten aus (Benutzen, Beifahrer-Taste P …)
- Maus sprang bei offenem Admin-Menü/Chat immer in die Bildmitte
- Ein Fehler in einem Sync-Teil legt nicht mehr den ganzen Sync lahm
- Freie Fahrzeuge: nur noch deutliche Wertänderungen werden abgeglichen (kein gegenseitiges Überschreiben)
Sicherheit (Server)
- Admin-Rechte nur noch für von Steam bestätigte SteamIDs – der Server braucht dafür einen
SteamWebApiKey(sonst könnte sich jeder als Admin ausgeben). Unbestätigte SteamIDs können niemanden mehr vom Server drängen. - Ungültige Positionen werden nicht gespeichert, Paketgröße und Weltzustand sind begrenzt
Server & Keymaster
- Master-Adresse fest (
msco.mbm.wtf), nicht mehr änderbar - Docker läuft als dein Linux-Benutzer (kein „Permission denied“ in
data/mehr), klare Meldungen statt Absturz docker exec msco-server msco <befehl>für Server-Befehle- Keymaster: Rate-Limits, Security-Header, Healthcheck, Docs-Seite
- Automatische Tests: Server
dotnet run --project Tests(30 Checks), Keymasternpm run smoke(24 Checks)