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