Internet Mode neu konfiguriert. Neues BaseImage gewählt.

This commit is contained in:
2026-03-18 21:54:28 +01:00
parent 7c3c228e47
commit 3774e46924
18 changed files with 602 additions and 146 deletions

View File

@@ -1,35 +1,64 @@
FROM debian:stretch-slim
FROM debian:bookworm-slim
RUN mkdir /opt/tmserver
WORKDIR /opt/tmserver
# Alle benoetigten Pakete in einem Layer installieren und Cache aufraeumen
RUN apt-get update && apt-get install -y --no-install-recommends \
unzip \
apache2 \
php \
php-zip \
php-xml \
&& rm -rf /var/lib/apt/lists/*
COPY assets/bin/TrackmaniaServer_2011-02-21.zip /opt/tmserver
RUN apt-get update && apt-get install -y unzip
RUN unzip /opt/tmserver/TrackmaniaServer_2011-02-21.zip -d /opt/tmserver
COPY custom_game_settings.txt /opt/tmserver/GameData/Tracks/MatchSettings/
COPY RunTrackmaniaServer.sh /opt/tmserver/
RUN unzip /opt/tmserver/TrackmaniaServer_2011-02-21.zip -d /opt/tmserver \
&& rm -f /opt/tmserver/TrackmaniaServer_2011-02-21.zip
# Custom-Konfiguration ueber die Standard-Config aus dem ZIP kopieren
COPY assets/config/dedicated_cfg.txt /opt/tmserver/GameData/Config/dedicated_cfg.txt
COPY assets/config/custom_game_settings.txt /opt/tmserver/GameData/Tracks/MatchSettings/
# Gesamtes GameData als Default-Template sichern (wird beim ersten Start ins Volume kopiert)
RUN cp -r /opt/tmserver/GameData /opt/tmserver/default-gamedata
COPY assets/bin/RunTrackmaniaServer.sh /opt/tmserver/
RUN sed -i 's/\r$//' /opt/tmserver/RunTrackmaniaServer.sh \
&& chmod +x /opt/tmserver/RunTrackmaniaServer.sh
RUN apt-get -y install apache2 php php-zip php-xml
COPY assets/bin/AdminServ_v2.1.1.zip /var/www/html
RUN unzip /var/www/html/AdminServ_v2.1.1.zip -d /var/www/html
RUN chmod -R 777 /var/www/html/
RUN rm -f /var/www/html/index.html
RUN unzip /var/www/html/AdminServ_v2.1.1.zip -d /var/www/html \
&& rm -f /var/www/html/AdminServ_v2.1.1.zip \
&& chmod -R 777 /var/www/html/ \
&& rm -f /var/www/html/index.html
ARG SERVER_NAME='Trackmania Server'
ARG SERVER_DESC='This is a Trackmania Server'
ARG SERVER_SA_PASSWORD='SuperAdmin'
ARG SERVER_ADM_PASSWORD='Admin'
ARG SERVER_MODE='internet'
ARG SERVER_LOGIN=''
ARG SERVER_VALIDATION_KEY=''
ENV SERVER_NAME $SERVER_NAME
ENV SERVER_DESC $SERVER_DESC
ENV SERVER_SA_PASSWORD $SERVER_SA_PASSWORD
ENV SERVER_ADM_PASSWORD $SERVER_ADM_PASSWORD
ENV SERVER_MODE $SERVER_MODE
ENV SERVER_LOGIN $SERVER_LOGIN
ENV SERVER_VALIDATION_KEY $SERVER_VALIDATION_KEY
# --- Umgebungsvariablen ---
# Sensible Werte (Passwoerter, Keys) werden NICHT im Image hinterlegt,
# sondern muessen zur Laufzeit uebergeben werden (z.B. via .env-Datei).
# Server-Optionen (nicht-sensible Standardwerte)
ENV SERVER_NAME="Trackmania Server"
ENV SERVER_DESC="Powered by tmserver-docker"
ENV SERVER_HIDE=0
ENV SERVER_MAX_PLAYERS=32
ENV SERVER_MAX_SPECTATORS=32
ENV SERVER_LADDER_MODE=forced
# Netzwerk
ENV SERVER_PORT=2350
ENV SERVER_P2P_PORT=3450
ENV SERVER_XMLRPC_PORT=5000
ENV SERVER_UPLOAD_RATE=512
ENV SERVER_DOWNLOAD_RATE=8192
# Server-Modus und Config-Steuerung
ENV SERVER_MODE=internet
ENV FORCE_CONFIG_UPDATE=false
# Volume fuer persistente GameData (Config, Tracks, Skins, Scores, etc.)
VOLUME /opt/tmserver/GameData
EXPOSE 5000/tcp
EXPOSE 2350/tcp