From ffdc11a02b0ebbc8a890d2e1de14f4d6224f3a21 Mon Sep 17 00:00:00 2001 From: "Patrick Asmus (scriptos)" Date: Sun, 22 Mar 2026 00:29:12 +0100 Subject: [PATCH] feat: Warmup deaktivieren & als ENV-Variable steuerbar machen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Default von allwarmupduration in custom_game_settings.txt auf 0 gesetzt - Neue Umgebungsvariable ALLWARMUPDURATION (Default: 0) - Startup-Script wendet ENV auf MatchSettings an (inkl. FORCE_CONFIG_UPDATE) - Dokumentation ergänzt (umgebungsvariablen.md) Closes #2 --- Dockerfile | 3 +++ assets/bin/RunTrackmaniaServer.sh | 5 +++++ assets/config/custom_game_settings.txt | 2 +- docs/umgebungsvariablen.md | 6 ++++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0738de0..9199d73 100644 --- a/Dockerfile +++ b/Dockerfile @@ -136,6 +136,9 @@ ENV SERVER_DOWNLOAD_RATE=8192 ENV SERVER_MODE=internet ENV FORCE_CONFIG_UPDATE=false +# Spieleinstellungen (MatchSettings) +ENV ALLWARMUPDURATION=0 + # RemoteCP ENV REMOTECP_DB_HOST=mariadb ENV REMOTECP_DB_NAME=remotecp diff --git a/assets/bin/RunTrackmaniaServer.sh b/assets/bin/RunTrackmaniaServer.sh index d29fbea..0f4a504 100644 --- a/assets/bin/RunTrackmaniaServer.sh +++ b/assets/bin/RunTrackmaniaServer.sh @@ -357,6 +357,7 @@ echo "Starting apache server" service apache2 start CONFIG="/opt/tmserver/GameData/Config/dedicated_cfg.txt" +GAME_SETTINGS="/opt/tmserver/GameData/Tracks/MatchSettings/custom_game_settings.txt" GAMEDATA_DIR="/opt/tmserver/GameData" DEFAULT_GAMEDATA="/opt/tmserver/default-gamedata" @@ -388,6 +389,7 @@ elif [ "$FORCE_CONFIG_UPDATE" = "true" ]; then echo " ACHTUNG: Manuelle Aenderungen an den betroffenen Feldern werden ueberschrieben!" # Template neu kopieren, damit alle Platzhalter vorhanden sind cp "$DEFAULT_GAMEDATA/Config/dedicated_cfg.txt" "$CONFIG" + cp "$DEFAULT_GAMEDATA/Tracks/MatchSettings/custom_game_settings.txt" "$GAME_SETTINGS" APPLY_ENV=true else echo "==> Vorhandene Konfiguration gefunden. Umgebungsvariablen werden NICHT angewendet." @@ -429,6 +431,9 @@ if [ "$APPLY_ENV" = "true" ]; then sed -i "s|%%SERVER_UPLOAD_RATE%%|${SERVER_UPLOAD_RATE}|g" "$CONFIG" sed -i "s|%%SERVER_DOWNLOAD_RATE%%|${SERVER_DOWNLOAD_RATE}|g" "$CONFIG" + # Spieleinstellungen (MatchSettings) + sed -i "s|[^<]*|${ALLWARMUPDURATION:-0}|" "$GAME_SETTINGS" + echo "Platzhalter erfolgreich ersetzt." fi diff --git a/assets/config/custom_game_settings.txt b/assets/config/custom_game_settings.txt index e5fc67f..ba90084 100644 --- a/assets/config/custom_game_settings.txt +++ b/assets/config/custom_game_settings.txt @@ -4,7 +4,7 @@ 1 10000 1 - 1 + 0 0 0 30 diff --git a/docs/umgebungsvariablen.md b/docs/umgebungsvariablen.md index 85692e2..5af2ea8 100644 --- a/docs/umgebungsvariablen.md +++ b/docs/umgebungsvariablen.md @@ -67,6 +67,12 @@ nano .env | `SERVER_MODE` | Server-Modus (`internet` oder `lan`) | `internet` | | `FORCE_CONFIG_UPDATE` | Erzwingt erneutes Anwenden aller Umgebungsvariablen auf die Config | `false` | +## Spieleinstellungen (MatchSettings) + +| Variable | Beschreibung | Standard | +|----------|-------------|----------| +| `ALLWARMUPDURATION` | Warmup-Dauer für alle Runden (`0` = deaktiviert, `1` = eine Runde Warmup) | `0` | + ## RemoteCP RemoteCP verwendet die SuperAdmin-Zugangsdaten (`SERVER_SA_PASSWORD`) des TM-Servers für den Web-Login. Es werden keine separaten Login-Variablen benötigt.