Compare commits

..
2 Commits
Author SHA1 Message Date
Patrick Asmus 9a19e40e3d fix(ci): Image explizit fuer linux/amd64 bauen
Build & Push Docker Image / build-and-push (push) Successful in 1m58s
Das Image v1.4.0 wurde auf einem arm64-Runner gebaut und startet auf
amd64-Hosts nicht (exec format error). Ich baue jetzt per buildx mit
--platform linux/amd64 (QEMU als Fallback). docker-compose.yml zeigt auf
1.4.1.
2026-11-01 17:22:27 +01:00
Patrick Asmus 7578e72334 docs: PHP-8-Hinweis in README, Image-Tag auf 1.4.0
Build & Push Docker Image / build-and-push (push) Successful in 1m45s
Ich weise in der README auf den Umstieg auf PHP 8.4 hin und bitte darum,
auftretende Fehler als Issue zu melden. docker-compose.yml zeigt jetzt
auf das Image 1.4.0.
2026-11-01 17:14:51 +01:00
5 changed files with 31 additions and 10 deletions

No files matched your search

+15 -7
View File
@@ -28,14 +28,22 @@ jobs:
--username "${{ secrets.REGISTRY_USER }}" \
--password-stdin
- name: Docker Image bauen
# Der TM-Dedicated-Server ist ein x86-Binary -> Image immer fuer
# linux/amd64 bauen, auch wenn der Job auf einem arm64-Runner landet
# (v1.4.0 wurde versehentlich als arm64 gebaut: "exec format error").
- name: QEMU einrichten
uses: docker/setup-qemu-action@v3
with:
platforms: amd64
- name: Buildx einrichten
uses: docker/setup-buildx-action@v3
- name: Docker Image bauen und pushen (linux/amd64)
run: |
docker build \
docker buildx build \
--platform linux/amd64 \
-t git.techniverse.net/scriptos/trackmania-server:${{ steps.version.outputs.VERSION }} \
-t git.techniverse.net/scriptos/trackmania-server:latest \
--push \
.
- name: Docker Image pushen
run: |
docker push git.techniverse.net/scriptos/trackmania-server:${{ steps.version.outputs.VERSION }}
docker push git.techniverse.net/scriptos/trackmania-server:latest
+13
View File
@@ -34,6 +34,19 @@ Alle Komponenten laufen in einem einzigen Container und werden über Umgebungsva
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](https://git.techniverse.net/scriptos/tmserver-docker/issues) 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
+1 -1
View File
@@ -1,6 +1,6 @@
services:
tmserver:
image: git.techniverse.net/scriptos/trackmania-server:1.3.3
image: git.techniverse.net/scriptos/trackmania-server:1.4.1
build:
context: .
container_name: tmserver
+1 -1
View File
@@ -165,6 +165,6 @@ Falls RemoteCP nicht erreichbar ist oder Fehler anzeigt:
### Bekannte Hinweise
- RemoteCP ist ein älteres Tool (Version 4.0.3.5) und wurde für PHP 5.x entwickelt, läuft aber mit PHP 7.4
- RemoteCP ist ein älteres Tool (Version 4.0.3.5) und wurde für PHP 5.x entwickelt. Ab v1.4.0 läuft es dank automatischer Kompatibilitäts-Patches beim Containerstart unter PHP 8.4 (siehe README)
- Die Live-Funktionen (`remoteCP[Live]`) benötigen eine laufende Serververbindung
- **Sicherheitshinweis:** Die Registrierung neuer Benutzer ist standardmäßig aktiviert. Aus Sicherheitsgründen sollte diese deaktiviert werden, damit sich keine unbefugten Nutzer einen Zugang anlegen können. Dazu in der Datei `data/controlpanel/remotecp/xml/settings/settings.xml` den Wert `<register>false</register>` setzen
+1 -1
View File
@@ -2,7 +2,7 @@
XAseco ist ein Server-Controller für TrackMania Nations Forever. Er verwaltet lokale Rekorde, Dedimania-Weltrekorde, Karma/Votes, eine Track-Jukebox und vieles mehr direkt im Spielchat.
Im Container wird die modifizierte Version **XAseco 1.16** verwendet, die für PHP 7.x angepasst wurde (Patches von Bueddel, Xymph, undef.de und reaby).
Im Container wird die modifizierte Version **XAseco 1.16** verwendet, die für PHP 7.x angepasst wurde (Patches von Bueddel, Xymph, undef.de und reaby). Ab v1.4.0 wird sie beim Containerstart zusätzlich automatisch für PHP 8.4 gepatcht (siehe README).
## Funktionsweise