Skip to main content
Back to Category

Palworld Server Setup: Dedicated Server Guide

Complete Palworld dedicated server setup with SteamCMD, port configuration, server settings, mod support, auto-start, and performance optimization.

Read time: 14 min Game Server Setup
palworldgame serversteamcmddedicated serverlinux

Table of Contents

Introduction

Palworld is a popular multiplayer open-world survival game that combines creature collection mechanics with base building. By setting up your own dedicated server, you can create a private world for your friends or community. This guide covers the complete Palworld dedicated server setup on your REXE VDS step by step.

System Requirements

ResourceMinimumRecommended
CPU4 Cores6+ Cores
RAM8 GB16+ GB
Disk30 GB SSD50+ GB NVMe
OSUbuntu 22.04+Ubuntu 22.04 LTS
Bandwidth5 Mbps10+ Mbps

Palworld server is memory-intensive. 16 GB or more RAM is strongly recommended, especially for servers with 10+ players.

Prerequisites

Connect to your server via SSH and install the required packages:

hljs bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y lib32gcc-s1 lib32stdc++6 wget tar screen

Create a dedicated user for the server:

hljs bash
sudo adduser palworld --disabled-login --gecos ""
sudo su - palworld

SteamCMD Installation

SteamCMD is required to download Palworld server files:

hljs bash
mkdir -p ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz
rm steamcmd_linux.tar.gz

Verify the installation:

hljs bash
./steamcmd.sh +quit

Download Palworld Server Files

Download the Palworld dedicated server files using SteamCMD:

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

App ID 2394010 is the Steam ID for Palworld Dedicated Server. The initial download is approximately 5-6 GB.

Server Configuration

Creating the Settings File

Palworld server settings are stored in PalWorldSettings.ini:

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

Core Settings

Edit the settings file:

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

Key parameters:

hljs ini
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(Difficulty=None,
DayTimeSpeedRate=1.000000,
NightTimeSpeedRate=1.000000,
ExpRate=1.000000,
PalCaptureRate=1.000000,
PalSpawnNumRate=1.000000,
PalDamageRateAttack=1.000000,
PalDamageRateDefense=1.000000,
PlayerDamageRateAttack=1.000000,
PlayerDamageRateDefense=1.000000,
PlayerStomachDecreaceRate=1.000000,
PlayerStaminaDecreaceRate=1.000000,
PlayerAutoHPRegeneRate=1.000000,
BuildObjectDamageRate=1.000000,
CollectionDropRate=1.000000,
CollectionObjectHpRate=1.000000,
EnemyDropItemRate=1.000000,
DeathPenalty=All,
ServerName="My REXE Palworld Server",
ServerDescription="REXE Palworld Dedicated Server",
AdminPassword="STRONG_ADMIN_PASSWORD",
ServerPassword="",
PublicPort=8211,
PublicIP="SERVER_IP",
RCONEnabled=True,
RCONPort=25575,
ServerPlayerMaxNum=32,
bEnableInvaderEnemy=True,
bIsPvP=False,
CoopPlayerMaxNum=4)

Key Parameters Explained

ParameterDescriptionDefault
ExpRateExperience gain rate1.0
PalCaptureRatePal capture rate1.0
ServerPlayerMaxNumMaximum player count32
DeathPenaltyDeath penalty (None/Item/ItemAndEquipment/All)All
bIsPvPPvP modeFalse
DayTimeSpeedRateDaytime speed1.0
NightTimeSpeedRateNighttime speed1.0
RCONEnabledRemote managementTrue

Port Configuration

PortProtocolUsage
8211UDPPalworld game port
27015UDPSteam query port
25575TCPRCON (remote management)

Firewall Rules

hljs bash
sudo ufw allow 8211/udp comment "Palworld Game"
sudo ufw allow 27015/udp comment "Palworld Steam Query"
sudo ufw allow 25575/tcp comment "Palworld RCON"

Path Panel Firewall

From the REXE Path Panel:

  1. Palworld UDP: Protocol: UDP, Port: 8211
  2. Steam Query: Protocol: UDP, Port: 27015
  3. RCON: Protocol: TCP, Port: 25575 (restrict to your IP only)

Only open the RCON port to your management IP addresses. Leaving it publicly accessible poses a security risk.

Starting the Server

Startup Script

Create a startup script:

hljs bash
nano ~/palworld-server/start.sh
hljs bash
#!/bin/bash
cd ~/palworld-server

export tempLDPath="$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
export SteamAppId=1623730

./PalServer.sh \
  -port=8211 \
  -queryport=27015 \
  -useperfthreads \
  -NoAsyncLoadingThread \
  -UseMultithreadForDS \
  EpicApp=PalServer

export LD_LIBRARY_PATH="$tempLDPath"
hljs bash
chmod +x ~/palworld-server/start.sh

Running with Screen

hljs bash
screen -S palworld
~/palworld-server/start.sh

Detach from screen with Ctrl+A then D.

Auto-Start with systemd

hljs bash
sudo nano /etc/systemd/system/palworld.service
hljs ini
[Unit]
Description=Palworld Dedicated Server
After=network.target
Wants=network-online.target

[Service]
Type=simple
User=palworld
Group=palworld
WorkingDirectory=/home/palworld/palworld-server
ExecStartPre=/home/palworld/steamcmd/steamcmd.sh +force_install_dir /home/palworld/palworld-server +login anonymous +app_update 2394010 +quit
ExecStart=/home/palworld/palworld-server/start.sh
Restart=on-failure
RestartSec=20
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target
hljs bash
sudo systemctl daemon-reload
sudo systemctl enable palworld
sudo systemctl start palworld

The ExecStartPre line automatically checks for updates every time the server starts.

Performance Optimization

Memory Management

Palworld server can experience memory leaks over time. Create an auto-restart script:

hljs bash
nano ~/palworld-server/restart.sh
hljs bash
#!/bin/bash
MEM_LIMIT=12000  # Limit in MB
PROCESS="PalServer"

MEM_USAGE=$(ps aux | grep $PROCESS | grep -v grep | awk '{print $6/1024}' | head -1)

if [ ! -z "$MEM_USAGE" ]; then
  MEM_INT=${MEM_USAGE%.*}
  if [ $MEM_INT -gt $MEM_LIMIT ]; then
    echo "$(date): Memory limit exceeded ($MEM_INT MB). Restarting..."
    sudo systemctl restart palworld
  fi
fi
hljs bash
chmod +x ~/palworld-server/restart.sh
crontab -e
*/30 * * * * /home/palworld/palworld-server/restart.sh >> /home/palworld/restart.log 2>&1

Kernel Parameters

hljs bash
sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.wmem_max=26214400
echo 'net.core.rmem_max=26214400' | sudo tee -a /etc/sysctl.conf
echo 'net.core.wmem_max=26214400' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Mod Support

To add mods to your Palworld server:

hljs bash
mkdir -p ~/palworld-server/Pal/Content/Paks/Mods
cp /tmp/ModFile.pak ~/palworld-server/Pal/Content/Paks/Mods/
sudo systemctl restart palworld

All players must have the same mods installed. Incompatible mods can cause server crashes.

Automatic Backups

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

mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/palworld_$DATE.tar.gz -C $SAVE_DIR .
find $BACKUP_DIR -name "palworld_*.tar.gz" -mtime +7 -delete
echo "$(date): Backup completed - palworld_$DATE.tar.gz"
hljs bash
chmod +x ~/palworld-server/backup.sh
crontab -e
0 */6 * * * /home/palworld/palworld-server/backup.sh >> /home/palworld/backup.log 2>&1

RCON Management

With RCON enabled, you can send remote commands using rcon-cli:

hljs bash
./rcon -a localhost:25575 -p ADMIN_PASSWORD "ShowPlayers"
./rcon -a localhost:25575 -p ADMIN_PASSWORD "Broadcast Server_restarting_in_5_minutes"
./rcon -a localhost:25575 -p ADMIN_PASSWORD "Save"
./rcon -a localhost:25575 -p ADMIN_PASSWORD "Shutdown 300 Server_restarting"

Troubleshooting

Server won't start

hljs bash
tail -50 ~/palworld-server/Pal/Saved/Logs/PalServer.log
sudo ss -tulnp | grep -E '8211|27015|25575'

High memory usage

hljs bash
free -h
ps aux --sort=-%mem | head -5

Conclusion

Palworld dedicated server setup can be completed quickly with SteamCMD. With proper port configuration, performance optimization, and regular backups, you can provide a stable server experience. REXE VDS high-performance infrastructure provides an ideal environment for your Palworld server.