How to Set Up a Palworld Dedicated Server on a VPS
Step-by-step guide to hosting a Palworld dedicated server on a VPS. Covers hardware requirements, Linux and Windows setup, performance optimization, and troubleshooting.
Daniel Meier
Systems Administrator
Palworld blends creature collection with base building, crafting, and survival in a way that somehow works despite sounding like a fever dream. You catch Pals, put them to work in your factories, ride them into battle, and build sprawling bases across a massive open world. In multiplayer, up to 32 players share a world, and a dedicated server means that world never goes offline.
Palworld offers both a Linux and Windows dedicated server. The Linux version is lighter on resources and the better choice if you are comfortable with command-line server management. The Windows version works well too and is easier for people who prefer a graphical interface. This guide covers both.
Palworld's server demands scale with player count and base complexity. Every Pal assigned to a task, every structure placed, and every item in storage adds to the server's workload. The game is particularly RAM-hungry compared to other survival games.
4 to 8 players: 4 CPU cores, 8 GB RAM minimum (12 GB recommended), 20 GB storage. This handles a small group with a couple of bases. Budget 25 to 35 dollars per month.
8 to 16 players: 4 to 6 CPU cores, 16 GB RAM, 30 GB storage. Multiple active bases with dozens of working Pals push memory usage significantly higher. Budget 40 to 55 dollars per month.
16 to 32 players: 6 to 8 CPU cores, 24 to 32 GB RAM, 50 GB NVMe storage. A full 32-player server with established bases is one of the most resource-intensive game servers you can run. Budget 60 to 90 dollars per month.
The RAM requirement is the main bottleneck. Palworld loads the entire world state into memory, and each active base with working Pals adds substantially to the footprint. If your server starts swapping to disk, performance degrades catastrophically with rubber-banding and desync.
Start with Ubuntu 22.04 or Debian 12. Connect via SSH and prepare the system:
sudo apt update && sudo apt upgrade -y
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl
sudo useradd -m -s /bin/bash palworld
sudo su - palworldSteamCMD is Valve's command-line tool for downloading dedicated server files. Install it and pull the Palworld server:
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar xzf -
./steamcmd.sh +force_install_dir /home/palworld/server +login anonymous +app_update 2394010 validate +quitThe app ID 2394010 is the Palworld dedicated server. The download is around 5 GB. Run the same command anytime to update to the latest version.
On first launch, the server generates default config files. Start it once to create them, then stop it to edit:
cd /home/palworld/server
./PalServer.shWait for the server to fully start (you will see a message about the world being ready), then press Ctrl+C to stop it. Now edit the settings file:
nano ~/server/Pal/Saved/Config/LinuxServer/PalWorldSettings.iniThe key settings to configure:
[/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,PlayerAutoHpRegeneRateInSleep=1.000000,PalStomachDecreaceRate=1.000000,PalStaminaDecreaceRate=1.000000,PalAutoHPRegeneRate=1.000000,PalAutoHpRegeneRateInSleep=1.000000,BuildObjectDamageRate=1.000000,BuildObjectDeteriorationDamageRate=1.000000,CollectionDropRate=1.000000,CollectionObjectHpRate=1.000000,CollectionObjectRespawnSpeedRate=1.000000,EnemyDropItemRate=1.000000,DeathPenalty=All,bEnablePlayerToPlayerDamage=False,bEnableFriendlyFire=False,bEnableInvaderEnemy=True,bActiveUNKO=False,bEnableAimAssistPad=True,bEnableAimAssistKeyboard=False,DropItemMaxNum=3000,DropItemMaxNum_UNKO=100,BaseCampMaxNum=128,BaseCampWorkerMaxNum=15,DropItemAliveMaxHours=1.000000,bAutoResetGuildNoOnlinePlayers=False,AutoResetGuildTimeNoOnlinePlayers=72.000000,GuildPlayerMaxNum=20,PalEggDefaultHatchingTime=72.000000,WorkSpeedRate=1.000000,bIsMultiplay=True,bIsPvP=False,bCanPickupOtherGuildDeathPenaltyDrop=False,bEnableNonLoginPenalty=True,bEnableFastTravel=True,bIsStartLocationSelectByMap=True,bExistPlayerAfterLogout=False,bEnableDefenseOtherGuildPlayer=False,CoopPlayerMaxNum=32,ServerPlayerMaxNum=32,ServerName="My Palworld Server",ServerDescription="",AdminPassword="YourAdminPassword",ServerPassword="YourServerPassword",PublicPort=8211,PublicIP="",RCONEnabled=False,RCONPort=25575,Region="",bUseAuth=True,BanListURL="https://api.palworldgame.com/api/banlist.txt")The most important settings to change are ServerName, ServerPassword, AdminPassword, CoopPlayerMaxNum, and ServerPlayerMaxNum. Adjust rates like ExpRate and PalCaptureRate to customize the gameplay experience for your group.
Palworld uses UDP port 8211 by default. Open it in your firewall:
sudo ufw allow 8211/udp
sudo ufw allow 22/tcp
sudo ufw enableCreate a service file so the server starts on boot and auto-restarts on crashes:
sudo nano /etc/systemd/system/palworld.serviceAdd the following configuration:
[Unit]
Description=Palworld Dedicated Server
After=network.target
[Service]
Type=simple
User=palworld
WorkingDirectory=/home/palworld/server
ExecStartPre=/home/palworld/steamcmd/steamcmd.sh +force_install_dir /home/palworld/server +login anonymous +app_update 2394010 +quit
ExecStart=/home/palworld/server/PalServer.sh -port=8211 -players=32 -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
Restart=on-failure
RestartSec=20
[Install]
WantedBy=multi-user.targetEnable and start the service:
sudo systemctl daemon-reload
sudo systemctl enable palworld
sudo systemctl start palworld
sudo systemctl status palworldConnect to your Windows VPS via Remote Desktop. Download SteamCMD for Windows from the Valve developer site and extract it to a folder like C:\SteamCMD. Open Command Prompt and run:
cd C:\SteamCMD
steamcmd.exe +force_install_dir C:\PalworldServer +login anonymous +app_update 2394010 validate +quitEdit the PalWorldSettings.ini file at C:\PalworldServer\Pal\Saved\Config\WindowsServer\ using Notepad. The settings are identical to the Linux version. Open UDP port 8211 in Windows Firewall:
netsh advfirewall firewall add rule name="Palworld Server" dir=in action=allow protocol=UDP localport=8211Launch the server by running PalServer.exe. For automatic startup, create a scheduled task in Task Scheduler that runs PalServer.exe at system boot.
Enable RCON in the settings file by setting RCONEnabled to True and configuring the RCONPort. Then use any RCON client to manage the server remotely:
/GracefulStop {Seconds} {MessageText} - Graceful stop with countdown
/DoExit - Immediate stop
/Broadcast {MessageText} - Send message to all players
/KickPlayer {SteamID} - Kick a player
/BanPlayer {SteamID} - Ban a player
/TeleportToPlayer {SteamID} - Teleport to a player
/ShowPlayers - List connected players
/Save - Force a world savePalworld saves are stored in the Saved directory. Automate backups with a cron job on Linux:
# Add to crontab with: crontab -e
0 */4 * * * tar czf /home/palworld/backups/palworld-$(date +\%Y\%m\%d-\%H\%M).tar.gz /home/palworld/server/Pal/Saved/Keep at least a week of backups. Palworld updates occasionally introduce bugs that can affect save data, and having older backups lets you roll back if something goes wrong.
Use the performance launch flags: The flags -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS in the startup command significantly improve multi-core utilization. Always include them.
Schedule daily restarts: Palworld servers develop memory leaks over extended uptime. A daily restart during off-peak hours keeps performance consistent. Add a cron job to handle this automatically.
# Daily restart at 5 AM
0 5 * * * sudo systemctl restart palworldMonitor RAM usage: Use htop or a monitoring tool to track memory consumption over time. If RAM usage approaches your total available memory, you need to either reduce player count, reduce base complexity limits, or upgrade your VPS.
Limit base camps per guild: The BaseCampMaxNum and BaseCampWorkerMaxNum settings directly impact server load. Reducing these from the defaults can significantly improve performance on servers with many active guilds.
Players cannot connect: Verify the port is open with an external port checker. Ensure the server is fully started before players attempt to connect. Check that ServerPassword in the config matches what players are entering.
Server crashes after a few hours: Almost always a RAM issue. Check if the system is running out of memory with free -h. If swap usage is high, you need more RAM. The -useperfthreads flag can also cause instability on some systems, try removing it if crashes persist.
Rubber-banding and desync: This indicates the server tick rate is dropping. Check CPU usage during gameplay. If one core is maxed at 100%, the server cannot keep up with the simulation. Reduce player count or upgrade to a VPS with faster single-core performance.
World not saving properly: Ensure the palworld user has write permissions to the Saved directory. Check disk space with df -h. A full disk prevents saves from completing.
BlastVPS offers high-performance VPS plans with NVMe storage and up to 32 GB RAM, ideal for running a Palworld dedicated server with room to grow as your world expands.
Ready to Deploy?
Get a high-performance VPS with instant setup, full root access, and 24/7 support.
Written by Daniel Meier
Systems Administrator
Specializes in Windows & Linux server environments with a focus on security hardening.