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:
- Performance VPS - Ideal for small Palworld servers
- Eco Dedicated Servers - Recommended for Palworld (16 GB RAM+)
- Performance Dedicated Servers - Maximum performance for large servers
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 players | Minimum RAM | Recommended RAM |
|---|---|---|
| 1-8 | 8 GB | 16 GB |
| 8-16 | 16 GB | 24 GB |
| 16-32 | 24 GB | 32 GB |
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
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โ
| Parameter | Description | Default Value |
|---|---|---|
ServerName | Your server name | "Default Palworld Server" |
ServerDescription | Server description | "" |
AdminPassword | Administrator password | "" |
ServerPassword | Password to join (empty = public) | "" |
ServerPlayerMaxNum | Max number of players | 32 |
PublicPort | Server port | 8211 |
PublicIP | Server public IP | "" |
ExpRate | Experience multiplier | 1.0 |
PalCaptureRate | Pal capture rate | 1.0 |
bIsPvP | Enable PvP | False |
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:
| Command | Description |
|---|---|
/AdminPassword <password> | Login as admin |
/Shutdown <seconds> <message> | Shutdown server with delay |
/Save | Save the world |
/Broadcast <message> | Send message to all |
/KickPlayer <SteamID> | Kick a player |
/BanPlayer <SteamID> | Ban a player |
/ShowPlayers | Show connected players |
/Info | Show 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โ
- Launch Palworld
- Select "Join Multiplayer Server"
- At the bottom, enter:
SERVER_IP:8211 - 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