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.1' (#12) from release-1.2.1 into master
Reviewed-on: https://git.techniverse.net/scriptos/tmserver-docker/pulls/12
This commit is contained in:
+7
-3
@@ -130,9 +130,13 @@ RUN unzip /opt/tmserver/xaseco_v1.16.zip -d /opt/tmserver/ \
|
||||
# newinstall-Ordner aufraeumen
|
||||
&& rm -rf /opt/tmserver/xaseco/newinstall
|
||||
|
||||
# Nicht mehr verfuegbare Plugins deaktivieren (freezone entfernen, teamspeak3 auskommentieren)
|
||||
RUN sed -i '/<plugin>plugin\.freezone\.php<\/plugin>/d' /opt/tmserver/xaseco/plugins.xml \
|
||||
&& sed -i 's/<plugin>plugin\.teamspeak3\.php<\/plugin>/<!-- <plugin>plugin.teamspeak3.php<\/plugin> -->/' /opt/tmserver/xaseco/plugins.xml
|
||||
# Nicht mehr verfuegbares freezone-Plugin entfernen
|
||||
RUN sed -i '/<plugin>plugin\.freezone\.php<\/plugin>/d' /opt/tmserver/xaseco/plugins.xml
|
||||
|
||||
# TeamSpeak3-Plugin: Eigenes Gateway einbinden (Original-Gateway nicht mehr verfuegbar)
|
||||
# Die teamspeak3.xml wird direkt in den XAseco-Ordner kopiert, damit das Plugin
|
||||
# beim Start automatisch den konfigurierten TS3-Server anzeigt.
|
||||
COPY assets/config/xaseco/teamspeak3.xml /opt/tmserver/xaseco/teamspeak3.xml
|
||||
|
||||
# XAseco als Default-Template sichern (wird beim ersten Start ins Volume kopiert)
|
||||
RUN cp -a /opt/tmserver/xaseco /opt/tmserver/default-xaseco
|
||||
|
||||
@@ -353,6 +353,40 @@ if [ "$XASECO_ENABLED" = "true" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# ============================================================
|
||||
# XAseco: TeamSpeak3-Plugin Gateway aktualisieren (fuer bestehende Volumes)
|
||||
# ============================================================
|
||||
# Das Original-TS3-Gateway ist nicht mehr verfuegbar. Die eigene
|
||||
# teamspeak3.xml mit dem Ersatz-Gateway wird in das Volume kopiert,
|
||||
# falls sie fehlt oder noch das alte (nicht mehr erreichbare) Gateway
|
||||
# referenziert. Gleichzeitig wird das Plugin reaktiviert, falls es
|
||||
# in einer frueheren Version auskommentiert wurde.
|
||||
# ============================================================
|
||||
XASECO_DIR_TS3="/opt/tmserver/xaseco"
|
||||
TS3_XML="$XASECO_DIR_TS3/teamspeak3.xml"
|
||||
TS3_DEFAULT="/opt/tmserver/default-xaseco/teamspeak3.xml"
|
||||
TS3_PLUGINS_XML="$XASECO_DIR_TS3/plugins.xml"
|
||||
|
||||
# teamspeak3.xml aktualisieren: Kopieren wenn fehlend oder veraltet
|
||||
if [ -f "$TS3_DEFAULT" ]; then
|
||||
if [ ! -f "$TS3_XML" ]; then
|
||||
echo "==> TeamSpeak3-Gateway: teamspeak3.xml fehlt, kopiere aus Template..."
|
||||
cp "$TS3_DEFAULT" "$TS3_XML"
|
||||
echo " teamspeak3.xml erfolgreich kopiert."
|
||||
elif ! diff -q "$TS3_DEFAULT" "$TS3_XML" > /dev/null 2>&1; then
|
||||
echo "==> TeamSpeak3-Gateway: teamspeak3.xml wird aktualisiert..."
|
||||
cp "$TS3_DEFAULT" "$TS3_XML"
|
||||
echo " teamspeak3.xml erfolgreich aktualisiert."
|
||||
fi
|
||||
fi
|
||||
|
||||
# TS3-Plugin reaktivieren, falls es auskommentiert ist
|
||||
if [ -f "$TS3_PLUGINS_XML" ] && grep -q '<!-- <plugin>plugin\.teamspeak3\.php</plugin> -->' "$TS3_PLUGINS_XML"; then
|
||||
echo "==> TeamSpeak3-Plugin: Reaktiviere auskommentiertes Plugin..."
|
||||
sed -i 's|<!-- <plugin>plugin\.teamspeak3\.php</plugin> -->|<plugin>plugin.teamspeak3.php</plugin>|' "$TS3_PLUGINS_XML"
|
||||
echo " TeamSpeak3-Plugin erfolgreich aktiviert."
|
||||
fi
|
||||
|
||||
# ============================================================
|
||||
# RemoteCP: PHP-Warnungen in Plugins fixen (fuer bestehende Volumes)
|
||||
# ============================================================
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<settings>
|
||||
<!-- Server Configuration, can be address or ip -->
|
||||
<server>ts3.techniverse.net</server>
|
||||
<serverid>1</serverid>
|
||||
<serverport>9987</serverport>
|
||||
<queryport>10011</queryport>
|
||||
|
||||
<!-- Channel & Update Settings -->
|
||||
<defaultchannel></defaultchannel>
|
||||
<subchannel></subchannel>
|
||||
<channelpassword></channelpassword>
|
||||
<update_interval>30</update_interval>
|
||||
|
||||
|
||||
<!-- Helpers and images -->
|
||||
<helperURL>http://assets.techniverse.net/tm/ts3gateway/gateway3.html</helperURL>
|
||||
<logoURL>http://assets.techniverse.net/tm/ts3gateway/ts3logo.jpg</logoURL>
|
||||
|
||||
<!-- Widget position -->
|
||||
<posx>-64</posx>
|
||||
<posy>45</posy>
|
||||
</settings>
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
services:
|
||||
tmserver:
|
||||
image: git.techniverse.net/scriptos/trackmania-server:1.2.0
|
||||
image: git.techniverse.net/scriptos/trackmania-server:1.2.1
|
||||
build:
|
||||
context: .
|
||||
container_name: tmserver
|
||||
|
||||
@@ -8,6 +8,55 @@ Im Container wird die modifizierte Version **XAseco 1.16** verwendet, die für P
|
||||
|
||||
XAseco verbindet sich über XML-RPC mit dem TrackMania-Server und reagiert auf Spielereignisse (neue Rekorde, Spieler-Connects, Chat-Befehle usw.). Die Daten werden in einer eigenen MySQL-Datenbank gespeichert.
|
||||
|
||||
## TeamSpeak 3 Integration
|
||||
|
||||
XAseco enthält ein Plugin (`plugin.teamspeak3.php`), das im Spiel ein Widget mit den aktuell verbundenen TeamSpeak-3-Nutzern anzeigt. Das Plugin ist **standardmäßig aktiviert** und verwendet ein eigenes Gateway, das im Container mitgeliefert wird (das Original-Gateway des Plugin-Entwicklers ist nicht mehr verfügbar).
|
||||
|
||||
### TS3-Server konfigurieren
|
||||
|
||||
Die Konfiguration erfolgt über die Datei `data/xaseco/teamspeak3.xml`. Dort kann der eigene TeamSpeak-3-Server eingetragen werden:
|
||||
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<settings>
|
||||
<!-- Server Configuration, can be address or ip -->
|
||||
<server>ts3.techniverse.net</server>
|
||||
<serverid>1</serverid>
|
||||
<serverport>9987</serverport>
|
||||
<queryport>10011</queryport>
|
||||
|
||||
<!-- Channel & Update Settings -->
|
||||
<defaultchannel></defaultchannel>
|
||||
<subchannel></subchannel>
|
||||
<channelpassword></channelpassword>
|
||||
<update_interval>30</update_interval>
|
||||
|
||||
<!-- Helpers and images -->
|
||||
<helperURL>http://assets.techniverse.net/tm/ts3gateway/gateway3.html</helperURL>
|
||||
<logoURL>http://assets.techniverse.net/tm/ts3gateway/ts3logo.jpg</logoURL>
|
||||
|
||||
<!-- Widget position -->
|
||||
<posx>-64</posx>
|
||||
<posy>45</posy>
|
||||
</settings>
|
||||
```
|
||||
|
||||
| Feld | Beschreibung |
|
||||
|------|-------------|
|
||||
| `server` | Hostname oder IP des TS3-Servers |
|
||||
| `serverid` | Virtuelle-Server-ID (meist `1`) |
|
||||
| `serverport` | Voice-Port des TS3-Servers (Standard: `9987`) |
|
||||
| `queryport` | ServerQuery-Port (Standard: `10011`) |
|
||||
| `defaultchannel` | Standard-Channel (leer = Server-Default) |
|
||||
| `subchannel` | Sub-Channel (optional) |
|
||||
| `channelpassword` | Channel-Passwort (optional) |
|
||||
| `update_interval` | Aktualisierungsintervall in Sekunden |
|
||||
| `helperURL` | URL zur Gateway-HTML-Seite (nicht ändern) |
|
||||
| `logoURL` | URL zum TS3-Logo im Widget (nicht ändern) |
|
||||
| `posx` / `posy` | Widget-Position im Spiel |
|
||||
|
||||
> **Hinweis:** Standardmäßig ist der TS3-Server `ts3.techniverse.net` vorkonfiguriert. Zum Anpassen einfach nach dem ersten Start die Datei `data/xaseco/teamspeak3.xml` bearbeiten. Die Felder `helperURL` und `logoURL` verweisen auf das mitgelieferte Gateway und sollten nicht geändert werden.
|
||||
|
||||
## Konfiguration
|
||||
|
||||
Die Konfiguration erfolgt ausschließlich über Umgebungsvariablen in der `.env`-Datei. Beim **ersten Start** (leeres XAseco-Volume) werden die Werte automatisch in die XML-Konfigurationsdateien eingetragen.
|
||||
|
||||
Reference in New Issue
Block a user