diff --git a/docker/server/base/Dockerfile b/docker/server/base/Dockerfile index 7f2fb580..d476b786 100644 --- a/docker/server/base/Dockerfile +++ b/docker/server/base/Dockerfile @@ -37,5 +37,9 @@ HEALTHCHECK --interval=15s --timeout=20s --start-period=10s --retries=3 CMD [ "b RUN useradd -m openmohaa USER openmohaa +ENV GAME_PORT=12203 + +COPY "entrypoint.sh" "/usr/local/bin/entrypoint.sh" WORKDIR "/usr/local/share/mohaa" -ENTRYPOINT [ "/usr/local/games/openmohaa/lib/openmohaa/omohaaded", "+set", "fs_homepath", "home" ] + +ENTRYPOINT [ "bash", "entrypoint.sh" ] diff --git a/docker/server/base/entrypoint.sh b/docker/server/base/entrypoint.sh new file mode 100644 index 00000000..1ba9b5ee --- /dev/null +++ b/docker/server/base/entrypoint.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +# It's amazing that with Docker, one can't put environment variables in the array of the ENTRYPOINT command + +/usr/local/games/openmohaa/lib/openmohaa/omohaaded +set fs_homepath home +set dedicated 2 +set net_port $GAME_PORT:-12203 $@ diff --git a/docker/server/base/health_check.sh b/docker/server/base/health_check.sh index fd4c4659..f7f490eb 100644 --- a/docker/server/base/health_check.sh +++ b/docker/server/base/health_check.sh @@ -6,7 +6,7 @@ header=$'\xff\xff\xff\xff\x01disconnect' # so the server will return the disconnect message message=$'none' -query_port=12203 +query_port=${GAME_PORT:-12203} data="" while [ -z "$data" ]