-
v1.4.0 – PHP 8.4 (fehlerhaftes Image, bitte v1.4.1 nutzen)
Pre-ReleaseBuild & Push Docker Image / build-and-push (push) Successful in 1m45sreleased this
2026-11-01 16:15:15 +00:00 | 1 commits to master since this release❌ Bitte nicht verwenden: Das Image
1.4.0wurde versehentlich für arm64 gebaut und startet auf amd64-Hosts nicht (exec format error). Nutze stattdessen v1.4.1 – inhaltlich identisch, nur korrekt für linux/amd64 gebaut.Umstieg auf PHP 8.4
Ab dieser Version basiert das Image auf Debian 13 (Trixie) mit PHP 8.4.27. PHP 7.4 bekommt seit 2022 keine Sicherheitsupdates mehr und ist u. a. von PHP2Shell (CVE-2026-109618, CVE-2026-109619) betroffen.
⚠️ Bitte beachten
AdminServ, RemoteCP und XAseco stammen aus PHP-5-Zeiten und werden beim Containerstart automatisch für PHP 8 gepatcht. Ich habe die gängigen Funktionen getestet, es kann aber noch zu Fehlern kommen. Bitte meldet Probleme als Issue – mit Beschreibung und der passenden Log-Meldung. Wer bei PHP 7.4 bleiben möchte, nutzt vorerst
1.3.3.Änderungen
- Basis:
debian:trixie-slim, PHP 8.4.27 (Archive-Repositories von Bullseye entfallen) - Php8Compat.php: ergänzt
__construct()für PHP-4-Konstruktoren, stellt$str{0}auf$str[0]um und markiert statisch aufgerufene Methoden alsstatic - XAseco: Webaccess-Antworten als Array initialisiert (behebt TypeErrors in Dedimania/ManiaKarma),
mysqli_report(MYSQLI_REPORT_OFF)für den mysql-Shim,count()-Fix und Absturz-Fix im TeamSpeak3-Plugin - XAseco-Healthcheck: Verbindungsfehler externer Dienste (z. B. das nicht erreichbare dedimania.net) lösen keinen Neustart mehr aus
- AdminServ: „MatchSettings erstellen“ bei Map-Dateinamen mit Sonderzeichen repariert, Überlauf beim Speichern von Zeitlimits (z. B. LapsTimeLimit) behoben
- RemoteCP:
PHP_DISPLAY_ERRORSwird respektiert, PHP-7.4-Deprecations behoben, weniger Log-Rauschen,remotecp/cache/*.logwird rotiert
Update
git pull docker compose pull docker compose up -dDownloads
- Basis:
-
released this
2026-10-31 10:54:49 +00:00 | 8 commits to master since this releaseRelease Notes – Version 1.3.3
Datum: 31. Oktober 2026
Branch:master
Docker Image:git.techniverse.net/scriptos/trackmania-server:1.3.3
Änderungen in dieser Version
Bugfixes
- AdminServ Schreibrechte (#19): Das Log-Verzeichnis (
./logs/) wird beim Containerstart nun automatisch auf777und Besitzerwww-data:www-datagehalten, damit AdminServ nach Reboots oder Backups dauerhaft beschreibbar bleibt. (d550e81) - Docker Build (Debian Bullseye EOL): Die Paketquellen im
Dockerfilewurden aufarchive.debian.orgumgestellt, um 404-Fehler beim Image-Build durch archivierte Bullseye-Security-Mirrors zu beheben. (592f047)
Upgrades
- IP-Watcher: Upgrade des Basis-Images von
alpine:3.21(EOL 01.11.2026) aufalpine:3.24. (9ac5c99)
Release
- Docker Image Tag in
docker-compose.ymlauf1.3.3aktualisiert. (d550e81)
Alle Commits (seit 1.3.2)
Hash Beschreibung 592f047fix(docker): Debian Bullseye Archive-Repositories fuer Paketinstallation nutzen d550e81fix: AdminServ Schreibrechte fuer ./logs/ und Configs bei Containerstart sicherstellen (Fixes #19) 9ac5c99feat: Upgrade ip-watcher Image auf alpine:3.24 und Netzwerk-Ports aktualisiert Downloads
- AdminServ Schreibrechte (#19): Das Log-Verzeichnis (
-
released this
2026-03-26 22:08:55 +00:00 | 13 commits to master since this releaseRelease Notes – Version 1.3.2
Datum: 26. März 2026
Branch:release-1.3.2
Docker Image:git.techniverse.net/scriptos/trackmania-server:1.3.2
Änderungen in dieser Version
Bugfixes
- IP-Watcher: Bei unveränderter öffentlicher IP-Adresse wird nun trotzdem eine Statusmeldung im Log ausgegeben, statt dass der Check kommentarlos bleibt. (
e89ac15) - logrotate: Fehler durch unsichere Permissions am
logs-Verzeichnis behoben – logrotate läuft nun zuverlässig ohne Berechtigungsprobleme. (44dde46)
Dokumentation
- Update-Anleitung hinzugefügt: Neue Seite
docs/update.mdbeschreibt, wie der Container aktualisiert wird, inkl. Image-Tags, Config-Update-Mechanismus und häufige Fragen. Die.env.examplewurde um fehlende XAseco-Healthcheck-Variablen ergänzt. (32a09ba) - README: IP-Watcher wurde in die Dokumentationsübersicht der Hauptdoku aufgenommen. (
931c62e)
Release
- Docker Image Tag in
docker-compose.ymlund Versionsverweis indocs/update.mdauf1.3.2aktualisiert. (2382546)
Alle Commits (seit 1.3.1)
Hash Beschreibung 2382546Release: Docker Image Version 1.3.2 gepusht e89ac15fix(ip-watcher): IP-Prüfung bei unveränderter IP im Log ausgeben 32a09badocs: Update-Anleitung hinzugefügt, .env.example um fehlende XAseco-Healthcheck-Variablen ergänzt 931c62edocs: IP-Watcher in Dokumentationsübersicht der README ergänzt 44dde46fix: logrotate-Fehler durch unsichere Permissions am logs-Verzeichnis beheben Downloads
- IP-Watcher: Bei unveränderter öffentlicher IP-Adresse wird nun trotzdem eine Statusmeldung im Log ausgegeben, statt dass der Check kommentarlos bleibt. (
-
released this
2026-03-26 20:27:44 +00:00 | 19 commits to master since this releaseRelease Notes – v1.3.1
Docker Image:
git.techniverse.net/scriptos/trackmania-server:1.3.1
Neuerungen
IP-Watcher – Automatischer Neustart bei IP-Wechsel
Dynamische öffentliche IP-Adressen führten bisher dazu, dass der Trackmania-Server nach einem ISP-seitigem IP-Wechsel unter der veralteten Adresse beim Nadeo-Masterserver registriert blieb und damit für Spieler nicht mehr erreichbar war.
Mit diesem Release wird ein neuer Service
tmserver-ip-watchermitgeliefert, der die öffentliche IP des Hosts in regelmäßigen Abständen überwacht. Ändert sich die IP, wird dertmserver-Container automatisch neu gestartet, sodass er sich mit der neuen IP beim Masterserver neu registriert.Konfiguration:
Variable Beschreibung Standard IP_WATCHER_INTERVALPrüfintervall in Sekunden 300(5 Minuten)Der Dienst lässt sich bei Bedarf in der
docker-compose.ymlauskommentieren.Hinweis: Der IP-Watcher benötigt Zugriff auf den Docker-Socket (
/var/run/docker.sock). Weitere Informationen: docs/ip-watcher.md
CI/CD – Gitea Action für automatischen Docker-Build und Registry-Push
Das Repository enthält ab sofort eine Gitea-Action-Pipeline, die bei einem Push automatisch das Docker-Image baut und in die Container-Registry (
git.techniverse.net) pusht. Manuelle Build- und Push-Schritte entfallen damit im regulären Release-Prozess.
Commits in diesem Release
Hash Typ Beschreibung 5601b14release Release: Docker Image Version 1.3.1 gepusht d779618ci Gitea Action für automatischen Docker-Build und Registry-Push hinzugefügt 7bf847dfeat IP-Watcher – automatischer Neustart bei IP-Wechsel
Upgrade-Hinweise
- Die
docker-compose.ymlwurde auf das neue Image-Tag1.3.1aktualisiert. - Wer das vollständige Stack via
docker composebetreibt, erhält denip-watcher-Dienst automatisch mit. Kein weiteres Zutun notwendig. - Beim Upgrade eines bestehenden Setups ist kein Datenbankschema-Update erforderlich.
Downloads
- Die
-
v1.3.0 Stable
released this
2026-03-23 22:16:48 +00:00 | 26 commits to master since this releaseRelease Notes – Trackmania Server Docker v1.3.0
Datum: 23. März 2026
Docker Image:git.techniverse.net/scriptos/trackmania-server:1.3.0
Neue Features
- Map-Shuffle beim Containerstart – Über die neue Umgebungsvariable
SHUFFLE_MAPLISTkann die Mapliste bei jedem Containerstart zufällig gemischt werden. (12a8e0f) - XAseco-Healthcheck – Automatische Überwachung von XAseco mit automatischem Neustart bei Absturz. (
7710a03) - Log-Rotation – Log-Rotation für Apache-, PHP- und XAseco-Logs eingerichtet, damit Logdateien nicht unbegrenzt wachsen. (
cbb918d) - Graceful Shutdown – Signal-Handler für sauberes Herunterfahren aller Dienste im Container implementiert. (
7eb2b6f) - Startup-Zusammenfassung – Am Ende des Startscripts wird eine übersichtliche Zusammenfassung mit Servername und weiteren Details angezeigt. (
d7be0b3,6cb5f78,e453ab6)
Bugfixes
- TS3-Konfiguration – Die TeamSpeak3-Konfiguration wird bei einem Update nicht mehr überschrieben. (
ca6c0fa) - Signal-Handler dash-kompatibel – Fix für die Signal-Behandlung (SIGTERM → TERM), damit der Handler auch unter
dashkorrekt funktioniert. (4ec6011)
Sonstiges
- Dokumentation – Sauber formatiert und überarbeitet. (
8b61571) - Docker Image Version – Tag in
docker-compose.ymlund Dokumentation auf1.3.0aktualisiert. (e60cc08)
Alle Commits
Commit Beschreibung Datum e60cc08Release: Docker Image Version 1.3.0 gepusht 23.03.2026 e453ab6Startup-Zusammenfassung: HOST_IP-Variable entfernt, Platzhalter beibehalten 23.03.2026 6cb5f78Startup-Zusammenfassung: Servername aus Config lesen, Host-IP ermitteln 23.03.2026 4ec6011Fix: Signal-Handler dash-kompatibel (SIGTERM → TERM) 23.03.2026 8b61571Doku sauber formatiert 23.03.2026 d7be0b3Startup-Zusammenfassung am Ende des Startscripts hinzugefügt 23.03.2026 7eb2b6fGraceful Shutdown: Signal-Handler für sauberes Herunterfahren aller Dienste 23.03.2026 cbb918dLog-Rotation für Apache-, PHP- und XAseco-Logs eingerichtet 23.03.2026 7710a03XAseco-Healthcheck: Automatische Überwachung und Neustart bei Absturz 23.03.2026 12a8e0ffeat: Map-Shuffle beim Containerstart (SHUFFLE_MAPLIST) 23.03.2026 ca6c0fafix: TS3-Konfiguration wird bei Update nicht mehr überschrieben 23.03.2026 Downloads
- Map-Shuffle beim Containerstart – Über die neue Umgebungsvariable
-
v1.2.2-security Stable
released this
2026-03-23 08:52:25 +00:00 | 38 commits to master since this release⚠️ Sicherheitshinweis: AdminServ-Konfigurationspasswort
Betroffene Versionen
Alle Versionen vor diesem Release.
Problem
Die AdminServ-Konfigurationsseite (
http://<host-ip>/config) war mit dem Standard-Passwort-Hash aus dem AdminServ-GitHub-Repository geschützt (0b28a5799a32c687dad2c5183718ceac). Dieser Hash ist öffentlich einsehbar und ermöglicht bei Servern, die über das Internet erreichbar sind, den Zugriff auf die/config-Seite. Dort können Server-Einträge hinzugefügt, geändert oder gelöscht werden.Die reguläre Server-Verwaltung (Login als SuperAdmin/Admin/User) ist davon nicht betroffen – diese Passwörter werden individuell über die
.env-Datei gesetzt.Fix
Ab diesem Release wird der Standard-Hash automatisch beim Container-Start durch einen zufällig generierten MD5-Hash ersetzt – sowohl bei neuen als auch bei bestehenden Installationen. Nach dem Update auf diese Version genügt ein Neustart des Containers:
docker compose up -dWorkaround (falls kein Update möglich)
Falls du nicht sofort auf die neue Version aktualisieren kannst, ersetze den Hash manuell:
Option 1 – Hash manuell ersetzen:
# Zufälligen Hash generieren und einsetzen NEW_HASH=$(head -c 32 /dev/urandom | md5sum | cut -d' ' -f1) sed -i "s|const PASSWORD = '0b28a5799a32c687dad2c5183718ceac';|const PASSWORD = '${NEW_HASH}';|" ./data/controlpanel/config/adminserv.cfg.phpOption 2 – Zugriff auf
/configper.htaccessblockieren:cat > ./data/controlpanel/config/.htaccess <<'EOF' <Files "*.php"> Require local </Files> EOFEmpfehlung: Generell sollte die AdminServ-Oberfläche (Port 80) nicht ungeschützt im Internet erreichbar sein. Nutze nach Möglichkeit einen Reverse-Proxy mit Authentifizierung oder beschränke den Zugriff auf vertrauenswürdige IP-Adressen.
Downloads
-
v1.2.1 Stable
released this
2026-03-22 22:42:45 +00:00 | 43 commits to master since this releaseDownloads
-
v1.2.0 Stable
released this
2026-03-22 20:50:36 +00:00 | 46 commits to master since this releaseDownloads
-
v1.1.1 Stable
released this
2026-03-22 11:27:44 +00:00 | 55 commits to master since this releaseDownloads
-
v1.1.0 Stable
released this
2026-03-22 00:57:13 +00:00 | 59 commits to master since this releaseDownloads