Ein vollständiges Docker-Setup für einen TrackMania Nations Forever-Server – inklusive Web-Verwaltung und Server-Controller
- TrackMania Dedicated Server – der eigentliche Spielserver für Internet- oder LAN-Betrieb
- XAseco – Server-Controller, der lokale Rekorde, Dedimania-Weltrekorde, Karma/Votes und eine Track-Jukebox direkt im Spielchat verwaltet
- AdminServ – Web-Oberfläche zur komfortablen Verwaltung und Konfiguration des Servers
- RemoteCP – alternative Web-Verwaltungsoberfläche mit eigenem Login- und Benutzersystem
Alle Komponenten laufen in einem einzigen Container und werden über Umgebungsvariablen konfiguriert.
Hinweis: Dieses Projekt ist ein Fork von lduriez/tmserver-docker.
Der Server unterstützt sowohl den Internet-Dedicated-Modus (Standard) als auch den LAN-Dedicated-Modus.
Seit v1.4.0 (lauffähiges Image ab v1.4.1) basiert das Image auf Debian 13 (Trixie) mit PHP 8.4. PHP 7.4 ist seit 2022 ohne Sicherheitsupdates und von kritischen Lücken wie PHP2Shell (CVE-2026-109618, CVE-2026-109619) betroffen – deshalb habe ich den Umstieg vorgenommen.
AdminServ, RemoteCP und XAseco stammen allerdings aus PHP-5-Zeiten. Damit sie unter PHP 8 laufen, patcht der Container sie beim Start automatisch (PHP-4-Konstruktoren, veraltete Syntax, statische Aufrufe und einige bekannte Laufzeitfehler). Die Anpassungen sind idempotent und greifen auch bei bestehenden Volumes.
Ich habe die gängigen Funktionen getestet, aber es kann durchaus noch zu Fehlern kommen – vor allem in selten genutzten Plugins oder Menüs. Wenn dir etwas auffällt (weiße Seite, HTTP 500, XAseco-Absturz, Funktion ohne Wirkung), eröffne bitte ein Issue und gib möglichst an:
- was du gemacht hast (Seite/Plugin/Chat-Befehl) und ungefähr wann,
- die passende Meldung aus
docker logs tmserver, dem Apache-Log (docker exec tmserver tail -n 50 /var/log/apache2/error.log),data/xaseco/aseco.logoderdata/controlpanel/remotecp/cache/errors.log.
Ich schaue mir das dann an. Wer PHP 7.4 behalten möchte, bleibt vorerst beim Image-Tag 1.3.3.
cp .env.example .envPasse die Werte in der .env-Datei an deine Umgebung an (Passwörter, Masterserver-Account, etc.).
⚠ Sicherheitshinweis: Die
.env.exampleenthält vorgenerierte Beispiel-Passwörter. Diese dienen nur als Platzhalter und sind öffentlich einsehbar! Ändere unbedingt alle Passwörter, bevor du den Server produktiv einsetzt.
Das fertige Docker Image kann direkt verwendet werden – kein eigener Build nötig:
docker compose up -dDas Image wird automatisch aus der Container-Registry geladen:
git.techniverse.net/scriptos/trackmania-server:latest
Tipp: Alle verfügbaren Tags findest du in der Container-Registry. Wenn du das Image lieber selbst bauen möchtest, findest du die Anleitung unter Schnellstart – Selbst bauen.
- AdminServ:
http://<host-ip>/ - RemoteCP:
http://<host-ip>/remotecp/
Hinweis: Für den Internet-Modus müssen
SERVER_LOGINundSERVER_VALIDATION_KEYin der.env-Datei gesetzt sein. Einen Server-Account kannst du auf players.trackmaniaforever.com erstellen. Für den LAN-Modus setzeSERVER_MODE=lan.
Die vollständige Dokumentation befindet sich im Ordner docs/:
- Schnellstart – Erste Schritte und minimale Konfiguration
- Konfiguration – Persistente Serverkonfiguration (dedicated_cfg.txt)
- Umgebungsvariablen – Alle verfügbaren Umgebungsvariablen
- Server-Modi – LAN- und Internet-Dedicated-Modus
- AdminServ – Einrichtung der Server-Verwaltungsoberfläche
- RemoteCP – Alternative Server-Verwaltungsoberfläche
- XAseco – Server-Controller für Rekorde, Karma und Jukebox
- IP-Watcher – Automatischer Neustart bei IP-Wechsel
- Ports – Freigegebene Ports und deren Verwendung
- Update – Bestehende Installation aktualisieren
Ein herzliches Dankeschön an Thomas – für seine tatkräftige Unterstützung, sein wertvolles Wissen und seine Mitwirkung an diesem Projekt. Ohne ihn wäre dieses Projekt nicht das, was es heute ist!
Dieses Repository wird von Gitea auf GitHub gespiegelt. Das Master-Repository befindet sich auf Gitea:
- Gitea (Master): git.techniverse.net/scriptos/tmserver-docker
- GitHub (Spiegel): github.com/pscriptos/tmserver-docker
© Patrick Asmus · Techniverse Network · Lizenz