Merge pull request #16 from fryfrog/add_user

Add PUID and PGID to palworld docker image.
This commit is contained in:
Thijs van Loef
2024-01-21 11:00:13 +01:00
committed by GitHub
5 changed files with 27 additions and 13 deletions

View File

@@ -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"]
ENTRYPOINT ["/home/steam/server/init.sh"]

View File

@@ -32,6 +32,8 @@ services:
- 27015:27015/udp
environment:
- PORT=8211
- PUID=1000
- PGID=1000
- PLAYERS=16
- MULTITHREADING=FALSE
- COMMUNITY=false # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD!
@@ -55,6 +57,8 @@ docker run -d \
-v ./<palworld-folder>:/palworld/ \
-e PLAYERS=16 \
-e PORT=8211 \
-e PUID=1000 \
-e PGID=1000 \
-e COMMUNITY=false \
--restart unless-stopped \
thijsvanloef/palworld-server-docker
@@ -74,6 +78,8 @@ It is highly recommended you set the following environment values before startin
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- |
| PLAYERS* | Max amount of players that are able to join the server | 16 | 1-31 |
| PORT* | UDP port that the server will expose | 8211 | 1024-65535 |
| PUID* | The uid of the user the server should run as | 1000 | !0 |
| PGID* | The gid of the group the server should run as | 1000 | !0 |
| MULTITHREADING** | Improves performance in multi-threaded CPU environments. It is effective up to a maximum of about 4 threads, and allocating more than this number of threads does not make much sense. | false | true/false |
| COMMUNITY | Whether or not the server shows up in the community server browser (USE WITH SERVER_PASSWORD) | false | true/false |
| PUBLIC_IP | You can manually specify the global IP address of the network on which the server running.If not specified, it will be detected automatically. If it does not work well, try manual configuration. | | x.x.x.x |
@@ -101,4 +107,4 @@ Issues/Feature requests can be submitted by using [this link](https://github.com
### Known Issues
Known issues are listed in the [wiki](https://github.com/thijsvanloef/palworld-server-docker/wiki/Known-Issues)
Known issues are listed in the [wiki](https://github.com/thijsvanloef/palworld-server-docker/wiki/Known-Issues)

View File

@@ -8,6 +8,8 @@ services:
- 27015:27015/udp
environment:
- PORT=8211
- PUID=1000
- PGID=1000
- PLAYERS=16
- MULTITHREADING=false
- UPDATE_ON_BOOT=true
@@ -17,4 +19,4 @@ services:
# - SERVER_NAME="World of Pals"
# - ADMIN_PASSWORD="someAdminPassword"
volumes:
- ./palworld:/palworld/
- ./palworld:/palworld/

View File

@@ -1,14 +1,20 @@
#!/bin/sh
#!/bin/bash
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
./start.sh

View File

@@ -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