Update docs and README: launcher, downloads, accounts, MySQL, new game, updates, tags, riding along, models, version scheme

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-02 22:28:56 +02:00
co-authored by Claude Opus 5.5
parent 835d3ce998
commit e31953b4ab
+21 -10
View File
@@ -6,6 +6,7 @@ und Windows.
- Mod: [MSCO](https://git.mbm.wtf/MrMaho/MSCO) - Mod: [MSCO](https://git.mbm.wtf/MrMaho/MSCO)
- Keymaster & Serverliste: [MSCO-Keymaster](https://git.mbm.wtf/MrMaho/MSCO-Keymaster) – https://msco.mbm.wtf - Keymaster & Serverliste: [MSCO-Keymaster](https://git.mbm.wtf/MrMaho/MSCO-Keymaster) – https://msco.mbm.wtf
- Launcher für Spieler: [MSCO-Launcher](https://git.mbm.wtf/MrMaho/MSCO-Launcher) – https://msco.mbm.wtf/download
![Web-Panel: Übersicht mit Start/Stop, Spielern, Laufzeit, Welt, Backups und letzter Aktivität](docs/images/panel-dashboard.png) ![Web-Panel: Übersicht mit Start/Stop, Spielern, Laufzeit, Welt, Backups und letzter Aktivität](docs/images/panel-dashboard.png)
@@ -15,7 +16,8 @@ und Windows.
Der Server prüft ihn beim Start und meldet sich danach regelmäßig beim Master für die Serverliste. Der Server prüft ihn beim Start und meldet sich danach regelmäßig beim Master für die Serverliste.
- Ein My-Summer-Car-Spielstand als Startwelt. - Ein My-Summer-Car-Spielstand als Startwelt.
- Port **7777/TCP** im Router/Firewall freigegeben (sonst wird der Server nicht gelistet). - Port **7777/TCP** im Router/Firewall freigegeben (sonst wird der Server nicht gelistet).
- Server und Mod müssen dieselbe Version haben (sonst bekommen Spieler eine Warnung). - Server und Mod müssen in den ersten zwei Stellen der Version passen (z.B. Server 2.8 ↔ Mod 2.8.x), sonst bekommen
Spieler eine Warnung. Kleine Mod-Updates (dritte Stelle) brauchen kein Server-Update.
## Mit Docker (empfohlen) ## Mit Docker (empfohlen)
@@ -113,7 +115,7 @@ und neu starten.
| `RequireSteam` | `true` = nur Spieler mit Steam; `false` = Non-Steam-Server (Spieler werden über den Namen erkannt) | | `RequireSteam` | `true` = nur Spieler mit Steam; `false` = Non-Steam-Server (Spieler werden über den Namen erkannt) |
| `PublicAddress` | öffentliche IP/Domain für die Liste (nur hinter NAT/Proxy nötig) | | `PublicAddress` | öffentliche IP/Domain für die Liste (nur hinter NAT/Proxy nötig) |
| `AutosaveSeconds` | wie oft der Weltzustand gespeichert wird | | `AutosaveSeconds` | wie oft der Weltzustand gespeichert wird |
| `SaveSyncMinutes` | wie oft (Minuten) sich der Server von einem Spieler im Spiel den **aktuellen Spielstand** hochladen lässt (Standard 5, zusätzlich bei jedem Beitritt; 0 = nur beim Beitritt) | | `SaveSyncMinutes` | wie oft (Minuten) sich der Server von einem Spieler im Spiel den **aktuellen Spielstand** hochladen lässt (Standard 10, zusätzlich bei jedem Beitritt; nur wenn sich etwas geändert hat; 0 = nur beim Beitritt) |
| `SteamWebApiKey` | Steam-Anmeldetickets der Spieler bei Steam prüfen – **nötig für Admins** (kostenlos: https://steamcommunity.com/dev/apikey) | | `SteamWebApiKey` | Steam-Anmeldetickets der Spieler bei Steam prüfen – **nötig für Admins** (kostenlos: https://steamcommunity.com/dev/apikey) |
| `BannedSteamIds` | gesperrte Spieler | | `BannedSteamIds` | gesperrte Spieler |
| `Admins` | SteamID64s, die im Spiel mit `/admin` kicken/bannen dürfen (nur mit `SteamWebApiKey`, siehe Sicherheit) | | `Admins` | SteamID64s, die im Spiel mit `/admin` kicken/bannen dürfen (nur mit `SteamWebApiKey`, siehe Sicherheit) |
@@ -149,8 +151,9 @@ Mit diesem Code legst du im Browser das **Owner**-Konto an (erneut anzeigen: `ms
| Console | Live-Log (Chat, Beitritte, Admin-Aktionen) und Befehle eingeben (mit Verlauf ↑/↓) | | Console | Live-Log (Chat, Beitritte, Admin-Aktionen) und Befehle eingeben (mit Verlauf ↑/↓) |
| Admins | Ingame-Admins per SteamID hinzufügen/entfernen (braucht einen [Steam Web API Key](https://steamcommunity.com/dev/apikey)) | | Admins | Ingame-Admins per SteamID hinzufügen/entfernen (braucht einen [Steam Web API Key](https://steamcommunity.com/dev/apikey)) |
| Bans | Gebannte ansehen, entbannen, SteamID auch offline bannen | | Bans | Gebannte ansehen, entbannen, SteamID auch offline bannen |
| World & Backups | Welt zurücksetzen, Backup, Reset-Punkt, Backups wiederherstellen, **Spielstand als ZIP, RAR oder 7z hochladen**, als ZIP herunterladen | | World & Backups | Welt zurücksetzen, Backup, Reset-Punkt, Backups wiederherstellen, **Spielstand als ZIP, RAR oder 7z hochladen**, als ZIP herunterladen, **neues Spiel starten** |
| Settings | `server.json` bearbeiten (Name, Spielerzahl, Sichtbarkeit, Ports, Panel, Schlüssel …) | | Settings | `server.json` bearbeiten (Name, Beschreibung, **Tags**, Spielerzahl, Sichtbarkeit, Ports, Panel, Schlüssel …) |
| Update | neue Server-Versionen prüfen und mit Fortschrittsanzeige installieren (oranger Punkt in der Seitenleiste, wenn eine da ist) |
| Panel Users | weitere Benutzer anlegen: **Moderator** (Spieler/Chat), **Admin** (alles am Server), **Owner** (+ Benutzer) | | Panel Users | weitere Benutzer anlegen: **Moderator** (Spieler/Chat), **Admin** (alles am Server), **Owner** (+ Benutzer) |
- **Das Panel ist unabhängig vom Gameserver:** Es läuft auch, wenn der Server gestoppt ist, abgestürzt ist oder gar - **Das Panel ist unabhängig vom Gameserver:** Es läuft auch, wenn der Server gestoppt ist, abgestürzt ist oder gar
@@ -162,7 +165,11 @@ Mit diesem Code legst du im Browser das **Owner**-Konto an (erneut anzeigen: `ms
Lizenzschlüssel und Spielstand im Panel hinterlegen, Start. Lizenzschlüssel und Spielstand im Panel hinterlegen, Start.
- Oberfläche auf **Deutsch oder Englisch** (Umschalter unten in der Seitenleiste). - Oberfläche auf **Deutsch oder Englisch** (Umschalter unten in der Seitenleiste).
- **Port oder Panel-Einstellungen geändert?** In den Einstellungen unten **„Panel neu starten“** – übernimmt sie sofort, - **Port oder Panel-Einstellungen geändert?** In den Einstellungen unten **„Panel neu starten“** – übernimmt sie sofort,
man bleibt angemeldet und wird auf die neue Adresse weitergeleitet. man bleibt angemeldet und wird auf die neue Adresse weitergeleitet. Ist *Web-Panel aktiviert* abgehakt, wird das
Panel dabei wirklich ausgeschaltet – wieder an mit `panel on` in der Server-Konsole.
- **Tags**: eigene Tags für die Serverliste (z.B. `deutsch, roleplay`, max. 6). `official` und `featured` vergeben nur
die MSCO-Admins im Keymaster.
- **Anmeldungen überstehen Neustarts** (auch Updates): Sitzungen liegen gehasht in `data/panel_sessions.json`.
- **Keymaster nicht erreichbar oder lehnt den Schlüssel ab?** Ein laufender Server läuft bis zum nächsten Neustart weiter - **Keymaster nicht erreichbar oder lehnt den Schlüssel ab?** Ein laufender Server läuft bis zum nächsten Neustart weiter
und warnt im Log/Panel. Ein Neustart klappt noch bis 72 Stunden nach der letzten Bestätigung (gespeichert in und warnt im Log/Panel. Ein Neustart klappt noch bis 72 Stunden nach der letzten Bestätigung (gespeichert in
`data/license.json`); danach startet der Server von selbst, sobald der Master den Schlüssel wieder bestätigt. `data/license.json`); danach startet der Server von selbst, sobald der Master den Schlüssel wieder bestätigt.
@@ -218,11 +225,12 @@ erreichbar. Ganz aus: `"PanelEnabled": false`.
| `stop` / `start` | Gameserver stoppen (das Web-Panel läuft weiter) / wieder starten | | `stop` / `start` | Gameserver stoppen (das Web-Panel läuft weiter) / wieder starten |
| `restart` | Server neu starten (Einstellungen, Lizenz, Spielstand neu laden) | | `restart` | Server neu starten (Einstellungen, Lizenz, Spielstand neu laden) |
| `exit` | ganzes Programm beenden (auch das Panel) – mit Docker startet es danach wieder, dauerhaft aus: `docker compose stop` | | `exit` | ganzes Programm beenden (auch das Panel) – mit Docker startet es danach wieder, dauerhaft aus: `docker compose stop` |
| `panel` | Adresse des Web-Panels und ggf. den Einrichtungs-Code anzeigen | | `new-game` | Spielstand sichern und ein frisches neues Spiel starten (der erste Spieler legt die Welt an) – alle verbinden neu |
| `stop` | speichern und beenden | | `panel [on\|off]` | Adresse des Web-Panels und ggf. den Einrichtungs-Code anzeigen / Panel an- oder ausschalten |
Im Spiel öffnen Admins mit `/admin` (Chat, Taste T) oder `admin` (F7-Konsole) das Admin-Menü: Kick/Ban, Im Spiel öffnen Admins mit `/admin` (Chat, Taste T) oder `admin` (F7-Konsole) das Admin-Menü: Kick/Ban,
GOTO/BRING (zu einem Spieler / Spieler zu sich teleportieren) und Cheats (Geld, Bedürfnisse auffüllen, Satsuma zu sich holen). **Admin geben/nehmen**, GOTO/BRING (zu einem Spieler / Spieler zu sich teleportieren), Cheats (Geld, Bedürfnisse
auffüllen, Satsuma zu sich holen), Items spawnen und Welt/Backups.
Cheats werden allen im Chat angezeigt, Teleports stehen im Server-Log. Cheats werden allen im Chat angezeigt, Teleports stehen im Server-Log.
Der Chat landet auch im Server-Log. Der Chat landet auch im Server-Log.
@@ -235,7 +243,9 @@ nachgespielt. Der vorherige Spielstand liegt jeweils in `data/save_backups/` (di
- `save/` – der Ausgangs-Spielstand, den jeder neue Spieler bekommt. - `save/` – der Ausgangs-Spielstand, den jeder neue Spieler bekommt.
- `world.json` – alles, was seitdem passiert ist: Positionen bewegter Objekte, Schraub-/Montage-Aktionen, - `world.json` – alles, was seitdem passiert ist: Positionen bewegter Objekte, Schraub-/Montage-Aktionen,
Geld, Türen/Tore, Fahrzeugzustand (Tank, Öl, Schrauben, Verschleiß …) und die letzte Position jedes Spielers. Geld, Türen/Tore, Fahrzeugzustand (Tank, Öl, Verschleiß, Teile, Lack …), Schalter (Licht, Zündung, Motor …), Jobs und
Events, gekaufte/verbrauchte Items sowie die letzte Position und die Bedürfnisse (Hunger, Durst …) jedes Spielers.
- Den Spielstand holt sich der Server nur, wenn sich seitdem etwas geändert hat (Speichern lässt das Spiel kurz hängen).
Beim Beitreten: Spielstand laden → Objekte erfassen → Weltzustand anwenden → an der letzten eigenen Position weiterspielen. Beim Beitreten: Spielstand laden → Objekte erfassen → Weltzustand anwenden → an der letzten eigenen Position weiterspielen.
@@ -262,7 +272,8 @@ anhalten – der Weltzustand wird atomar geschrieben. Beispiel (täglich per cro
tar czf /backup/msco-$(date +%F).tar.gz -C /pfad/zu/MSCO-Dedicated-Server data tar czf /backup/msco-$(date +%F).tar.gz -C /pfad/zu/MSCO-Dedicated-Server data
``` ```
**Updates:** Server und Mod müssen dieselbe Version haben. Nach einem neuen Release: **Updates:** am einfachsten im Web-Panel unter **Update**. Server und Mod müssen in den ersten zwei Stellen der
Version passen; die Mod bei den Spielern aktualisiert der Launcher. Ohne Panel:
```bash ```bash
git pull git pull