diff --git a/Dockerfile b/Dockerfile index be1bd3e72..e7b707b2c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,6 +7,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* ENV PORT=8211 \ + PUID=1000 \ + PGID=1000 \ PLAYERS=16 \ MULTITHREADING=false \ COMMUNITY=false \ @@ -23,4 +25,4 @@ RUN chmod +x /home/steam/server/init.sh /home/steam/server/start.sh WORKDIR /home/steam/server EXPOSE ${PORT} -ENTRYPOINT ["/home/steam/server/init.sh"] \ No newline at end of file +ENTRYPOINT ["/home/steam/server/init.sh"] diff --git a/scripts/init.sh b/scripts/init.sh index 53918b8dd..ebf0a8d30 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -1,14 +1,20 @@ -#!/bin/sh +#!/bin/bash -mkdir -p /palworld +if [[ ! "${PUID}" -eq 0 ]] && [[ ! "${PGID}" -eq 0 ]]; then + echo "Executing usermod..." + usermod -o -u "${PUID}" steam + groupmod -o -g "${PGID}" steam +else + echo "Running as root is not supported, please fix your PUID and PGID!" + exit 1 +fi +mkdir -p /palworld chown -R steam:steam /palworld if [ "${UPDATE_ON_BOOT}" = true ]; then - printf "\e[0;32m*****STARTING INSTALL/UPDATE*****\e[0m" - /home/steam/steamcmd/steamcmd.sh +force_install_dir "/palworld" +login anonymous +app_update 2394010 validate +quit - + su steam -c '/home/steam/steamcmd/steamcmd.sh +force_install_dir "/palworld" +login anonymous +app_update 2394010 validate +quit' fi -./start.sh \ No newline at end of file +./start.sh diff --git a/scripts/start.sh b/scripts/start.sh index 6d0d92c9f..ecc6183b3 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -1,9 +1,7 @@ -#!/bin/sh - +#!/bin/bash STARTCOMMAND="./PalServer.sh -port=${PORT} -players=${PLAYERS}" - if [ "${COMMUNITY}" = true ]; then STARTCOMMAND="${STARTCOMMAND} EpicApp=PalServer" fi @@ -30,7 +28,7 @@ fi if [ "${MULTITHREADING}" = true ]; then STARTCOMMAND="${STARTCOMMAND} -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS" -fi +fi cd /palworld || exit