How to Easily Create Your Own Palworld Server
Par Benjamin D. · PDG
· Mis à jour le August 19, 2026 · Lecture 10 min
Contents
Setting up a Palworld server in 2026 is far easier than it was at launch, but the difference between a server that runs smoothly with 16 players and one that stutters every time a base loads still comes down to hardware, configuration and maintenance. This guide covers both routes: a managed host with a Pterodactyl panel, and a self-hosted install on a Linux or Windows VPS.
What you need before creating a Palworld server
Palworld's dedicated server binary is a Unreal Engine 5 application, and it behaves like one: it is heavily dependent on single-thread CPU performance, it eats RAM as the world grows, and it writes save data frequently. Before you touch any config file, size your machine correctly.
Realistic hardware requirements
| Players | RAM (minimum) | RAM (comfortable) | CPU | Storage |
|---|---|---|---|---|
| 1–4 | 8 GB | 12 GB | 2 high-frequency cores | 20 GB NVMe |
| 5–12 | 12 GB | 16 GB | 4 high-frequency cores | 30 GB NVMe |
| 13–24 | 16 GB | 24 GB | 4–6 high-frequency cores | 40 GB NVMe |
| 25–32 | 24 GB | 32 GB | 6+ high-frequency cores | 60 GB NVMe |
Two points that people underestimate. First, RAM consumption on a Palworld server grows over weeks: bases, Pals in the world, chests, structures and guild data all accumulate in the save. A server that idles at 6 GB after install can sit at 14 GB after a month of active play. Provision headroom.
Second, storage type matters more than raw capacity. Palworld writes a full world save at each auto-save interval, and on a mechanical or shared SATA disk that write can produce a visible freeze for every connected player. NVMe removes that stutter almost entirely. This is exactly why the Serveur Palworld offers at Fly-Serv run on high-frequency Ryzen CPUs with NVMe SSD storage.
Ports and network
Palworld uses UDP, not TCP. The defaults:
- 8211/UDP — game port (players connect here)
- 27015/UDP — Steam query port (server list / public visibility)
- 25575/TCP — RCON, if you enable it (never expose it publicly without restriction)
Latency counts in Palworld because combat, capture throws and Pal AI are server-authoritative. Pick a datacenter close to the bulk of your community, not close to you personally. A 20 ms difference is noticeable when you throw a sphere at a fleeing Pal.
Method 1: create a Palworld server with a managed panel
The fastest route. With instant deployment, you go from order to a running server in a couple of minutes, and you manage everything from a Pterodactyl panel rather than from an SSH session.
Step 1 — Deploy the instance
Choose your slot count and RAM, pick a location, and let the automatic installer pull the Palworld dedicated server files through SteamCMD. The panel handles the egg configuration, the startup command and the port allocation. No manual steamcmd login, no +app_update 2394010 to type by hand.
Step 2 — First boot and file generation
Start the server once from the panel console and wait until you see the startup lines confirming the server is listening. This first launch generates the default configuration tree:
Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
Pal/Saved/Config/WindowsServer/PalWorldSettings.ini (Windows builds)
Pal/Saved/SaveGames/0/<WorldID>/
Stop the server before editing. Editing a live config does nothing — Palworld reads the INI at boot and rewrites parts of it on clean shutdown, so changes made while running get overwritten.
Step 3 — Edit PalWorldSettings.ini
Open the file manager in the panel, navigate to the config folder and edit PalWorldSettings.ini. The critical trap: the whole OptionSettings block must stay on a single line. If you add a line break inside it, the server silently falls back to defaults and you will spend an hour wondering why your XP multiplier does nothing.
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(Difficulty=None,DayTimeSpeedRate=1.000000,NightTimeSpeedRate=1.000000,ExpRate=2.000000,PalCaptureRate=1.500000,PalSpawnNumRate=1.000000,PalDamageRateAttack=1.000000,PalDamageRateDefense=1.000000,PlayerDamageRateAttack=1.000000,PlayerDamageRateDefense=1.000000,PlayerStomachDecreaceRate=0.700000,PlayerStaminaDecreaceRate=0.700000,PlayerAutoHPRegeneRate=1.000000,PalStomachDecreaceRate=0.700000,BuildObjectDamageRate=1.000000,BuildObjectDeteriorationDamageRate=0.000000,CollectionDropRate=2.000000,CollectionObjectHpRate=1.000000,EnablePlayerToPlayerDamage=False,EnableFriendlyFire=False,EnableInvaderEnemy=True,DeathPenalty=Item,bEnablePlayerToPlayerDamage=False,bIsMultiplay=False,bIsPvP=False,DropItemMaxNum=3000,BaseCampMaxNum=128,BaseCampWorkerMaxNum=15,DropItemAliveMaxHours=1.000000,AutoResetGuildNoOnlinePlayers=False,GuildPlayerMaxNum=20,PalEggDefaultHatchingTime=24.000000,ServerPlayerMaxNum=16,ServerName="My Palworld Server",ServerDescription="Community server - rules in Discord",AdminPassword="ChangeThisNow_L0ngRandom",ServerPassword="",PublicPort=8211,PublicIP="",RCONEnabled=True,RCONPort=25575,bUseAuth=True,bShowPlayerList=True)
Settings worth tuning first
- ExpRate — 1.0 is the vanilla grind. Most community servers sit between 1.5 and 3.0.
- PalCaptureRate — 1.5 to 2.0 keeps capture satisfying without making spheres pointless.
- CollectionDropRate and CollectionObjectRespawnSpeedRate — the real quality-of-life levers for ore and wood farming.
- BuildObjectDeteriorationDamageRate=0.000000 — disables base decay. Strongly recommended on servers where players are not online daily.
- DropItemMaxNum — lowering it (1500–3000) reduces world entity count and helps performance on busy servers.
- BaseCampWorkerMaxNum — every extra worker Pal is AI ticking on the server. Raising this to 20+ across 20 guilds is a real CPU cost.
- DeathPenalty —
None,Item,ItemAndEquipmentorAll. Pick before launch, changing it later upsets people. - ServerPlayerMaxNum — must match the slots you actually provisioned RAM for.
Step 4 — Secure the admin access
Set a long, random AdminPassword. It grants full in-game admin commands (/Shutdown, /KickPlayer, /BanPlayer, /Save) to anyone who types it. If you run a private server, set ServerPassword too — that is the closest thing Palworld has to a whitelist.
Step 5 — Restart and connect
Restart from the panel console, then in Palworld go to Join Multiplayer Game and enter the address manually:
<server-ip>:8211
The community server browser is unreliable and often fails to list servers even when they are perfectly reachable. Direct connect always works — give your players the IP and port in your Discord, not the server name.
Method 2: self-host a Palworld server on a VPS
If you want full control, root access, or plan to run several game servers on the same machine, a VPS is the answer. A VPS Linux is the standard choice; a VPS Pterodactyl gives you the same panel experience while keeping ownership of the host.
Prepare the system (Debian / Ubuntu)
ssh root@your-vps-ip
apt update && apt upgrade -y
dpkg --add-architecture i386
apt update
apt install -y software-properties-common lib32gcc-s1 curl wget xdg-user-dirs ufw fail2ban
# never run a game server as root
adduser --disabled-password --gecos "" palworld
Install SteamCMD and the dedicated server
su - palworld
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
./steamcmd.sh +force_install_dir /home/palworld/palserver \
+login anonymous \
+app_update 2394010 validate \
+quit
App ID 2394010 is the Palworld Dedicated Server. Use the same command later to update — Palworld patches often, and clients refuse to connect to a server running an older build.
mkdir -p ~/.steam/sdk64
ln -sf ~/steamcmd/linux64/steamclient.so ~/.steam/sdk64/steamclient.so
First launch
cd /home/palworld/palserver
./PalServer.sh
Let it generate the config, then stop it with Ctrl+C. Copy the default settings into the active file — this step is skipped constantly and it is why edits appear to do nothing:
cp /home/palworld/palserver/DefaultPalWorldSettings.ini \
/home/palworld/palserver/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
nano /home/palworld/palserver/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
Add the [/Script/Pal.PalGameWorldSettings] header and your single-line OptionSettings=(...) block as shown above.
Create a systemd service
nano /etc/systemd/system/palworld.service
[Unit]
Description=Palworld Dedicated Server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=palworld
Group=palworld
WorkingDirectory=/home/palworld/palserver
ExecStartPre=/home/palworld/steamcmd/steamcmd.sh +force_install_dir /home/palworld/palserver +login anonymous +app_update 2394010 validate +quit
ExecStart=/home/palworld/palserver/PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -port=8211 -queryport=27015
Restart=on-failure
RestartSec=20
TimeoutStopSec=90
KillSignal=SIGINT
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now palworld
systemctl status palworld
journalctl -u palworld -f
The three flags -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS are the standard performance switches for the Linux dedicated server. They improve threading behaviour and noticeably reduce hitching on populated worlds.
Firewall and hardening
# SSH keys instead of passwords (run on your local machine)
ssh-keygen -t ed25519 -C "palworld-admin"
ssh-copy-id root@your-vps-ip
# then on the VPS
sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart ssh
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 8211/udp
ufw allow 27015/udp
ufw enable
ufw status verbose
Note that RCON (25575/TCP) is deliberately absent. If you need it, restrict it to a single source IP:
ufw allow from <your-admin-ip> to any port 25575 proto tcp
Enable fail2ban to stop SSH brute force, and keep the system patched with unattended-upgrades. Volumetric DDoS filtering is handled upstream on Fly-Serv infrastructure, so your job is limited to host-level hygiene: keys, firewall, least privilege, backups.
Backups, mods and day-to-day administration
Backups are not optional
Palworld save corruption is a known risk, especially after a hard shutdown during a world save. Losing a 40-hour guild base is how communities die overnight. Managed instances include automatic backups from the panel; on a self-hosted VPS, script it:
nano /home/palworld/backup.sh
#!/bin/bash
SRC="/home/palworld/palserver/Pal/Saved"
DEST="/home/palworld/backups"
STAMP=$(date +%Y-%m-%d_%H-%M)
mkdir -p "$DEST"
tar -czf "$DEST/palworld_$STAMP.tar.gz" -C "$SRC" .
# keep the last 14 archives
ls -1t "$DEST"/palworld_*.tar.gz | tail -n +15 | xargs -r rm --
chmod +x /home/palworld/backup.sh
crontab -e -u palworld
# every 3 hours
0 */3 * * * /home/palworld/backup.sh
Pull a copy off the server periodically. A backup stored only on the machine it protects is not a backup.
Graceful restarts
Always stop the server cleanly so the world is flushed to disk. In game, as admin: /Save then /Shutdown 60 "Restart in 60s". Via RCON, the same commands apply. A nightly scheduled restart keeps memory usage in check on long-running worlds — the panel scheduler or a simple cron entry handles it.
Mods on a Palworld server
Palworld has no official mod API, so server-side modding relies on community tooling built around UE4SS and Pal script loaders. Practical rules:
- Client and server must run identical mod versions, or players get kicked or desynced.
- Take a full backup before installing anything that touches save data.
- After every Palworld patch, assume mods are broken until proven otherwise. Test on a copy of the save, not on production.
- REST API and RCON-based admin tools (player list, kick, ban, broadcast) are the safest "mods" — they do not modify game files.
File uploads through the panel's file manager or SFTP make this straightforward; you drop the files, restart, and read the console output for load errors.
Common problems and fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| Settings ignored after edit | Edited the Default file, or broke the single-line OptionSettings | Edit PalWorldSettings.ini in the LinuxServer folder, keep one line, restart |
| Players cannot connect | UDP ports closed, or wrong port used | Open 8211/UDP and 27015/UDP, connect via direct IP:port |
| "Incompatible version" | Server build older than client | Re-run app_update 2394010 validate and restart |
| Periodic freeze for everyone | World save on slow storage | NVMe storage, and reduce DropItemMaxNum |
| Server killed after weeks | RAM growth from base/entity accumulation | Scheduled nightly restart, more RAM, prune abandoned guilds |
| Rubber-banding in combat | CPU saturation or shared/oversold cores | Dedicated high-frequency cores, lower worker Pal limits |
Managed panel or VPS — which one?
| Criterion | Managed game server | VPS self-hosted |
|---|---|---|
| Setup time | Minutes, instant install | 30–60 min of shell work |
| Updates | One click / automatic | Your script or systemd ExecStartPre |
| Backups | Automatic | You write the cron |
| Root access | No | Yes |
| Multiple games on one box | Separate instances | Yes, with Pterodactyl |
| Anti-DDoS | Included | Included at network level |
If Palworld is one of several servers you run — alongside a Serveur Minecraft or an Serveur ARK — a VPS with Pterodactyl centralises everything. If Palworld is your only project, the managed route removes the maintenance burden entirely. You can browse the full catalogue on Tous nos serveurs de jeu, and check the official patch notes on the Source before every update.
Conclusion
A stable Palworld server comes down to three things: enough RAM for a world that keeps growing, fast NVMe storage so auto-saves do not freeze the session, and a backup routine you actually test. Get the INI syntax right, open UDP 8211 and 27015, schedule a nightly restart, and your community will barely notice the server exists — which is exactly the goal.
FAQ
How much RAM does a 16-player Palworld server really need?Plan 16 GB minimum, and 24 GB if the world will be played on for several months. Palworld's memory usage climbs with the number of bases, worker Pals, chests and dropped items in the world, not just with the player count. A fresh server may idle around 6–8 GB and reach 14–18 GB after weeks of activity. Scheduled nightly restarts help keep that growth under control.
Why do my PalWorldSettings.ini changes have no effect?Three usual causes. You edited DefaultPalWorldSettings.ini instead of the active file in Pal/Saved/Config/LinuxServer/. You inserted a line break inside the OptionSettings=(...) block — it must stay on one single line or the server reverts to defaults. Or you edited while the server was running, and the clean shutdown overwrote your file. Always stop the server, edit, then restart.
Yes. Stop the server, then copy the whole Pal/Saved/SaveGames/0/<WorldID>/ folder plus your PalWorldSettings.ini to the new instance via SFTP or the panel file manager. Keep the same folder name, make sure both servers run the same game build, and restart. Take a full archive before the move — a migration without a rollback copy is a gamble.