Palworld Dedicated server Quick Setup
This guide will help you get setup with hosting your Palworld Dedicated server on Docker! This Palworld server quick setup will only take a couple of minutes and you'll have a working server.
Prerequisites
- Virtualization enabled in the BIOS/UEFI
- Must have Docker installed
Server Requirements
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 4 cores | 4+ cores |
| RAM | 16GB | Recommend over 32GB for stable operation |
| Storage | 8GB | 20GB |
Docker Compose
This repository includes an example compose.yaml file you can use to set up your server.
services:
palworld:
image: thijsvanloef/palworld-server-docker:latest
restart: unless-stopped
container_name: palworld-server
stop_grace_period: 30s # Set to however long you are willing to wait for the container to gracefully stop
ports:
- 8211:8211/udp
- 27015:27015/udp # Required if you want your server to show up in the community servers tab
- 8212:8212/tcp # REST API enabled port, enabled by default. DO NOT PORT FORWARD THIS.
environment:
PUID: 1000
PGID: 1000
PORT: 8211 # Optional but recommended
PLAYERS: 16 # Optional but recommended
SERVER_PASSWORD: "worldofpals" # Optional but recommended
MULTITHREADING: true
REST_API_ENABLED: true
REST_API_PORT: 8212
TZ: "UTC"
ADMIN_PASSWORD: "adminPasswordHere"
COMMUNITY: false # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD!
SERVER_NAME: "palworld-server-docker by Thijs van Loef"
SERVER_DESCRIPTION: "palworld-server-docker by Thijs van Loef"
CROSSPLAY_PLATFORMS: "(Steam,Xbox,PS5,Mac)"
volumes:
- ./palworld:/palworld/
As an alternative, you can copy the .env.example file to a new file called .env file.
Modify it to your needs, check out the environment variables section to check the correct values.
Modify your compose.yaml to this:
services:
palworld:
image: thijsvanloef/palworld-server-docker:latest
restart: unless-stopped
container_name: palworld-server
stop_grace_period: 30s # Set to however long you are willing to wait for the container to gracefully stop
ports:
- 8211:8211/udp
- 27015:27015/udp
- 8212:8212/tcp # REST API enabled port, enabled by default. DO NOT PORT FORWARD THIS.
env_file:
- .env
volumes:
- ./palworld:/palworld/
Starting the server
Use docker compose up -d in the same folder as the compose.yaml to start the server in the background
Stopping the server
Use docker compose stop in the same folder as the compose.yaml to stop the server
Use docker compose down --rmi all in the same folder as the compose.yaml
to stop and remove the server and remove the docker image from your computer
Docker Run
docker run -d \
--name palworld-server \
-p 8211:8211/udp \
-p 27015:27015/udp \
-v ./palworld:/palworld/ \
-e PUID=1000 \
-e PGID=1000 \
-e PORT=8211 \
-e PLAYERS=16 \
-e MULTITHREADING=true \
-e REST_API_ENABLED=true \
-e REST_API_PORT=8212 \
-e TZ=UTC \
-e ADMIN_PASSWORD="adminPasswordHere" \
-e SERVER_PASSWORD="worldofpals" \
-e COMMUNITY=false \
-e SERVER_NAME="palworld-server-docker by Thijs van Loef" \
-e SERVER_DESCRIPTION="palworld-server-docker by Thijs van Loef" \
-e CROSSPLAY_PLATFORMS="(Steam,Xbox,PS5,Mac)" \
--restart unless-stopped \
--stop-timeout 30 \
thijsvanloef/palworld-server-docker:latest
As an alternative, you can copy the .env.example file to a new file called .env file.
Modify it to your needs, check out the environment variables section to check the correct values.
Change your docker run command to this:
docker run -d \
--name palworld-server \
-p 8211:8211/udp \
-p 27015:27015/udp \
-v ./palworld:/palworld/ \
--env-file .env \
--restart unless-stopped \
--stop-timeout 30 \
thijsvanloef/palworld-server-docker:latest