Skip to main content

How to Create a Palworld Compatible Server

This guide explains how to install and configure a dedicated Palworld server on your VPS or dedicated Linux server.

Order a Serverโ€‹

Palworld requires significant resources. HostMyServers offers suitable options:

Prerequisitesโ€‹

  • SSH access as root or user with sudo privileges
  • Up-to-date Debian/Ubuntu system
  • Minimum 4 CPU cores
  • Minimum 8 GB RAM (16 GB recommended, 32 GB for many players)
  • SSD storage recommended (about 10 GB free space)
  • Ports 8211 UDP and 27015 UDP accessible

Required Configurationโ€‹

Number of playersMinimum RAMRecommended RAM
1-88 GB16 GB
8-1616 GB24 GB
16-3224 GB32 GB
Warning

Palworld is very resource-intensive. A server with less than 8 GB RAM may experience stability issues.

System Updateโ€‹

sudo apt update && sudo apt upgrade -y

Creating a Dedicated Userโ€‹

For security reasons, create a dedicated user for the server:

sudo adduser --disabled-password --gecos "" palworld

Installing Dependenciesโ€‹

Enable 32-bit Architectureโ€‹

SteamCMD requires 32-bit libraries:

sudo dpkg --add-architecture i386
sudo apt update

Install Required Packagesโ€‹

sudo apt install -y lib32gcc-s1 lib32stdc++6 libsdl2-2.0-0:i386 screen curl wget tar

Installing SteamCMDโ€‹

Create Directory and Download SteamCMDโ€‹

sudo -u palworld bash
mkdir -p ~/steamcmd
cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -

Verify Installationโ€‹

./steamcmd.sh +quit

SteamCMD will update automatically on first launch.

Downloading Palworld Serverโ€‹

Create Server Directoryโ€‹

mkdir -p ~/palworld-server

Download Server Filesโ€‹

~/steamcmd/steamcmd.sh +force_install_dir ~/palworld-server +login anonymous +app_update 2394010 validate +quit
Note

The Palworld server application ID is 2394010. Download may take several minutes depending on your connection.

Server Configurationโ€‹

Copy Default Configuration Fileโ€‹

mkdir -p ~/palworld-server/Pal/Saved/Config/LinuxServer
cp ~/palworld-server/DefaultPalWorldSettings.ini ~/palworld-server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

Edit Configurationโ€‹

nano ~/palworld-server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

Key Parameters to Customizeโ€‹

ParameterDescriptionDefault Value
ServerNameYour server name"Default Palworld Server"
ServerDescriptionServer description""
AdminPasswordAdministrator password""
ServerPasswordPassword to join (empty = public)""
ServerPlayerMaxNumMax number of players32
PublicPortServer port8211
PublicIPServer public IP""
ExpRateExperience multiplier1.0
PalCaptureRatePal capture rate1.0
bIsPvPEnable PvPFalse

Firewall Configurationโ€‹

Open the required ports:

With UFWโ€‹

# Main game port
sudo ufw allow 8211/udp

# Steam Query port (optional, for server list)
sudo ufw allow 27015/udp

# Reload firewall
sudo ufw reload

With iptablesโ€‹

sudo iptables -A INPUT -p udp --dport 8211 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 27015 -j ACCEPT
sudo iptables-save | sudo tee /etc/iptables/rules.v4

Launching the Serverโ€‹

Exit palworld session and return to rootโ€‹

exit

Launch with screenโ€‹

sudo -u palworld bash -c 'screen -S palworld -d -m ~/palworld-server/PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS'

Verify server is runningโ€‹

sudo -u palworld screen -r palworld

To detach: Ctrl+A then D

Configuration as systemd Serviceโ€‹

For automatic startup at boot:

Create Service Fileโ€‹

sudo nano /etc/systemd/system/palworld.service

File content:

[Unit]
Description=Palworld Dedicated Server
After=network.target

[Service]
Type=simple
User=palworld
Group=palworld
WorkingDirectory=/home/palworld/palworld-server
ExecStart=/home/palworld/palworld-server/PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
Restart=on-failure
RestartSec=20

[Install]
WantedBy=multi-user.target

Enable and Start Serviceโ€‹

sudo systemctl daemon-reload
sudo systemctl enable palworld.service
sudo systemctl start palworld.service

Management Commandsโ€‹

# Check status
sudo systemctl status palworld.service

# Stop server
sudo systemctl stop palworld.service

# Restart server
sudo systemctl restart palworld.service

# View logs
sudo journalctl -u palworld.service -f

Server Updateโ€‹

Stop Serverโ€‹

sudo systemctl stop palworld.service

Backup Dataโ€‹

sudo -u palworld bash -c 'cp -r ~/palworld-server/Pal/Saved ~/palworld-backup-$(date +%Y%m%d)'

Update via SteamCMDโ€‹

sudo -u palworld bash -c '~/steamcmd/steamcmd.sh +force_install_dir ~/palworld-server +login anonymous +app_update 2394010 validate +quit'

Restart Serverโ€‹

sudo systemctl start palworld.service

In-Game Admin Commandsโ€‹

To use admin commands, connect in-game and open chat, then:

CommandDescription
/AdminPassword <password>Login as admin
/Shutdown <seconds> <message>Shutdown server with delay
/SaveSave the world
/Broadcast <message>Send message to all
/KickPlayer <SteamID>Kick a player
/BanPlayer <SteamID>Ban a player
/ShowPlayersShow connected players
/InfoShow server info

Automatic Backupโ€‹

Backup Scriptโ€‹

sudo nano /home/palworld/backup.sh
#!/bin/bash
BACKUP_DIR="/home/palworld/backups"
SERVER_DIR="/home/palworld/palworld-server"
DATE=$(date +%Y-%m-%d_%H-%M-%S)

mkdir -p $BACKUP_DIR

# Backup game data
tar -czf $BACKUP_DIR/palworld_$DATE.tar.gz -C $SERVER_DIR/Pal Saved

# Delete backups older than 7 days
find $BACKUP_DIR -name "palworld_*.tar.gz" -mtime +7 -delete

echo "Backup completed: palworld_$DATE.tar.gz"
sudo chown palworld:palworld /home/palworld/backup.sh
sudo chmod +x /home/palworld/backup.sh

Schedule Backupโ€‹

sudo crontab -u palworld -e

Add:

# Backup every 6 hours
0 */6 * * * /home/palworld/backup.sh

Connecting to Serverโ€‹

Players can connect in two ways:

Via Direct IPโ€‹

  1. Launch Palworld
  2. Select "Join Multiplayer Server"
  3. At the bottom, enter: SERVER_IP:8211
  4. Click "Connect"

Via Community Server Listโ€‹

If you configured the server correctly with a PublicIP, it will appear in the server list.

Troubleshootingโ€‹

Server won't startโ€‹

  • Check logs: sudo journalctl -u palworld.service -n 100
  • Check permissions: ls -la /home/palworld/palworld-server/
  • Verify all files are present: ls ~/palworld-server/

Players can't connectโ€‹

  • Verify port 8211 is open: sudo ufw status
  • Verify server is listening: ss -ulnp | grep 8211
  • Test port from outside

"steamclient.so" Errorโ€‹

If you get an error related to steamclient.so:

mkdir -p ~/.steam/sdk64
cp ~/palworld-server/linux64/steamclient.so ~/.steam/sdk64/

Performance Issuesโ€‹

  • Increase VPS RAM
  • Reduce ServerPlayerMaxNum
  • Enable optimization settings in config
  • Schedule regular restarts