From 7578e723345dff975452abbae6f236947e2ee46d Mon Sep 17 00:00:00 2001 From: Patrick Asmus Date: Sun, 1 Nov 2026 17:14:51 +0100 Subject: [PATCH] docs: PHP-8-Hinweis in README, Image-Tag auf 1.4.0 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. --- README.md | 13 +++++++++++++ docker-compose.yml | 2 +- docs/remotecp.md | 2 +- docs/xaseco.md | 2 +- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d408f99..5ab806f 100644 --- a/README.md +++ b/README.md @@ -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.0) + +Seit **v1.4.0** 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 diff --git a/docker-compose.yml b/docker-compose.yml index 664e53b..26ea5d5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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.0 build: context: . container_name: tmserver diff --git a/docs/remotecp.md b/docs/remotecp.md index 6283e41..6e9d46b 100644 --- a/docs/remotecp.md +++ b/docs/remotecp.md @@ -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 `false` setzen diff --git a/docs/xaseco.md b/docs/xaseco.md index df2384a..c122812 100644 --- a/docs/xaseco.md +++ b/docs/xaseco.md @@ -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