mirror of
https://git.techniverse.net/scriptos/tmserver-docker.git
synced 2026-05-08 07:05:47 +00:00
Merge pull request 'release-1.2.2' (#13) from release-1.2.2 into master
Reviewed-on: https://git.techniverse.net/scriptos/tmserver-docker/pulls/13
This commit is contained in:
+4
-1
@@ -69,12 +69,15 @@ FORCE_MOD_SPEED=
|
||||
FORCE_MOD_ALPINE=
|
||||
FORCE_MOD_RALLY=
|
||||
|
||||
# --- MatchSettings ---
|
||||
# --- Spieleinstellungen (MatchSettings) ---
|
||||
# Steuert, welche MatchSettings-Datei beim Serverstart geladen wird.
|
||||
# "auto" = die neueste .txt-Datei in data/gamedata/Tracks/MatchSettings/ wird automatisch erkannt.
|
||||
# Alternativ kann ein expliziter Dateiname angegeben werden (z.B. "turnier_settings.txt").
|
||||
MATCHSETTINGS_FILE=auto
|
||||
|
||||
# Warmup-Dauer für alle Runden (0 = deaktiviert, 1 = eine Runde Warmup)
|
||||
ALLWARMUPDURATION=0
|
||||
|
||||
# --- Debugging ---
|
||||
# Setze diesen Wert auf true, um PHP-Fehlermeldungen anzuzeigen. Dies kann bei der Fehlersuche hilfreich sein, sollte aber in einer Produktionsumgebung auf false belassen werden.
|
||||
PHP_DISPLAY_ERRORS=false
|
||||
|
||||
@@ -6,7 +6,6 @@ Ein vollständiges Docker-Setup für einen **TrackMania Nations Forever**-Server
|
||||
- **[XAseco](docs/xaseco.md)** – Server-Controller, der lokale Rekorde, Dedimania-Weltrekorde, Karma/Votes und eine Track-Jukebox direkt im Spielchat verwaltet
|
||||
- **[AdminServ](docs/adminserv.md)** – Web-Oberfläche zur komfortablen Verwaltung und Konfiguration des Servers
|
||||
- **[RemoteCP](docs/remotecp.md)** – alternative Web-Verwaltungsoberfläche mit eigenem Login- und Benutzersystem
|
||||
- **[Mods / Skins](docs/remotecp.md#mods--skins)** – über 50 vorkonfigurierte Stadium-Skins (gehostet auf [assets.techniverse.net](https://assets.techniverse.net/tm/skins/)), automatisch beim Start forcierbar
|
||||
|
||||
Alle Komponenten laufen in einem einzigen Container und werden über Umgebungsvariablen konfiguriert.
|
||||
|
||||
@@ -64,7 +63,7 @@ Die vollständige Dokumentation befindet sich im Ordner [`docs/`](docs/README.md
|
||||
|
||||
## Danksagung
|
||||
|
||||
Danke an **Thomas** ([retronerd.at](https://retronerd.at)), dass er mir sein Wissen zur Verfügung gestellt hat und dass er hier im Projekt mitgewirkt hat.
|
||||
Ein herzliches Dankeschön an **[Thomas](https://retronerd.at)** – für seine tatkräftige Unterstützung, sein wertvolles Wissen und seine Mitwirkung an diesem Projekt. Ohne ihn wäre dieses Projekt nicht das, was es heute ist!
|
||||
|
||||
## Spiegelung
|
||||
|
||||
|
||||
@@ -71,6 +71,18 @@ EOPHP
|
||||
chown www-data:www-data "$ADMINSERV_DIR/config/servers.cfg.php"
|
||||
echo " AdminServ-Server-Eintrag automatisch konfiguriert (Port: ${XMLRPC_PORT})."
|
||||
|
||||
# AdminServ-Konfigurationspasswort automatisch sichern
|
||||
# OnlineConfig::PASSWORD in adminserv.cfg.php schuetzt die /config-Seite
|
||||
# (Server hinzufuegen/aendern/loeschen). Da der Server-Eintrag bereits
|
||||
# automatisch konfiguriert wird, ist kein manueller Zugriff noetig.
|
||||
# Der Standard-Hash aus dem ZIP wird durch einen zufaelligen ersetzt.
|
||||
ADMINSERV_CFG="$ADMINSERV_DIR/config/adminserv.cfg.php"
|
||||
if [ -f "$ADMINSERV_CFG" ]; then
|
||||
RANDOM_HASH=$(head -c 32 /dev/urandom | md5sum | cut -d' ' -f1)
|
||||
sed -i "s|const PASSWORD = '[^']*';|const PASSWORD = '${RANDOM_HASH}';|" "$ADMINSERV_CFG"
|
||||
echo " AdminServ-Konfigurationspasswort automatisch gesichert."
|
||||
fi
|
||||
|
||||
echo " AdminServ-Dateien erfolgreich kopiert."
|
||||
|
||||
# ============================================================
|
||||
@@ -447,6 +459,23 @@ if [ -f "$MODS_SETTINGS_FILE" ] && grep -q 'blacksunonline.com' "$MODS_SETTINGS_
|
||||
echo " Mods/settings.xml erfolgreich aktualisiert."
|
||||
fi
|
||||
|
||||
# ============================================================
|
||||
# AdminServ: Konfigurationspasswort absichern (fuer bestehende Volumes)
|
||||
# ============================================================
|
||||
# AdminServ wird mit einem oeffentlich bekannten Standard-Hash
|
||||
# ausgeliefert (0b28a5799a32c687dad2c5183718ceac, aus dem
|
||||
# AdminServ-GitHub-Repo). Dieser wird durch einen zufaelligen
|
||||
# MD5-Hash ersetzt, damit die /config-Seite abgesichert ist.
|
||||
# ============================================================
|
||||
ADMINSERV_CFG_VOL="/var/www/html/config/adminserv.cfg.php"
|
||||
if [ -f "$ADMINSERV_CFG_VOL" ] && grep -q "0b28a5799a32c687dad2c5183718ceac" "$ADMINSERV_CFG_VOL"; then
|
||||
echo "==> SICHERHEIT: AdminServ-Konfigurationspasswort wird ersetzt (Standard-Hash erkannt)..."
|
||||
RANDOM_HASH=$(head -c 32 /dev/urandom | md5sum | cut -d' ' -f1)
|
||||
sed -i "s|const PASSWORD = '0b28a5799a32c687dad2c5183718ceac';|const PASSWORD = '${RANDOM_HASH}';|" "$ADMINSERV_CFG_VOL"
|
||||
echo " Standard-Hash durch zufaelligen Hash ersetzt."
|
||||
echo " Die /config-Seite ist jetzt abgesichert."
|
||||
fi
|
||||
|
||||
echo "Starting apache server"
|
||||
service apache2 start
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
services:
|
||||
tmserver:
|
||||
image: git.techniverse.net/scriptos/trackmania-server:1.2.1
|
||||
image: git.techniverse.net/scriptos/trackmania-server:1.2.2
|
||||
build:
|
||||
context: .
|
||||
container_name: tmserver
|
||||
|
||||
+19
-10
@@ -22,27 +22,36 @@
|
||||
```
|
||||
├── assets/
|
||||
│ ├── bin/ # Binaries und Startscript
|
||||
│ │ ├── AdminServ_v2.1.1.zip # AdminServ Web-UI
|
||||
│ │ ├── remoteCP_v4.0.3.5.zip # RemoteCP Web-UI
|
||||
│ │ ├── xaseco_v1.16.zip # XAseco Server-Controller
|
||||
│ │ ├── AdminServ_v2.1.1.zip # AdminServ Web-UI
|
||||
│ │ ├── remoteCP_v4.0.3.5.zip # RemoteCP Web-UI
|
||||
│ │ ├── RunTrackmaniaServer.sh # Container-Startscript
|
||||
│ │ └── TrackmaniaServer_*.zip # Trackmania Server Binary
|
||||
│ │ ├── TrackmaniaServer_2011-02-21.zip # Trackmania Server Binary
|
||||
│ │ └── xaseco_v1.16.zip # XAseco Server-Controller
|
||||
│ ├── config/
|
||||
│ │ ├── adminserv/ # AdminServ-Konfiguration
|
||||
│ │ │ ├── get_matchset_mapimport.php # MatchSet Map-Import Script
|
||||
│ │ │ └── maps-creatematchset.php # MatchSet-Erstellung Script
|
||||
│ │ ├── custom_game_settings.txt # MatchSettings (Spielmodus, Map-Rotation)
|
||||
│ │ ├── dedicated_cfg.txt # Server-Config-Template (mit Platzhaltern)
|
||||
│ │ └── remotecp/
|
||||
│ │ └── plugins/
|
||||
│ │ ├── CustomPoints/
|
||||
│ │ │ └── index.php # CustomPoints-Plugin fuer RemoteCP
|
||||
│ │ └── Mods/
|
||||
│ │ └── settings.xml # Skin-Bibliothek (techniverse.net)
|
||||
│ │ ├── remotecp/
|
||||
│ │ │ └── plugins/
|
||||
│ │ │ ├── CustomPoints/
|
||||
│ │ │ │ └── index.php # CustomPoints-Plugin fuer RemoteCP
|
||||
│ │ │ └── Mods/
|
||||
│ │ │ ├── index.php # Mods-Plugin fuer RemoteCP
|
||||
│ │ │ └── settings.xml # Skin-Bibliothek (techniverse.net)
|
||||
│ │ └── xaseco/
|
||||
│ │ └── teamspeak3.xml # TeamSpeak3-Konfiguration fuer XAseco
|
||||
│ └── db/
|
||||
│ └── init-xaseco-db.sh # MariaDB Init-Script fuer XAseco-DB
|
||||
├── docs/ # Dokumentation
|
||||
├── docker-compose.yml # Docker Compose Konfiguration
|
||||
├── Dockerfile # Docker Build-Definition
|
||||
├── .dockerignore # Docker-Ignore-Regeln
|
||||
├── .env.example # Vorlage fuer Umgebungsvariablen
|
||||
├── .env # Lokale Umgebungsvariablen (nicht im Git!)
|
||||
├── .gitattributes # Git-Attribut-Konfiguration
|
||||
├── .gitignore # Git-Ignore-Regeln
|
||||
├── LICENSE # Lizenz
|
||||
├── README.md # Projektbeschreibung
|
||||
└── data/ # Persistente Daten (zur Laufzeit)
|
||||
|
||||
+23
-9
@@ -4,17 +4,19 @@ Die Server-Verwaltungsoberfläche basiert auf [AdminServ](https://github.com/Chr
|
||||
|
||||
## Einrichtung
|
||||
|
||||
1. `http://<host-server-des-containers>` im Browser aufrufen
|
||||
2. Ein Passwort festlegen – dieses wird als AdminServ-Passwort verwendet
|
||||
3. TM-Server-Informationen eintragen (Standardwerte können beibehalten werden)
|
||||
4. `Address` auf `localhost` setzen, um den eingebetteten Server zu verwalten
|
||||
5. Speichern
|
||||
AdminServ wird beim ersten Container-Start **vollständig automatisch konfiguriert**:
|
||||
|
||||
- Serververbindung (Adresse `127.0.0.1`, XML-RPC-Port)
|
||||
- Server-Eintrag (Name, DisplayServ-Passwort)
|
||||
- Konfigurationspasswort (siehe [Konfigurationsseite (`/config`)](#konfigurationsseite-config))
|
||||
|
||||
Es ist kein manuelles Setup nötig.
|
||||
|
||||
## Verbindung zum Server
|
||||
|
||||
1. Über den Button „Servers" zur Serverliste navigieren
|
||||
2. Den gewünschten Server auswählen
|
||||
3. Admin-Stufe wählen und zugehöriges Passwort eingeben
|
||||
1. `http://<host-server-des-containers>` im Browser aufrufen
|
||||
2. Den Server aus der Liste auswählen
|
||||
3. Admin-Stufe wählen (SuperAdmin, Admin oder User) und das zugehörige Passwort eingeben
|
||||
|
||||
## Standard-Passwörter
|
||||
|
||||
@@ -24,9 +26,11 @@ Die Server-Verwaltungsoberfläche basiert auf [AdminServ](https://github.com/Chr
|
||||
| Admin | `Admin` |
|
||||
| User | `User` |
|
||||
|
||||
Diese Passwörter werden über die `.env`-Datei gesetzt (`SERVER_SA_PASSWORD`, `SERVER_ADM_PASSWORD`, `SERVER_USER_PASSWORD`) und beim ersten Start in die `dedicated_cfg.txt` geschrieben. AdminServ liest die Passwörter über die XML-RPC-Verbindung direkt vom TM-Server.
|
||||
|
||||
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](umgebungsvariablen.md).
|
||||
> **Hinweis:** Die Standard-Passwörter in der `.env.example` sind öffentlich einsehbar. Ändere sie unbedingt, bevor du den Server produktiv einsetzt. Siehe [Umgebungsvariablen](umgebungsvariablen.md).
|
||||
|
||||
## Persistente Speicherung
|
||||
|
||||
@@ -67,6 +71,16 @@ rm -rf ./data/controlpanel/*
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Konfigurationsseite (`/config`)
|
||||
|
||||
AdminServ bringt unter `http://<host-ip>/config` eine eigene Konfigurationsseite mit, über die Server-Einträge hinzugefügt, geändert oder gelöscht werden können. Diese Seite ist durch ein separates Passwort geschützt (`OnlineConfig::PASSWORD` in `adminserv.cfg.php`, MD5-gehasht).
|
||||
|
||||
Da dieser Container als **Standalone-Setup** läuft und ausschließlich den einen lokalen TrackMania-Server bedient, wird die `/config`-Seite **nicht benötigt** – der Server-Eintrag wird beim ersten Start automatisch angelegt (Adresse, XML-RPC-Port, Passwörter).
|
||||
|
||||
Zur Absicherung wird das Konfigurationspasswort beim ersten Container-Start automatisch durch einen **zufällig generierten MD5-Hash** ersetzt. Damit ist die `/config`-Seite vor unbefugtem Zugriff geschützt, ohne dass ein Benutzer ein Passwort vergeben oder sich merken muss.
|
||||
|
||||
> **Hinweis:** Falls du dennoch Zugriff auf die `/config`-Seite benötigst (z.B. für Debugging), kannst du den MD5-Hash in `data/controlpanel/config/adminserv.cfg.php` manuell auf ein bekanntes Passwort setzen. Beispiel: `const PASSWORD = '5f4dcc3b5aa765d61d8327deb882cf99';` entspricht dem Passwort `password`.
|
||||
|
||||
## 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.
|
||||
|
||||
@@ -18,6 +18,7 @@ Das gesamte **GameData-Verzeichnis** wird über ein Bind-Mount (`./data/gamedata
|
||||
|-----------|----------------|-------------|
|
||||
| `./data/gamedata` | `/opt/tmserver/GameData` | Gesamtes GameData-Verzeichnis |
|
||||
| `./data/controlpanel` | `/var/www/html` | AdminServ- und RemoteCP-Daten |
|
||||
| `./data/xaseco` | `/opt/tmserver/xaseco` | XAseco-Konfiguration und Logs |
|
||||
| `./data/mariadb` | `/var/lib/mysql` | MariaDB-Datenbankdateien |
|
||||
|
||||
### Enthaltene Unterordner
|
||||
|
||||
@@ -43,10 +43,10 @@ Die Konfiguration erfolgt über die `.env`-Datei, die automatisch eingelesen wir
|
||||
Alternativ kannst du das Image auch selbst bauen:
|
||||
|
||||
```bash
|
||||
docker build -t tmserver:latest -t tmserver:1.1.1 .
|
||||
docker build -t tmserver:latest -t tmserver:1.2.1 .
|
||||
```
|
||||
|
||||
Damit wird das Image mit zwei Tags erstellt: `tmserver:latest` und `tmserver:1.1.1`.
|
||||
Damit wird das Image mit zwei Tags erstellt: `tmserver:latest` und `tmserver:1.2.1`.
|
||||
|
||||
Anschließend den Server starten:
|
||||
|
||||
|
||||
+191
-7
@@ -157,13 +157,197 @@ Die XAseco-Logdatei befindet sich unter:
|
||||
|
||||
Bei Problemen ist dies die erste Anlaufstelle für die Fehlersuche.
|
||||
|
||||
## Wichtige Chat-Befehle
|
||||
## Chat-Befehle
|
||||
|
||||
Nachfolgend eine Übersicht der wichtigsten Befehle, die im Spielchat verfügbar sind. Eine vollständige Liste aller Befehle findest du in der offiziellen Dokumentation unter: https://docs.xaseco.org/commands.php
|
||||
|
||||
### Hilfe & Info
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
|--------|-------------|
|
||||
| `/helpadmin` | Admin-Befehle anzeigen |
|
||||
| `/recs` | Lokale Rekorde anzeigen |
|
||||
| `/dedirecs` | Dedimania-Rekorde anzeigen |
|
||||
| `/jukebox` | Track-Jukebox öffnen |
|
||||
| `/stats` | Spieler-Statistiken anzeigen |
|
||||
| `/admin help` | Alle Admin-Befehle |
|
||||
| `/help` | Zeigt alle verfügbaren Befehle |
|
||||
| `/helpall` | Zeigt ausführliche Hilfe zu allen Befehlen |
|
||||
| `/xaseco` | Zeigt Infos über die XAseco-Version |
|
||||
| `/server` | Zeigt Infos über den Server |
|
||||
| `/plugins` | Zeigt Liste der aktiven Plugins |
|
||||
| `/time` | Zeigt aktuelle Serverzeit und Datum |
|
||||
|
||||
### Rekorde & Statistiken
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
|--------|-------------|
|
||||
| `/recs` | Zeigt alle lokalen Rekorde auf der aktuellen Strecke |
|
||||
| `/recs pb` | Zeigt deine persönliche Bestzeit |
|
||||
| `/recs new` | Zeigt neu gefahrene Rekorde |
|
||||
| `/recs live` | Zeigt Rekorde der Online-Spieler |
|
||||
| `/pb` | Zeigt deine persönliche Bestzeit auf der aktuellen Strecke |
|
||||
| `/dedirecs` | Zeigt Dedimania-Rekorde auf der aktuellen Strecke |
|
||||
| `/dedipb` | Zeigt deine persönliche Dedimania-Bestzeit |
|
||||
| `/dedistats` | Zeigt Dedimania-Streckenstatistiken |
|
||||
| `/best` | Zeigt deine besten Rekorde |
|
||||
| `/worst` | Zeigt deine schlechtesten Rekorde |
|
||||
| `/summary` | Zeigt eine Zusammenfassung aller deiner Rekorde |
|
||||
| `/stats` | Zeigt Statistiken des aktuellen Spielers |
|
||||
| `/wins` | Zeigt Siege des aktuellen Spielers |
|
||||
|
||||
### Rankings & Toplisten
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
|--------|-------------|
|
||||
| `/rank` | Zeigt deinen aktuellen Serverrang |
|
||||
| `/nextrank` | Zeigt den nächst besser platzierten Spieler |
|
||||
| `/top10` | Zeigt die 10 bestplatzierten Spieler |
|
||||
| `/top100` | Zeigt die 100 bestplatzierten Spieler |
|
||||
| `/topwins` | Zeigt die 100 siegreichsten Spieler |
|
||||
| `/toprecs` | Zeigt Top 100 der Rekord-Halter |
|
||||
| `/topsums` | Zeigt Top 100 der Top-3-Rekord-Halter |
|
||||
| `/active` | Zeigt die 100 aktivsten Spieler |
|
||||
| `/topclans` | Zeigt die 10 bestplatzierten Clans |
|
||||
|
||||
### Strecken & Jukebox
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
|--------|-------------|
|
||||
| `/track` | Zeigt Infos über die aktuelle Strecke |
|
||||
| `/nextmap` | Zeigt den Namen der nächsten Strecke |
|
||||
| `/playtime` | Zeigt, wie lange die aktuelle Strecke läuft |
|
||||
| `/list` | Listet Strecken auf dem Server (siehe `/list help`) |
|
||||
| `/list nofinish` | Strecken, auf denen du keinen Rang hast |
|
||||
| `/list newest` | Die neuesten Strecken |
|
||||
| `/list <name>` | Suche nach Strecken- oder Autorennamen |
|
||||
| `/jukebox` | Track-Jukebox (siehe `/jukebox help`) |
|
||||
| `/jukebox list` | Zeigt kommende Strecken |
|
||||
| `/jukebox <#>` | Fügt Strecke Nr. `<#>` aus `/list` hinzu |
|
||||
| `/jukebox drop` | Entfernt deine hinzugefügte Strecke |
|
||||
| `/add <ID>` | Fügt eine Strecke direkt von TMX hinzu |
|
||||
| `/history` | Zeigt die 10 zuletzt gespielten Strecken |
|
||||
|
||||
### Karma & Voting
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
|--------|-------------|
|
||||
| `/karma` | Zeigt Karma der aktuellen Strecke |
|
||||
| `/++` | Positive Bewertung für die aktuelle Strecke |
|
||||
| `/--` | Negative Bewertung für die aktuelle Strecke |
|
||||
| `/helpvote` | Zeigt Infos zum Chat-Voting-System |
|
||||
| `/endround` | Startet Vote zum Beenden der aktuellen Runde |
|
||||
| `/replay` | Startet Vote zum Wiederholen der Strecke |
|
||||
| `/skip` | Startet Vote zum Überspringen der Strecke |
|
||||
| `/kick` | Startet Vote zum Kicken eines Spielers |
|
||||
| `/y` | Stimmt mit Ja bei einem laufenden Vote |
|
||||
| `/cancel` | Bricht deinen aktuellen Vote ab |
|
||||
|
||||
### Kommunikation
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
|--------|-------------|
|
||||
| `/pm <login> <msg>` | Sendet eine private Nachricht |
|
||||
| `/pmlog` | Zeigt Verlauf deiner privaten Nachrichten |
|
||||
| `/chatlog` | Zeigt Verlauf der letzten Chat-Nachrichten |
|
||||
| `/me` | Drückt eine Aktion/Emotion aus |
|
||||
| `/hi` | Sendet eine Hallo-Nachricht an alle |
|
||||
| `/bye` | Sendet eine Tschüss-Nachricht an alle |
|
||||
| `/gg` | Sendet "Good Game" an alle |
|
||||
| `/n1` | Sendet "Nice One" an alle |
|
||||
| `/brb` | Sendet "Be Right Back" an alle |
|
||||
| `/afk` | Sendet "Away From Keyboard" an alle |
|
||||
|
||||
### Spieleroptionen
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
|--------|-------------|
|
||||
| `/settings` | Zeigt deine persönlichen Einstellungen |
|
||||
| `/cps` | Setzt Checkpoint-Tracking für lokale Rekorde |
|
||||
| `/dedicps` | Setzt Checkpoint-Tracking für Dedimania-Rekorde |
|
||||
| `/mute <login>` | Chat eines Spielers stummschalten |
|
||||
| `/unmute <login>` | Stummschaltung aufheben |
|
||||
| `/mutelist` | Zeigt Liste der stummgeschalteten Spieler |
|
||||
| `/players` | Zeigt aktuelle Spieler-Liste (Nicks/Logins) |
|
||||
| `/ranks` | Zeigt Liste der Online-Ränge |
|
||||
| `/bootme` | Kickt dich selbst vom Server |
|
||||
|
||||
### Admin-Befehle (`/admin`)
|
||||
|
||||
Diese Befehle sind nur für Admins und MasterAdmins verfügbar.
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
|--------|-------------|
|
||||
| `/admin help` | Zeigt alle Admin-Befehle |
|
||||
| `/admin helpall` | Zeigt ausführliche Hilfe zu allen Admin-Befehlen |
|
||||
|
||||
**Server-Einstellungen:**
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
|--------|-------------|
|
||||
| `/admin setservername <name>` | Ändert den Servernamen |
|
||||
| `/admin setpwd <pwd>` | Ändert das Spieler-Passwort |
|
||||
| `/admin setspecpwd <pwd>` | Ändert das Zuschauer-Passwort |
|
||||
| `/admin setmaxplayers <#>` | Setzt maximale Spieleranzahl |
|
||||
| `/admin setmaxspecs <#>` | Setzt maximale Zuschauerzahl |
|
||||
| `/admin setgamemode <mode>` | Setzt Spielmodus (ta/rounds/team/laps/stunts/cup) |
|
||||
|
||||
**Strecken-Verwaltung:**
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
|--------|-------------|
|
||||
| `/admin nextmap` | Erzwingt nächste Strecke |
|
||||
| `/admin restartmap` | Startet aktuelle Strecke neu |
|
||||
| `/admin replaymap` | Wiederholt aktuelle Strecke (via Jukebox) |
|
||||
| `/admin endround` | Erzwingt Ende der aktuellen Runde |
|
||||
| `/admin add <ID>` | Fügt Strecke von TMX hinzu |
|
||||
| `/admin addlocal <datei>` | Fügt lokale Strecke hinzu |
|
||||
| `/admin remove <#>` | Entfernt Strecke aus der Rotation |
|
||||
| `/admin erasethis` | Entfernt aktuelle Strecke und löscht Datei |
|
||||
| `/admin shuffle` | Mischt die Streckenliste zufällig |
|
||||
| `/admin writetracklist` | Speichert aktuelle Streckenliste |
|
||||
| `/admin readtracklist` | Lädt Streckenliste aus Datei |
|
||||
|
||||
**Jukebox:**
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
|--------|-------------|
|
||||
| `/admin dropjukebox <#>` | Entfernt eine Strecke aus der Jukebox |
|
||||
| `/admin clearjukebox` | Leert die gesamte Jukebox |
|
||||
| `/admin pass` | Genehmigt einen laufenden Vote |
|
||||
| `/admin cancel` | Bricht einen laufenden Vote ab |
|
||||
|
||||
**Spieler-Moderation:**
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
|--------|-------------|
|
||||
| `/admin warn <login>` | Sendet eine Warnung an einen Spieler |
|
||||
| `/admin kick <login>` | Kickt einen Spieler vom Server |
|
||||
| `/admin kickghost <login>` | Kickt einen Ghost-Spieler |
|
||||
| `/admin ban <login>` | Bannt einen Spieler |
|
||||
| `/admin unban <login>` | Entbannt einen Spieler |
|
||||
| `/admin black <login>` | Setzt einen Spieler auf die Blacklist |
|
||||
| `/admin unblack <login>` | Entfernt einen Spieler von der Blacklist |
|
||||
| `/admin mute <login>` | Schaltet einen Spieler global stumm |
|
||||
| `/admin unmute <login>` | Hebt globale Stummschaltung auf |
|
||||
| `/admin forcespec <login>` | Erzwingt Zuschauer-Modus |
|
||||
| `/admin forceteam <login>` | Erzwingt Team-Zuordnung (Blue/Red) |
|
||||
|
||||
**Admin-Verwaltung:**
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
|--------|-------------|
|
||||
| `/admin addadmin <login>` | Fügt einen neuen Admin hinzu |
|
||||
| `/admin removeadmin <login>` | Entfernt einen Admin |
|
||||
| `/admin addop <login>` | Fügt einen neuen Operator hinzu |
|
||||
| `/admin removeop <login>` | Entfernt einen Operator |
|
||||
| `/admin listmasters` | Zeigt MasterAdmin-Liste |
|
||||
| `/admin listadmins` | Zeigt Admin-Liste |
|
||||
| `/admin listops` | Zeigt Operator-Liste |
|
||||
|
||||
**Rekorde & System:**
|
||||
|
||||
| Befehl | Beschreibung |
|
||||
|--------|-------------|
|
||||
| `/admin delrec <#>` | Löscht einen bestimmten Rekord auf der aktuellen Strecke |
|
||||
| `/admin wall <msg>` | Zeigt Popup-Nachricht für alle Spieler |
|
||||
| `/admin pm <msg>` | Sendet private Nachricht an alle Admins |
|
||||
| `/admin server` | Zeigt detaillierte Server-Einstellungen |
|
||||
| `/admin shutdown` | Fährt XAseco herunter |
|
||||
| `/admin shutdownall` | Fährt Server und XAseco herunter |
|
||||
|
||||
> **Tipp:** Eine vollständige Referenz aller Befehle (inkl. `/jfreu`-Befehle für erweiterte Moderation) findest du unter: https://docs.xaseco.org/commands.php
|
||||
|
||||
Reference in New Issue
Block a user