← Blog

How to Configure Your Palworld Server After Installation?

Par Benjamin D. · PDG

· Mis à jour le August 27, 2026 · Lecture 10 min

Contents

Setting up a Palworld server is straightforward on paper, but the difference between a laggy 8-player world and a stable 32-player community comes down to configuration. This 2026 tutorial walks through ports, PalWorldSettings.ini, RCON, mods, backups and performance tuning, whether you run it on a managed panel or on your own VPS.



Understanding how a Palworld server actually works

Palworld's dedicated server is a headless build of the game running on Unreal Engine 5. It does not use a "world seed on demand" model like some survival games: it loads a persistent save folder, simulates every Pal, base, and player structure in memory, and streams that state to connected clients. That has three direct consequences for hosting.

Single-thread performance matters more than core count

Unreal Engine's game thread handles the bulk of the simulation. A CPU with a high boost clock will hold a stable tick rate far better than a low-frequency server chip with many cores. This is exactly why high-frequency Ryzen platforms with NVMe storage are the sane baseline for a Palworld server — save writes are large and frequent, and slow disks translate directly into visible micro-freezes when the world autosaves.

RAM usage scales with bases and Pals, not just players

A fresh world with 4 players may sit around 8 GB of RAM. The same world after 200 hours, with 15 players, dozens of bases and hundreds of Pals working, can climb well past 16 GB. Budget memory for the world you'll have in three months, not the one you have on day one.

Ports and protocols

PortProtocolRole
8211UDPMain game port (default, configurable)
27015UDPSteam query port (server list visibility)
25575TCPRCON (remote administration, optional but recommended)

If you host on a managed panel, these are assigned automatically. If you self-host on a VPS Linux, you open them yourself — and you only open what you need.



Deploying your Palworld server: panel or VPS

Option 1 — Managed hosting with a Pterodactyl panel

The fastest path. With Serveur Palworld hosting at Fly-Serv, the instance is installed instantly, anti-DDoS is active by default, and you get a Pterodactyl panel with:

  • Live console — read startup logs, spot crashes, send RCON-style commands.
  • File manager — edit PalWorldSettings.ini directly in the browser, no FTP client required.
  • Automatic backups — scheduled snapshots of the save directory.
  • Sub-users — give a co-admin restart rights without handing over billing access.
  • Restart / reinstall / startup variables — change the version branch or launch flags in two clicks.

This is the setup most communities want: you spend your time on gameplay rules and moderation, not on systemd units.

Option 2 — Self-hosting on a VPS

If you want full control (custom scripts, multiple game servers on one machine, your own monitoring stack), a VPS Linux or a VPS Pterodactyl gives you root access. Here's a clean install on Debian/Ubuntu.

1. System preparation and a dedicated user

sudo apt update && sudo apt upgrade -y
sudo apt install -y software-properties-common curl xdg-user-dirs
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y steamcmd lib32gcc-s1

sudo adduser --disabled-password --gecos "" palworld
sudo su - palworld

2. Install the dedicated server via SteamCMD

steamcmd +force_install_dir /home/palworld/server \
  +login anonymous \
  +app_update 2394010 validate \
  +quit

3. First launch to generate the config files

cd /home/palworld/server
./PalServer.sh
# Wait until the console prints "Setting breakpad minidump AppID"
# then stop with CTRL+C

4. Copy the default config into the active one

cp /home/palworld/server/DefaultPalWorldSettings.ini \
   /home/palworld/server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

Important: never edit DefaultPalWorldSettings.ini — it gets overwritten on every update. The file the server actually reads is the one in Pal/Saved/Config/LinuxServer/.

5. A systemd service so it survives reboots

sudo nano /etc/systemd/system/palworld.service
[Unit]
Description=Palworld Dedicated Server
After=network.target

[Service]
Type=simple
User=palworld
WorkingDirectory=/home/palworld/server
ExecStartPre=/usr/games/steamcmd +force_install_dir /home/palworld/server +login anonymous +app_update 2394010 validate +quit
ExecStart=/home/palworld/server/PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
Restart=on-failure
RestartSec=15

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now palworld
sudo systemctl status palworld
journalctl -u palworld -f

The three launch flags (-useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS) are the community-standard performance switches; they offload part of the workload off the main thread and noticeably help above 10 concurrent players.

6. Firewall

sudo ufw allow 22/tcp
sudo ufw allow 8211/udp
sudo ufw allow 27015/udp
sudo ufw enable
sudo ufw status numbered

Do not expose port 25575 (RCON) to the whole internet. Restrict it to your own IP:

sudo ufw allow from 203.0.113.42 to any port 25575 proto tcp


Configuring PalWorldSettings.ini line by line

All gameplay tuning lives in a single line inside PalWorldSettings.ini, under [/Script/Pal.PalGameWorldSettings], as one long OptionSettings=(...) block. Two rules save hours of debugging:

  • It must stay on one single line. A line break anywhere inside the parentheses and the server silently falls back to defaults.
  • Strings use double quotes (ServerName="My Server"), floats use a dot (1.5), booleans are True/False with a capital letter.

The settings that actually change your server

SettingDefaultRecommendation
ServerNameDefault Palworld ServerShort, searchable, no emoji spam
ServerPasswordemptySet one for private/whitelisted communities
AdminPasswordemptyAlways set it, long and random
ServerPlayerMaxNum32Match it to your RAM and CPU, not your ego
RCONEnabledFalseTrue for scripted admin and scheduled restarts
ExpRate1.01.5–3.0 for a community server with limited playtime
PalCaptureRate1.01.0–1.5; above that, progression collapses fast
DeathPenaltyAllItemAndEquipment is the usual PvE compromise
bEnablePlayerToPlayerDamageFalseTrue only for PvP rulesets
GuildPlayerMaxNum20Lower it (5–10) to keep bases distributed
BaseCampMaxNumInGuild4The #1 lag lever. Keep it low on large servers
AutoSaveSpan30.0Seconds between saves; 60–180 reduces stutter
bIsUseBackupSaveDataTrueLeave enabled, in addition to panel backups
CollectionDropRate / CollectionObjectRespawnSpeedRate1.0Raise slightly on heavily populated servers
bAllowGlobalPalboxExportTrueFalse to prevent cross-server Pal duplication
bCharacterRecreateInHardcoreFalseHardcore rulesets only

A workable community configuration

Here's a trimmed example (real file must be one line — this is shown wrapped for readability):

[/Script/Pal.PalGameWorldSettings]
OptionSettings=(Difficulty=None,DayTimeSpeedRate=1.000000,NightTimeSpeedRate=1.500000,
ExpRate=2.000000,PalCaptureRate=1.200000,PalSpawnNumRate=1.000000,
PalDamageRateAttack=1.000000,PalDamageRateDefense=1.000000,
PlayerDamageRateAttack=1.000000,PlayerDamageRateDefense=1.000000,
PlayerStomachDecreaceRate=0.700000,PalStomachDecreaceRate=0.700000,
BuildObjectDamageRate=1.000000,BuildObjectDeteriorationDamageRate=0.000000,
CollectionDropRate=1.500000,CollectionObjectHpRate=1.000000,
CollectionObjectRespawnSpeedRate=0.800000,EnemyDropItemRate=1.500000,
DeathPenalty=ItemAndEquipment,bEnablePlayerToPlayerDamage=False,
bEnableFriendlyFire=False,bEnableInvaderEnemy=True,bActiveUNKO=False,
bEnableAimAssistPad=True,bEnableAimAssistKeyboard=False,
DropItemMaxNum=3000,BaseCampMaxNum=128,BaseCampWorkerMaxNum=15,
DropItemAliveMaxHours=1.000000,bAutoResetGuildNoOnlinePlayers=False,
AutoResetGuildTimeNoOnlinePlayers=72.000000,GuildPlayerMaxNum=10,
BaseCampMaxNumInGuild=3,PalEggDefaultHatchingTime=24.000000,
WorkSpeedRate=1.200000,bIsMultiplay=False,bIsPvP=False,
bCanPickupOtherGuildDeathPenaltyDrop=False,bEnableNonLoginPenalty=True,
bEnableFastTravel=True,bIsStartLocationSelectByMap=True,
bExistPlayerAfterLogout=False,bEnableDefenseOtherGuildPlayer=False,
bInvisibleOtherGuildBaseCampAreaFX=False,bBuildAreaLimit=False,
ItemWeightRate=1.000000,CoopPlayerMaxNum=4,ServerPlayerMaxNum=32,
ServerName="Fly-Serv Community",ServerDescription="PvE - x2 EXP",
AdminPassword="ChangeThisLongRandomString",ServerPassword="",
PublicPort=8211,PublicIP="",RCONEnabled=True,RCONPort=25575,
Region="",bUseAuth=True,BanListURL="https://api.palworldgame.com/api/banlist.txt",
RESTAPIEnabled=False,RESTAPIPort=8212,bShowPlayerList=True,
AllowConnectPlatform=Steam,bIsUseBackupSaveData=True,
LogFormatType=Text,SupplyDropSpan=180)

Apply changes by restarting the instance from the panel or via sudo systemctl restart palworld. Editing the file while the server runs does nothing — worse, the server can overwrite your edits on shutdown.

Performance-oriented tuning

If your Palworld server stutters with a healthy CPU load, look at these first:

  • BaseCampMaxNumInGuild — each active base runs its own Pal AI loop. Three per guild instead of four cuts a measurable chunk of simulation cost on a full server.
  • BaseCampWorkerMaxNum — fewer working Pals per base means fewer pathfinding calculations.
  • DropItemMaxNum and DropItemAliveMaxHours — thousands of persistent ground items bloat the save file and slow every autosave cycle.
  • AutoSaveSpan — raising it from 30 to 120 seconds reduces save-induced hitches, at the cost of losing up to two minutes of progress on a crash. On NVMe storage the hitch is small, but it's still real.
  • bAutoResetGuildNoOnlinePlayers — set to True with a 72–168 h delay on public servers to reclaim abandoned bases automatically.


Administration, mods and keeping the server alive

In-game admin commands

Log in as admin from the chat window, then use the command set:

/AdminPassword YourAdminPassword
/Info
/ShowPlayers
/Save
/Broadcast Restart_in_5_minutes
/KickPlayer <SteamID>
/BanPlayer <SteamID>
/TeleportToPlayer <SteamID>
/Shutdown 60 Scheduled_maintenance
/DoExit

Note: /Broadcast and shutdown messages do not accept spaces — use underscores.

RCON for scripted administration

With RCONEnabled=True, any RCON client can drive the server from outside the game. Useful for a nightly restart with a warning sequence:

#!/bin/bash
RCON="/usr/local/bin/rcon -a 127.0.0.1:25575 -p YourAdminPassword"

$RCON "Broadcast Server_restart_in_10_minutes"
sleep 300
$RCON "Broadcast Server_restart_in_5_minutes"
sleep 240
$RCON "Broadcast Restarting_in_60_seconds"
$RCON "Save"
sleep 60
$RCON "Shutdown 10 Restarting_now"
crontab -e
# Nightly restart at 05:00
0 5 * * * /home/palworld/scripts/restart.sh >> /home/palworld/logs/restart.log 2>&1

A daily restart is not cosmetic: Unreal-based servers accumulate memory over long uptimes, and a scheduled reboot keeps tick rate consistent. On a managed panel you can schedule the same restart from the task scheduler instead of cron.

Backups: the part everyone regrets skipping

Palworld saves live in Pal/Saved/SaveGames/0/<WorldID>/. Corruption after an unclean shutdown is a known risk, so keep layered protection:

  1. Panel automatic backups — the baseline, restorable in a couple of clicks.
  2. Local rotating archives on a VPS.
  3. Off-server copy — pull a weekly archive to your own machine.
#!/bin/bash
SAVE_DIR="/home/palworld/server/Pal/Saved/SaveGames"
DEST="/home/palworld/backups"
STAMP=$(date +%Y%m%d-%H%M)

mkdir -p "$DEST"
tar -czf "$DEST/palworld-$STAMP.tar.gz" -C "$SAVE_DIR" .
find "$DEST" -name "palworld-*.tar.gz" -mtime +7 -delete

Run it right after the nightly Save command, never in the middle of an autosave.

Mods and the Palworld modding scene

Palworld modding relies mostly on UE4SS-based mods and Lua scripts. Two realities to accept:

  • Server-side mods must match the exact game build. Every Palworld patch can break them — always test on a second instance before touching production.
  • Most cosmetic or client-side mods do not require server installation; only gameplay-altering mods do, and clients must run the same version.

On a Pterodactyl panel, you install them through the file manager into the server directory, then restart. Keep a copy of your working mod set before any update: rolling back is faster than debugging a crash loop at 11 p.m. Check the official Palworld dedicated server documentation before every major version bump.

Security checklist

  • Long random AdminPassword, different from your panel and VPS credentials.
  • RCON bound to localhost or a whitelisted IP only, never wide open.
  • bUseAuth=True and the official ban list URL enabled.
  • On a VPS: SSH key authentication only (PasswordAuthentication no), fail2ban active, ufw default-deny inbound.
  • Volumetric DDoS filtering is handled at infrastructure level on Fly-Serv hosting — you don't need to build it yourself, but you still handle application-level hygiene.
ssh-keygen -t ed25519 -C "palworld-admin"
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@YOUR_VPS_IP
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart ssh

Updating the server

Palworld updates are frequent and clients are locked out until the server matches. On a panel, a reinstall or restart pulls the latest build depending on your egg configuration. On a VPS with the systemd unit above, the ExecStartPre line re-validates the install on every start:

sudo systemctl restart palworld
journalctl -u palworld -n 50 --no-pager

Always back up before updating, and warn players — a mismatched version looks like a dead server from the client's side.

If you also run other titles, the same operational logic (panel, backups, scheduled restarts, NVMe storage) applies across Tous nos serveurs de jeu, and more tutorials are collected on the Blog Fly-Serv.



Conclusion

A well-configured Palworld server comes down to a handful of decisions: enough CPU frequency and RAM for your player count, a clean single-line PalWorldSettings.ini, conservative base and guild limits, RCON-driven scheduled restarts, and layered backups. Get those right and the world stays stable through hundreds of hours. Everything else — rates, PvP, mods — is just flavour you can tune later.



FAQ

Why do my changes in PalWorldSettings.ini keep getting ignored?

Three common causes: you edited DefaultPalWorldSettings.ini instead of the active file in Pal/Saved/Config/LinuxServer/; the OptionSettings=(...) block was split across several lines; or you edited while the server was running and it overwrote the file on shutdown. Stop the server, edit the correct file on one single line, then start it again.

How much RAM does a Palworld server need for 20 players?

Plan at least 16 GB, and 24–32 GB if the world will run for months with many guild bases. Memory usage grows with bases, structures and working Pals rather than with connected players alone. Lowering BaseCampMaxNumInGuild and DropItemMaxNum keeps both RAM and save file size under control.

Can I move an existing Palworld save to a hosted server?

Yes. Stop both servers, copy the whole Pal/Saved/SaveGames/0/<WorldID>/ folder to the new instance via the panel file manager or SFTP, then update the DedicatedServerName value in Pal/Saved/Config/LinuxServer/GameUserSettings.ini so it matches the copied world ID. Restart and verify player data before deleting the old instance.