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:
@@ -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
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user