3.6 KiB
Schnellstart
Voraussetzungen
- Docker und Docker Compose müssen installiert sein
1. Umgebungsvariablen einrichten
Kopiere die Vorlage und passe die Werte an:
cp .env.example .env
Bearbeite die .env-Datei und setze mindestens die gewünschten Passwörter. Für den Internet-Modus müssen zusätzlich SERVER_LOGIN und SERVER_VALIDATION_KEY gesetzt werden.
⚠ 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.
Wichtig: Die
.env-Datei enthält sensible Daten (Passwörter, Keys) und wird über die.gitignorevom Einchecken ausgeschlossen.
2. Server starten
Fertiges Docker Image verwenden (empfohlen)
Es steht ein fertiges Docker Image in der Container-Registry bereit – kein eigener Build nötig:
git.techniverse.net/scriptos/trackmania-server:latest
Tipp: Alle verfügbaren Tags findest du in der Container-Registry.
Mit Docker Compose
docker compose up -d
Die Konfiguration erfolgt über die .env-Datei, die automatisch eingelesen wird. Das Image wird automatisch aus der Registry geladen.
Docker Image selbst bauen
Alternativ kannst du das Image auch selbst bauen:
docker build -t tmserver:latest .
Anschließend den Server starten:
docker compose up -d --build
Internet-Modus (docker run)
Für den Internet-Modus wird ein Server-Account benötigt. Dieser kann auf der Trackmania Players-Seite erstellt werden.
docker run -d \
--env-file .env \
-p 2350:2350/tcp \
-p 2350:2350/udp \
-p 3450:3450/tcp \
-p 80:80/tcp \
-v ./data/gamedata:/opt/tmserver/GameData \
-v ./data/controlpanel:/var/www/html \
-v ./data/xaseco:/opt/tmserver/xaseco \
--name tmserver git.techniverse.net/scriptos/trackmania-server:latest
LAN-Modus (docker run)
Setze in der .env-Datei SERVER_MODE=lan oder übergib es direkt:
docker run -d \
--env-file .env \
-e SERVER_MODE=lan \
-p 2350:2350/tcp \
-p 2350:2350/udp \
-p 3450:3450/tcp \
-p 80:80/tcp \
-v ./data/gamedata:/opt/tmserver/GameData \
-v ./data/controlpanel:/var/www/html \
-v ./data/xaseco:/opt/tmserver/xaseco \
--name tmserver git.techniverse.net/scriptos/trackmania-server:latest
3. Verwaltungsoberflächen öffnen
| Tool | URL | Beschreibung |
|---|---|---|
| AdminServ | http://<host-ip>/ |
Server-Verwaltungsoberfläche |
| RemoteCP | http://<host-ip>/remotecp/ |
Alternative Verwaltungsoberfläche |
Weitere Details unter AdminServ und RemoteCP.
Persistente Konfiguration
Alle Server- und AdminServ-Daten werden über Bind-Mounts persistent auf dem Host gespeichert:
| Host-Pfad | Container-Pfad | Beschreibung |
|---|---|---|
./data/gamedata |
/opt/tmserver/GameData |
TM-Server-Daten (Config, Tracks, Skins, etc.) |
./data/controlpanel |
/var/www/html |
AdminServ- und RemoteCP-Daten |
./data/xaseco |
/opt/tmserver/xaseco |
XAseco-Konfiguration und Logs |
./data/mariadb |
/var/lib/mysql |
MariaDB-Datenbankdateien |
Beim ersten Start werden die Verzeichnisse automatisch aus dem Image erzeugt und die Umgebungsvariablen aus der .env-Datei angewendet. Bei weiteren Starts bleibt alles erhalten.
Weitere Details unter Konfiguration.