Files
tmserver-docker/docs/remotecp.md

5.6 KiB
Raw Blame History

RemoteCP Alternative Server-Verwaltungsoberfläche

RemoteCP ist eine weitere Web-Verwaltungsoberfläche für Trackmania-Server, die parallel zu AdminServ installiert ist. Es handelt sich um ein älteres Tool mit eigenem Login-System und eigener Benutzerverwaltung.

Zugriff

RemoteCP ist als Subpath unter der gleichen Adresse wie AdminServ erreichbar:

  • AdminServ: http://<host-ip>/
  • RemoteCP: http://<host-ip>/remotecp/

Standard-Zugangsdaten

RemoteCP verwendet die SuperAdmin-Zugangsdaten des Trackmania-Servers:

Benutzer Passwort Beschreibung
SuperAdmin Wert aus SERVER_SA_PASSWORD Administrator (volle Rechte)
Guest Guest Gast-Zugang (nur Lesen)

Der Admin-Login für RemoteCP ist identisch mit dem SuperAdmin-Passwort des TM-Servers (SERVER_SA_PASSWORD). Es werden keine separaten Zugangsdaten benötigt.

Umgebungsvariablen

Variable Beschreibung Standard
REMOTECP_DB_HOST Hostname des Datenbankservers mariadb
REMOTECP_DB_NAME Name der RemoteCP-Datenbank remotecp
REMOTECP_DB_USER Datenbank-Benutzername remotecp
REMOTECP_DB_PASSWORD Datenbank-Passwort (muss gesetzt werden)

Datenbank (MariaDB)

RemoteCP benötigt eine MariaDB-Datenbank für erweiterte Funktionen (Spielerstatistiken, Records, Chat-Nachrichten, etc.). Ein MariaDB-Container wird automatisch als Teil des Docker-Setups bereitgestellt.

Automatische Einrichtung

Wenn die Datenbank-Variablen in der .env-Datei gesetzt sind (REMOTECP_DB_HOST, REMOTECP_DB_PASSWORD), wird beim ersten Start:

  1. Die MariaDB erstellt automatisch die Datenbank und den Benutzer (über MYSQL_DATABASE, MYSQL_USER, MYSQL_PASSWORD)
  2. Das Startup-Script wartet, bis MariaDB erreichbar ist
  3. Die Datenbank-Tabellen werden automatisch aus den SQL-Schema-Dateien importiert
  4. Die Installer-Markierung (cache/installed) wird gesetzt, damit der Web-Installer übersprungen wird

Es ist kein manuelles Setup über den Web-Installer nötig.

Manuelle Einrichtung

Falls die automatische Einrichtung nicht gewünscht ist oder fehlschlägt (z.B. MariaDB nicht erreichbar), kann RemoteCP auch manuell eingerichtet werden:

  1. Die Datenbank-Variablen (REMOTECP_DB_HOST, REMOTECP_DB_PASSWORD) müssen trotzdem in der .env-Datei gesetzt sein, damit die MariaDB die Datenbank und den Benutzer beim ersten Start erstellt
  2. RemoteCP-Installer im Browser aufrufen: http://<host-ip>/remotecp/index.php?page=install
  3. „Install with remoteCP-Database" wählen
  4. Die Datenbank-Zugangsdaten eingeben:
    • Database DSN: mysql:dbname=remotecp;host=mariadb (bzw. die Werte aus der .env)
    • Database Username: Wert aus REMOTECP_DB_USER
    • Database Password: Wert aus REMOTECP_DB_PASSWORD
  5. Server-Daten eingeben (XMLRPC-Port, SuperAdmin-Passwort)
  6. Installation abschließen

Persistente Daten

Die MariaDB-Daten werden über ein eigenes Bind-Mount persistent gespeichert:

Host-Pfad Container-Pfad Beschreibung
./data/mariadb /var/lib/mysql MariaDB-Datenbankdateien

Hinweis: Der MariaDB-Container kann auch für weitere Tools genutzt werden. Zusätzliche Datenbanken und Benutzer können über den Root-Zugang (MARIADB_ROOT_PASSWORD) erstellt werden.

Automatische Konfiguration

Beim ersten Start wird RemoteCP automatisch konfiguriert:

  • Die Serververbindung wird mit dem XML-RPC-Port und dem SuperAdmin-Passwort (SERVER_SA_PASSWORD) aus der .env-Datei eingerichtet
  • Der Admin-Zugang verwendet den Benutzernamen SuperAdmin mit dem Passwort aus SERVER_SA_PASSWORD
  • Das Passwort wird als MD5-Hash in der Konfiguration gespeichert
  • Die Datenbankverbindung wird automatisch in servers.xml eingetragen (wenn DB-Variablen gesetzt sind)

Persistente Speicherung

RemoteCP wird im gleichen Volume wie AdminServ gespeichert:

Host-Pfad Container-Pfad Beschreibung
./data/controlpanel/remotecp /var/www/html/remotecp RemoteCP-Installation

Die Konfigurationsdateien befinden sich unter ./data/controlpanel/remotecp/xml/:

Datei Beschreibung
servers.xml Server-Verbindungsdaten (Host, Port, Passwort, Datenbank)
admins.xml Benutzer und Zugangsdaten
groups.xml Berechtigungsgruppen

Sicherheit

RemoteCP liefert eine .htaccess-Datei mit, die den direkten Zugriff auf XML-Konfigurationsdateien über den Browser verhindert. Apache mod_rewrite und AllowOverride sind im Image aktiviert, damit dieser Schutz funktioniert.

Fehlerbehebung

Falls RemoteCP nicht erreichbar ist oder Fehler anzeigt:

  1. Prüfe, ob beide Container laufen: docker ps
  2. MariaDB-Verbindung testen: docker exec tmserver mysql -h mariadb -u remotecp -p remotecp -e "SELECT 1"
  3. PHP-Debug-Modus aktivieren: PHP_DISPLAY_ERRORS=true in der .env-Datei setzen
  4. Container neu starten: docker compose restart
  5. PHP-Logs prüfen: docker exec tmserver cat /var/log/php_errors.log
  6. MariaDB-Logs prüfen: docker logs tmserver-mariadb

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
  • Die Live-Funktionen (remoteCP[Live]) benötigen eine laufende Serververbindung
  • Die Registrierung neuer Benutzer wird beim ersten Start automatisch deaktiviert (xml/settings/settings.xml<register>false</register>). Der SuperAdmin-Account wird automatisch aus SERVER_SA_PASSWORD angelegt