entrypoint script - added neccessary variables - updated Dockerfile
This commit is contained in:
parent
fe968cbbed
commit
c230f02b2e
|
@ -1,4 +1,4 @@
|
||||||
FROM debian:stretch-slim
|
FROM debian:buster-slim
|
||||||
|
|
||||||
RUN mkdir /opt/tmserver
|
RUN mkdir /opt/tmserver
|
||||||
|
|
||||||
|
@ -18,6 +18,4 @@ RUN chown trackmania:trackmania /entrypoint-tmserver.sh
|
||||||
USER trackmania
|
USER trackmania
|
||||||
WORKDIR /opt/tmserver
|
WORKDIR /opt/tmserver
|
||||||
|
|
||||||
ENTRYPOINT ["entrypoint-tmserver.sh"]
|
ENTRYPOINT ["./entrypoint-tmserver.sh"]
|
||||||
|
|
||||||
CMD ["TrackmaniaServer","/nodaemon"]
|
|
||||||
|
|
|
@ -3,6 +3,11 @@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
if [[ "$(id -u)" = "0"]]; then
|
||||||
|
chown -R trackmania /opt/tmserver
|
||||||
|
exec su-exec trackmania "$0"
|
||||||
|
fi
|
||||||
|
|
||||||
# Evaluate all the available environment variables
|
# Evaluate all the available environment variables
|
||||||
if [[ -z "${SERVER_LOGIN}" ]]; then
|
if [[ -z "${SERVER_LOGIN}" ]]; then
|
||||||
echo "Server account login is missing. Server cannot start."
|
echo "Server account login is missing. Server cannot start."
|
||||||
|
@ -41,11 +46,66 @@ if [[ -z "${SERVER_COMMENT}" ]]; then
|
||||||
SERVER_COMMENT="This is a Trackmania Server"
|
SERVER_COMMENT="This is a Trackmania Server"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Evaluation over
|
if [[ -z "${GAMEMODE}"]]; then
|
||||||
# Commencing substition in config files
|
echo "No gamemode was specified. Defaulting to TimeAttack."
|
||||||
|
GAMEMODE=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${CHATTIME}"]]; then
|
||||||
|
echo "No chat timeout was specified. Defaulting to 10000 ms."
|
||||||
|
CHATTIME=10000
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${FINISHTIMEOUT}"]]; then
|
||||||
|
echo "No finish timeout was specified. Defaulting to adaptive mode."
|
||||||
|
FINISHTIMEOUT=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${DISABLERESPAWN}"]]; then
|
||||||
|
echo "Respawns were not specified. Defaulting to enabled."
|
||||||
|
DISABLERESPAWN=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${ROUNDS_POINTSLIMIT}"]]; then
|
||||||
|
echo "No points limit was specified for rounds mode. Defaulting to 30."
|
||||||
|
ROUNDS_POINTSLIMIT=30
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${TIMEATTACK_LIMIT}"]]; then
|
||||||
|
echo "No time limit was specified for time attack mode. Defaulting to 180000 ms."
|
||||||
|
TIMEATTACK_LIMIT=180000
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${TEAM_POINTSLIMIT}"]]; then
|
||||||
|
echo "No points limit was specified for team mode. Defaulting to 50."
|
||||||
|
TEAM_POINTSLIMIT=50
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${TEAM_MAXPOINTS}"]]; then
|
||||||
|
echo "No number of maximum points per round was specified for team mode. Defaulting to 6."
|
||||||
|
TEAM_MAXPOINTS=6
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${LAPS_NBLAPS}"]]; then
|
||||||
|
echo "No number of laps was specified for laps mode. Defaulting to 5."
|
||||||
|
LAPS_NBLAPS=5
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${LAPS_TIMELIMIT}"]]; then
|
||||||
|
echo "No time limit was specified for laps mode. Defaulting to no limit."
|
||||||
|
LAPS_TIMELIMIT=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
echo "Evaluation over"
|
||||||
|
echo "Substition in config files"
|
||||||
|
|
||||||
#Trackmania Files
|
#Trackmania Files
|
||||||
|
|
||||||
envsubst > GameData/Config/config.txt < GameData/Config/_config.txt
|
$configcmd="envsubst > GameData/Config/config.txt < GameData/Config/_config.txt"
|
||||||
|
$playlistcmd="envsubst > GameData/Config/playlist.txt < GameData/Config/_playlist.txt"
|
||||||
|
|
||||||
exec "./TrackmaniaServer" "/nodaemon" "/internet" "/game_settings=MatchSettings/playlist.txt" "/dedicated_cfg=config.txt"
|
eval $configcmd
|
||||||
|
eval $playlistcmd
|
||||||
|
|
||||||
|
exec "/opt/tmserver/TrackmaniaServer" "/nodaemon" "/internet" "/game_settings=MatchSettings/playlist.txt" "/dedicated_cfg=config.txt"
|
||||||
|
|
Loading…
Reference in New Issue