Palworld Dedicated Server
Set up your own Palworld server on Linux – with SteamCMD, an optimized configuration and automatic restarts via systemd.
Prerequisites
- Linux server with at least 8 GB RAM (16 GB recommended)
- 4 vCPUs or more
- At least 30 GB of free disk space
- Ubuntu 22.04 / 24.04 or Debian 12
Step 1: User and dependencies
# Create a dedicated user for the game server sudo useradd -m -s /bin/bash palworld sudo passwd palworld # Ubuntu: enable the multiverse repository (steamcmd lives there) sudo apt install -y software-properties-common sudo add-apt-repository -y multiverse # Enable 32-bit packages (steamcmd is an i386 package) sudo dpkg --add-architecture i386 sudo apt update # Accept the Steam license in advance so the installation runs non-interactively echo steam steam/question select "I AGREE" | sudo debconf-set-selections echo steam steam/license note '' | sudo debconf-set-selections # Install SteamCMD and dependencies sudo DEBIAN_FRONTEND=noninteractive apt install -y lib32gcc-s1 steamcmd
With the two debconf-set-selections lines you accept the Steam license agreement – read it beforehand if needed. Debian 12: instead of add-apt-repository, add the components contrib non-free to your entries in /etc/apt/sources.list; the remaining commands are the same. The package installs SteamCMD to /usr/games/steamcmd.
Step 2: Install the Palworld server
# Work as the palworld user sudo -u palworld -i # Run SteamCMD and download the Palworld server /usr/games/steamcmd +force_install_dir /home/palworld/server \ +login anonymous \ +app_update 2394010 validate \ +quit
Step 3: Configure the server
Start the server once briefly so the configuration files are generated:
cd /home/palworld/server ./PalServer.sh # Stop it with Ctrl+C after ~30 seconds
Now adjust the settings:
# Edit the configuration nano /home/palworld/server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini # Key settings: # ServerName="Mein Palworld Server" # ServerPassword="dein_passwort" # AdminPassword="admin_passwort" # ServerPlayerMaxNum=16 # PublicPort=8211
Step 4: Create a systemd service
Leave the palworld shell with exit – the following steps need sudo and are run as your admin user. Create the file with sudo nano /etc/systemd/system/palworld.service:
# /etc/systemd/system/palworld.service [Unit] Description=Palworld Dedicated Server After=network.target [Service] Type=simple User=palworld Group=palworld WorkingDirectory=/home/palworld/server ExecStart=/home/palworld/server/PalServer.sh -port=8211 -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS Restart=on-failure RestartSec=20 [Install] WantedBy=multi-user.target
# Enable and start the service sudo systemctl daemon-reload sudo systemctl enable palworld sudo systemctl start palworld # Check the status sudo systemctl status palworld
Step 5: Firewall and connecting
# Open the port in the firewall sudo ufw allow 8211/udp # Update script – belongs to root and is run by your admin user sudo tee /usr/local/bin/palworld-update > /dev/null << 'EOF' #!/bin/bash set -e systemctl stop palworld # SteamCMD runs as the palworld user, so the files keep the right owner sudo -u palworld /usr/games/steamcmd +force_install_dir /home/palworld/server \ +login anonymous \ +app_update 2394010 validate \ +quit systemctl start palworld EOF sudo chmod 755 /usr/local/bin/palworld-update # Run an update sudo palworld-update
The palworld user deliberately has no sudo rights. That is why the script does not live in its home directory: you start it with sudo palworld-update as your admin user – it stops the service, updates the files as the palworld user and starts the server again.
Connect in-game via YOUR-SERVER-IP:8211.
Game servers with real power
Our KVM servers with dedicated RAM and fast CPUs are ideal for Palworld and other game servers.
Order a game server