The Palworld dedicated server installs for free with SteamCMD (App ID 2394010) on 64-bit Windows or Linux. Plan for 4 cores, 16 GB of RAM recommended (8 GB can boot but may crash) and an SSD; allow 15 to 30 minutes.
Step-by-step installation
Check the machine: 64-bit Windows or Linux, 4 cores, 16 GB RAM, SSD.
Install SteamCMD (Windows: a dedicated folder; Linux: the steamcmd package).
Download the server with app_update 2394010 validate (anonymous login).
Run PalServer.exe (Windows) or ./PalServer.sh (Linux) once, then stop it to generate the configuration.
Copy DefaultPalWorldSettings.ini to Pal/Saved/Config/<Linux|Windows>Server/PalWorldSettings.ini and edit it (name, passwords).
Open UDP port 8211 (firewall, provider, router).
Test by connecting to IP:8211 from the game (Join Multiplayer Game).
Create a systemd service or scheduled task for automatic start.
Schedule updates, backups of Pal/Saved and restarts.
Requirements
Source: official Palworld documentation. Deploying with Docker Desktop is discouraged by the publisher (risk of save corruption).
- OS: 64-bit Windows or Linux (Ubuntu, AlmaLinux...)
- CPU 4+ cores; 16 GB RAM recommended (8 GB: out-of-memory crash risk)
- SSD recommended: slow storage can corrupt saves
- No Steam account or key required (anonymous login)
Local install (Windows)
Unzip SteamCMD to C:\steamcmd and run the command below (or find “Palworld Dedicated Server” in your Steam library and press Play). Then start PalServer.exe from C:\steamcmd\steamapps\common\PalServer and join 127.0.0.1:8211.
C:\steamcmd\steamcmd.exe +login anonymous +app_update 2394010 validate +quit
cd C:\steamcmd\steamapps\common\PalServer
.\PalServer.exe -port=8211 -players=32 -publiclobbyLinux VPS install (Ubuntu/Debian)
Create a non-root user, install SteamCMD (on Ubuntu, enable the multiverse repository and the i386 architecture first), then download and start the server.
sudo adduser --disabled-password --gecos "" palworld
sudo add-apt-repository multiverse && sudo dpkg --add-architecture i386 && sudo apt update
sudo apt install -y steamcmd
sudo -iu palworld
/usr/games/steamcmd +force_install_dir /home/palworld/server +login anonymous +app_update 2394010 validate +quit
cd /home/palworld/server && ./PalServer.sh -port=8211 -players=32 -publiclobbyPorts to open
Only UDP 8211 is officially documented (changeable with -port=). 27015 (query) and 25575 (RCON, disabled by default) come from common setups; expose RCON/REST only if needed. On a home router, forward the ports (NAT) to the machine; at a provider (OVH, Hetzner, Scaleway), also open them in the provider firewall/security group.
- 8211/UDP — game (default, -port=)
- 27015/UDP — query/community list (not officially documented)
- 25575/TCP — RCON (RCONPort, disabled by default)
- 8212/TCP — REST API (RESTAPIPort): do not expose publicly
Linux firewall (ufw)
Allow SSH before enabling ufw.
sudo ufw allow OpenSSH
sudo ufw allow 8211/udp
sudo ufw allow 27015/udp
sudo ufw enableWindows firewall
In an administrator PowerShell:
netsh advfirewall firewall add rule name="Palworld" dir=in action=allow protocol=UDP localport=8211
netsh advfirewall firewall add rule name="Palworld Query" dir=in action=allow protocol=UDP localport=27015systemd service (auto start)
Save this file as /etc/systemd/system/palworld.service then run: sudo systemctl enable --now palworld. On Windows, use Task Scheduler (at startup, run PalServer.exe).
[Unit]
Description=Palworld Dedicated Server
After=network-online.target
Wants=network-online.target
[Service]
User=palworld
WorkingDirectory=/home/palworld/server
ExecStart=/home/palworld/server/PalServer.sh -port=8211 -players=32 -publiclobby
Restart=on-failure
RestartSec=15
LimitNOFILE=100000
[Install]
WantedBy=multi-user.targetUpdates and backups
Stop the server, back up Pal/Saved, rerun the app_update command and restart. Automate with cron (e.g. daily restart at 5 am).
sudo systemctl stop palworld
tar czf ~/palworld-backup-$(date +%F).tar.gz -C /home/palworld/server Pal/Saved
sudo -u palworld /usr/games/steamcmd +force_install_dir /home/palworld/server +login anonymous +app_update 2394010 validate +quit
sudo systemctl start palworld
# crontab -e (root) : 0 5 * * * systemctl restart palworldList and find your server
To appear in the community list, start with -publiclobby (and -publicip/-publicport if auto-detection fails). Also add your server on game-rank.com/jeux/palworld for visibility.
Troubleshooting
- Cannot connect: UDP 8211 closed (firewall, provider or router) — open it and test from outside.
- Settings ignored: you edited the template in the root; edit Pal/Saved/Config/<Linux|Windows>Server/PalWorldSettings.ini with the server stopped.
- Out-of-memory crashes: 8 GB is borderline; move to 16 GB or more and restart regularly.
- Corrupted saves: slow storage or Docker Desktop; use an SSD and avoid Docker Desktop.
- Server not in the list: start with -publiclobby and set -publicip/-publicport if the detected IP is wrong.
Frequently asked questions
- What is the Palworld server App ID?
- 2394010: steamcmd +login anonymous +app_update 2394010 validate +quit.
- Which ports does Palworld need?
- UDP 8211 (game) is required. 27015 is optional for the community list; RCON 25575 and REST API 8212 only if you enable them, never without a password.
- How much RAM is needed?
- The publisher recommends 16 GB (8 GB can boot but raises crash risk) and 4+ cores.
- How do I update the server?
- Stop it, back up Pal/Saved, rerun the same app_update 2394010 validate command and restart.
