Palworld
| Platform | Support | Notes |
|---|---|---|
| Linux | ✅ Native | Via Steam |
| Windows | ✅ Native |
Requirements
| Component | Minimum | Recommended |
|---|---|---|
| RAM | 8 GB | 16 GB |
| CPU | 4 core | 8 core |
| Disk | 20 GB | 40 GB |
| OS | Ubuntu 22.04 | Ubuntu 22.04 LTS |
Palworld is very demanding in terms of RAM. With less than 8 GB the server will crash frequently. We recommend at least 16 GB for 4+ players.
SteamCMD Installation
# Dependencies
dpkg --add-architecture i386
apt update && apt install -y lib32gcc-s1 steamcmd
# Create dedicated user
useradd -m -s /bin/bash steam
su - steam
Palworld Server Installation
# As steam user
steamcmd +login anonymous \
+force_install_dir /home/steam/palworld \
+app_update 2394010 validate \
+quit
Palworld Dedicated Server App ID on Steam is 2394010.
Configuration
mkdir -p /home/steam/palworld/Pal/Saved/Config/LinuxServer
cp /home/steam/palworld/DefaultPalWorldSettings.ini \
/home/steam/palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
nano /home/steam/palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
Main parameters:
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(
ServerName="My Palworld Server",
ServerDescription="Italian server",
AdminPassword="secure_admin_password",
ServerPassword="",
PublicPort=8211,
PublicIP="",
RCONEnabled=True,
RCONPort=25575,
MaxPlayers=16,
bUseAuth=True,
BanListURL="https://api.palworldgame.com/api/banlist.txt",
DayTimeSpeedRate=1.000000,
NightTimeSpeedRate=1.000000,
ExpRate=1.000000,
PalCaptureRate=1.000000,
PalSpawnNumRate=1.000000,
DropItemMaxNum=3000,
GuildPlayerMaxNum=20,
bEnablePlayerToPlayerDamage=False,
bEnableFriendlyFire=False,
bEnableInvaderEnemy=True
)
Open firewall ports
ufw allow 8211/udp # Game port (main)
ufw allow 8211/tcp
ufw allow 25575/tcp # RCON (optional)
ufw reload
Manual startup
cd /home/steam/palworld
./PalServer.sh \
-port=8211 \
-players=16 \
-useperfthreads \
-NoAsyncLoadingThread \
-UseMultithreadForDS
systemd service (automatic startup)
nano /etc/systemd/system/palworld.service
[Unit]
Description=Palworld Dedicated Server
After=network.target
Wants=network-online.target
[Service]
Type=simple
User=steam
WorkingDirectory=/home/steam/palworld
ExecStartPre=/usr/games/steamcmd +login anonymous +force_install_dir /home/steam/palworld +app_update 2394010 +quit
ExecStart=/home/steam/palworld/PalServer.sh -port=8211 -players=16 -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
Restart=on-failure
RestartSec=30
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now palworld
systemctl status palworld
Server Update
systemctl stop palworld
su - steam -c "steamcmd +login anonymous \
+force_install_dir /home/steam/palworld \
+app_update 2394010 validate \
+quit"
systemctl start palworld
Monitoring and Logs
# Real-time logs
journalctl -u palworld -f
# Server status
systemctl status palworld
# Active connections
ss -tulnp | grep 8211
Connecting to the Server
In Palworld, go to Multiplayer → Connect to IP and enter:
IP:8211
For the public server list, make sure PublicIP in config points to your public IP:
curl ifconfig.me
RCON (Remote Administration)
With RCON enabled you can run commands remotely:
# Install rcon client
apt install rcon -y
# Connect
rcon -H 127.0.0.1 -p 25575 -P "secure_admin_password" "/ShowPlayers"
Useful RCON commands:
- /ShowPlayers: list connected players
- /KickPlayer <SteamID>: kick player
- /BanPlayer <SteamID>: ban player
- /Save: manual save
- /Shutdown <seconds> <message>: scheduled shutdown
Tips & Tweaks
PalWorldSettings.ini Tuning
Experience and progression rates:
ExpRate=1.000000 # 1.0 = normal, 0.5 = half speed
PalCaptureRate=1.000000 # Capture difficulty
PalSpawnNumRate=1.000000 # Wild Pal spawn frequency
DeathPenalty=All # All, Item, ItemAndEquipment, None
Gameplay difficulty:
DifficultyMode=Normal # Easy, Normal, Hard, Nightmare
PalDamageRateAttack=1.0 # Pal damage multiplier
PalStaminaDecreaseRate=1.0 # Stamina drain
PlayerDamageRateAttack=1.0 # Player damage taken
PlayerStaminaDecreaseRate=1.0 # Player stamina drain
Work and production:
WorkSpeedRate=1.000000 # Pal work speed (1.0 = normal)
PassiveSkillWorkRateModifier=0.4 # Passive skill effectiveness
Server gameplay:
bEnablePlayerToPlayerDamage=False # Friendly fire
bEnableFriendlyFire=False
bEnableInvaderEnemy=True # Dungeon invaders
bThrowOtherPlayerDropItemEnable=True # Throw items
Common Configuration Examples
Casual friendly server (relaxed):
ExpRate=2.0
PalCaptureRate=2.0
PalSpawnNumRate=1.5
DeathPenalty=None
PlayerDamageRateAttack=0.5
DifficultyMode=Easy
WorkSpeedRate=2.0
MaxPlayers=10
Hardcore survival (challenging):
ExpRate=0.5
PalCaptureRate=0.5
DeathPenalty=All
PlayerDamageRateAttack=2.0
DifficultyMode=Nightmare
bEnablePlayerToPlayerDamage=True
MaxPlayers=4
PvP focused:
bEnablePlayerToPlayerDamage=True
bEnableFriendlyFire=True
PalDamageRateAttack=1.5
PlayerDamageRateAttack=1.5
MaxPlayers=16
Save Backup Strategy
Manual backup:
# Backup save files
tar -czf ~/palworld-save-$(date +%Y%m%d_%H%M).tar.gz \
/home/steam/palworld/Pal/Saved/SaveGames/
# Restore from backup
systemctl stop palworld
tar -xzf ~/palworld-save-backup.tar.gz -C /home/steam/palworld/Pal/Saved/SaveGames/
systemctl start palworld
Automated backup every 6 hours:
# Add to crontab: crontab -e
0 */6 * * * su - steam -c "tar -czf ~/backups/palworld-\$(date +\%Y\%m\%d_\%H\%M).tar.gz /home/steam/palworld/Pal/Saved/SaveGames/ 2>/dev/null"
Admin Commands (RCON)
| Command | Purpose |
|---|---|
/ShowPlayers | List connected players with SteamID |
/KickPlayer <SteamID> | Kick player |
/BanPlayer <SteamID> | Ban player (persistent) |
/UnBanPlayer <SteamID> | Remove ban |
/ShowBans | List banned players |
/Save | Manual save server |
/Shutdown <seconds> <msg> | Graceful shutdown with notice |
/Broadcast <message> | Server announcement |
/AnnounceProperties | Show server properties |
Performance Monitoring
# Check server status
systemctl status palworld
# Real-time logs
journalctl -u palworld -f
# Memory usage
ps aux | grep PalServer | grep -v grep
# Active player connections
ss -tulnp | grep 8211
# Server save status
tail -20 /var/log/syslog | grep palworld
Database and Configuration Optimization
Reduce memory footprint:
# Lower max players if RAM is limited
MaxPlayers=8 # vs 16 default
# Disable unused features
bShowPlayerBuildName=False
bShow_Boss_Dungeon=False
Network optimization:
# Adjust for players with high latency
ServerTickRate=30 # 30 = balanced, 60 = high CPU
Wipe Procedures
When starting fresh season:
# 1. Backup current saves
tar -czf ~/palworld-wipe-$(date +%Y%m%d).tar.gz \
/home/steam/palworld/Pal/Saved/SaveGames/
# 2. Stop server
systemctl stop palworld
# 3. Delete save files
rm -rf /home/steam/palworld/Pal/Saved/SaveGames/*
# 4. Restart (creates fresh world)
systemctl start palworld
Monitoring Connections
# Check who's connected
rcon -H 127.0.0.1 -p 25575 -P "admin_password" "/ShowPlayers"
# Monitor bandwidth
iftop -i eth0 -p # or: nethogs
# Check disk space (save grows over time)
du -h /home/steam/palworld/Pal/Saved/SaveGames/
Gerelateerde artikelen
CS2
How to install and configure a Counter-Strike 2 dedicated server on Linux VPS with SteamCMD
Rust
Install and manage a Rust server (Facepunch) on Linux with SteamCMD. Includes automatic updates, Oxide plugins and optimizations.
Valheim
Install a Valheim dedicated server on Linux with SteamCMD. Configuration, password, cross-play and automatic update.
