4.0 KiB
AdminServ – Server-Verwaltungsoberfläche
Die Server-Verwaltungsoberfläche basiert auf AdminServ und ist über Port 80 erreichbar.
Einrichtung
http://<host-server-des-containers>im Browser aufrufen- Ein Passwort festlegen – dieses wird als AdminServ-Passwort verwendet
- TM-Server-Informationen eintragen (Standardwerte können beibehalten werden)
Addressauflocalhostsetzen, um den eingebetteten Server zu verwalten- Speichern
Verbindung zum Server
- Über den Button „Servers" zur Serverliste navigieren
- Den gewünschten Server auswählen
- Admin-Stufe wählen und zugehöriges Passwort eingeben
Standard-Passwörter
| Stufe | Standard-Passwort |
|---|---|
| SuperAdmin | SuperAdmin |
| Admin | Admin |
| User | User |
Die Admin-Stufen können unter http://<host-server-des-containers>/config geändert werden.
Hinweis: Es wird empfohlen, die Standard-Passwörter über die
.env-Datei (SERVER_SA_PASSWORD,SERVER_ADM_PASSWORD) zu ändern. Siehe Umgebungsvariablen.
Persistente Speicherung
Alle AdminServ-Daten (Passwort, Server-Einträge, Konfiguration, Logs) werden über einen Bind-Mount (./data/controlpanel) persistent auf dem Host gespeichert. Beim ersten Start werden die Dateien automatisch aus dem Image ins Volume kopiert.
| Host-Pfad | Container-Pfad | Beschreibung |
|---|---|---|
./data/controlpanel |
/var/www/html |
AdminServ- und RemoteCP-Installation |
Hinweis: Im selben Volume befindet sich auch RemoteCP unter
./data/controlpanel/remotecp/.
Fehlerbehebung
Login funktioniert nicht nach dem Anlegen eines Servers
Falls der Login nicht funktioniert oder ein Authentifizierungsfehler angezeigt wird, können die PHP-Logs Aufschluss geben:
- In der
.env-DateiPHP_DISPLAY_ERRORS=truesetzen - Container neu starten:
docker compose up -d - AdminServ im Browser öffnen und den Fehler reproduzieren
- Die PHP-Fehlermeldung wird direkt auf der Seite angezeigt
Alternativ können die PHP-Logs eingesehen werden:
docker exec tmserver cat /var/log/php_errors.log
AdminServ komplett zurücksetzen
Falls AdminServ in einen inkonsistenten Zustand geraten ist:
# AdminServ-Daten auf dem Host löschen
rm -rf ./data/controlpanel/*
# Container neu starten – AdminServ wird frisch initialisiert
docker compose up -d
Gepatchte AdminServ-Bugs (TmForever)
AdminServ (v2.1.1) enthält zwei Bugs, die speziell im Zusammenspiel mit TmForever auftreten. Diese werden beim Container-Start automatisch gepatcht – auch bei bestehenden Volumes.
Falscher Pfad in MatchSettings-Dateien
Beim Erstellen einer neuen MatchSettings-Datei über AdminServ wurden die Track-Pfade falsch geschrieben. Statt des tatsächlichen Ordners (z.B. Challenges/Downloaded/) wurde immer der Speicherort der MatchSettings (MatchSettings/) als Pfad-Präfix verwendet:
<!-- Fehlerhaft (Original) -->
<file>MatchSettings/speed vs. fullspeed.Challenge.Gbx</file>
<!-- Korrekt (nach Patch) -->
<file>Challenges/Downloaded/speed vs. fullspeed.Challenge.Gbx</file>
Ursache: Die AJAX-Funktion get_matchset_mapimport.php hat den URL-Parameter d (= MatchSettings-Speicherordner) als relativen Pfad für die Map-Dateinamen verwendet, anstatt den tatsächlichen Ordner aus der Dropdown-Auswahl zu berechnen.
Betroffene Datei: resources/ajax/get_matchset_mapimport.php
GetModeScriptInfo-Fehler (-506)
Beim Speichern einer MatchSettings-Datei erschien die Fehlermeldung:
[-506] Method 'GetModeScriptInfo' not defined
Ursache: GetModeScriptInfo ist eine XML-RPC-Methode, die nur in ManiaPlanet/TM2 existiert. AdminServ hat sie ohne Versionsprüfung aufgerufen. An anderen Stellen im Code wurde korrekt mit SERVER_VERSION_NAME != 'TmForever' unterschieden – nur hier fehlte die Prüfung.
Betroffene Datei: resources/process/maps-creatematchset.php