diff --git a/Dockerfile b/Dockerfile index d0a53b6..9d1d62f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -40,6 +40,11 @@ ENV DEBIAN_FRONTEND=noninteractive \ BACKUP_ENABLED=true \ BACKUP_CRON_EXPRESSION="0 * * * *" +USER root + +RUN mkdir /palworld +RUN chown steam:steam /palworld + VOLUME [ "/palworld" ] EXPOSE 8211/udp @@ -48,4 +53,6 @@ EXPOSE 25575/tcp ADD --chmod=777 servermanager.sh /servermanager.sh ADD --chmod=777 backupmanager.sh /backupmanager.sh +USER steam + CMD ["/servermanager.sh"] diff --git a/servermanager.sh b/servermanager.sh index 4632109..44676ec 100644 --- a/servermanager.sh +++ b/servermanager.sh @@ -5,13 +5,13 @@ GAME_PATH="/palworld" function installServer() { # force a fresh install of all echo ">>> Doing a fresh install of the gameserver" - /home/steam/steamcmd/steamcmd.sh +force_install_dir "/palworld" +login anonymous +app_update 2394010 validate +quit + /home/steam/steamcmd/steamcmd.sh +force_install_dir "$GAME_PATH" +login anonymous +app_update 2394010 validate +quit } function updateServer() { # force an update and validation echo ">>> Doing an update of the gameserver" - /home/steam/steamcmd/steamcmd.sh +force_install_dir "/palworld" +login anonymous +app_update 2394010 validate +quit + /home/steam/steamcmd/steamcmd.sh +force_install_dir "$GAME_PATH" +login anonymous +app_update 2394010 validate +quit } function startServer() { @@ -89,7 +89,7 @@ function startMain() { /usr/local/bin/supercronic cronlist & fi # Check if server is installed, if not try again - if [ ! -f "/palworld/PalServer.sh" ]; then + if [ ! -f "$GAME_PATH/PalServer.sh" ]; then installServer fi if [ $ALWAYS_UPDATE_ON_START == "true" ]; then