Skip to content

About

All-in-One Docker-Setup für einen TrackMania Nations Forever Dedicated Server inkl. XAseco, AdminServ und RemoteCP

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Techniverse Community

TM-Server Docker

Ein vollständiges Docker-Setup für einen TrackMania Nations Forever-Server – inklusive Web-Verwaltung und Server-Controller



✨ Übersicht

  • 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.

⚠️ PHP 8 – bitte lesen (ab v1.4.1)

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.log oder data/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.

🚀 Schnellstart

1. Umgebungsvariablen einrichten

cp .env.example .env

Passe die Werte in der .env-Datei an deine Umgebung an (Passwörter, Masterserver-Account, etc.).

⚠ Sicherheitshinweis: Die .env.example enthä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.

2. Server starten

Das fertige Docker Image kann direkt verwendet werden – kein eigener Build nötig:

docker compose up -d

Das 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.

3. Verwaltungsoberflächen öffnen

  • AdminServ: http://<host-ip>/
  • RemoteCP: http://<host-ip>/remotecp/

Hinweis: Für den Internet-Modus müssen SERVER_LOGIN und SERVER_VALIDATION_KEY in der .env-Datei gesetzt sein. Einen Server-Account kannst du auf players.trackmaniaforever.com erstellen. Für den LAN-Modus setze SERVER_MODE=lan.

📚 Dokumentation

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

🙏 Danksagung

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!

🔄 Spiegelung

Dieses Repository wird von Gitea auf GitHub gespiegelt. Das Master-Repository befindet sich auf Gitea:



© Patrick Asmus · Techniverse Network · Lizenz

About

All-in-One Docker-Setup für einen TrackMania Nations Forever Dedicated Server inkl. XAseco, AdminServ und RemoteCP

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages