Files

38 lines
1.7 KiB
YAML

# MSCO dedizierter Gameserver mit Docker.
#
# docker compose up -d --build # erster Start legt data/server.json an und beendet sich
# -> in data/server.json den LicenseKey (von https://msco.mbm.wtf/keys), Name, MaxPlayers ... eintragen
# -> Spielstand-Dateien von My Summer Car nach data/save/ kopieren
# docker compose up -d
#
# Konsole: docker attach msco-server (verlassen mit Strg+P, dann Strg+Q - NICHT Strg+C)
# Befehl: docker exec msco-server msco <befehl> (z.B. msco players, msco op <SteamID64>)
# Logs: docker logs -f msco-server
# Stoppen: docker compose stop (speichert den Weltzustand)
services:
server:
build: .
container_name: msco-server
# Als dein Linux-Benutzer laufen (nicht root), damit du in data/ selbst Dateien anlegen/ändern darfst.
# Andere ID? `id -u` / `id -g` ausgeben und in .env als MSCO_UID / MSCO_GID eintragen.
user: "${MSCO_UID:-1000}:${MSCO_GID:-1000}"
# Das Programm läuft immer weiter (Web-Panel), auch wenn der Gameserver aus ist oder nicht starten kann
# (fehlender Schlüssel/Spielstand -> im Panel einrichten). Nach einem Neustart des Rechners startet es wieder.
restart: unless-stopped
stdin_open: true # Server-Konsole per docker attach
tty: true
stop_grace_period: 30s
logging: # Logs begrenzen, damit sie im Dauerbetrieb nicht die Platte füllen
driver: json-file
options:
max-size: "10m"
max-file: "3"
ports:
# Spiel UND Web-Panel (http://<server>:7777/) - Browser werden am selben Port erkannt
- "7777:7777/tcp"
# Eigener Panel-Port? In server.json "PanelPort": 40120 setzen und diese Zeile einkommentieren:
# - "40120:40120/tcp"
volumes:
- ./data:/data