Palworld 1.0 Dedicated Server Guide: Setup, Settings, REST API and Monitoring

How to set up and run a Palworld 1.0 dedicated server: requirements, SteamCMD install, ports, the PalWorldSettings.ini options that matter, the 1.0 additions for admins, the official REST API and how to monitor players in real time with PalBoard.

A dome-protected base in Palworld 1.0, official Pocketpair art

Playing Palworld with friends on a dedicated server is the best way to keep the world running around the clock, with your own rules and without depending on a host player. Version 1.0 added voice chat, more guild roles, configurable crossplay and new admin options. This guide covers what you need to install, configure and monitor the server, using the exact option names from Pocketpair’s official documentation.

What you need

Pocketpair recommends 16 GB of RAM for the dedicated server. In practice:

  • 4 to 6 players: 8 GB works, but usage grows with uptime and the number of bases.
  • 8 or more players, or an always-on server: 16 GB.
  • CPU: 4 cores at 3.5 GHz or more. Palworld uses few cores, so prefer clock speed over core count.
  • Disk: about 12 GB for the files, on an SSD.
  • OS: Windows 10/11 or Linux (Ubuntu 20.04+ and Debian work well).

If you have no machine to leave on, a VPS does the job. We use and recommend Hostinger: a 16 GB plan handles a full server. It is an affiliate link that helps keep PalBoard free, at no extra cost to you.

Installing with SteamCMD

The server is free and distributed through Steam under app id 2394010. With SteamCMD installed:

steamcmd +login anonymous +app_update 2394010 validate +quit

On Linux, install SteamCMD, run the command above and, before the first start, copy the Steam runtime the server expects:

mkdir -p ~/.steam/sdk64
cp ~/Steam/steamapps/common/PalServer/linux64/steamclient.so ~/.steam/sdk64/

To update the server after a patch, run the same SteamCMD command again with the server stopped.

Starting the server

  • Windows: PalServer.exe, in steamapps\common\PalServer.
  • Linux: ./PalServer.sh, in ~/Steam/steamapps/common/PalServer.

Useful command-line flags:

./PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS

-useperfthreads, -NoAsyncLoadingThread and -UseMultithreadForDS improve CPU usage on dedicated servers. You can also pass -port=8211, -players=32 and -publicip=YOUR.IP to override the config file.

On Linux, use a systemd service or screen/tmux so the server survives closing the terminal and restarts on its own.

Ports

Port Protocol Purpose
8211 UDP Player connections (PublicPort)
27015 UDP Steam server list query
8212 TCP REST API (RESTAPIPort), admin only
25575 TCP RCON (RCONPort), optional

Open 8211 and 27015 in the firewall and router. Ports 8212 and 25575 should not be open to the whole internet. More on that below.

PalWorldSettings.ini: the options that matter

The file lives at:

  • Windows: PalServer\Pal\Saved\Config\WindowsServer\PalWorldSettings.ini
  • Linux: PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

On first run it is created almost empty. Copy the contents of DefaultPalWorldSettings.ini (in the server root) into it and adjust. Everything sits on a single line inside OptionSettings=(...).

Identity and access:

Option What it does
ServerName Name shown in the list
ServerDescription Description in the list
ServerPassword Password to join (empty = open)
AdminPassword Admin password; also the REST API and RCON password
ServerPlayerMaxNum Max players (up to 32)
PublicIP and PublicPort IP and port advertised in the list
bShowPlayerList Shows the player list in game

World rules:

Option What it does
Difficulty Overall difficulty
ExpRate Experience multiplier
PalCaptureRate Capture rate multiplier
PalSpawnNumRate Wild Pal count (affects performance)
DayTimeSpeedRate and NightTimeSpeedRate Day and night speed
PalEggDefaultHatchingTime Hours to hatch a Huge Egg (default 72)
WorkSpeedRate Base work speed
DeathPenalty What you lose on death: None, Item, ItemAndEquipment or All
bEnablePlayerToPlayerDamage Player-versus-player damage
BaseCampMaxNumInGuild Bases per guild (default 4, max 10)

1.0-era additions every admin should know:

Option Version What it does
bEnableVoiceChat 1.0 In-game voice chat
CrossplayPlatforms 1.0 Allowed platforms; default (Steam,Xbox,PS5,Mac)
bAllowEnemyCampSpawnNearBaseCamp 1.0.3 Lets enemy camps spawn near bases
MaxBuildingLimitNum 1.0.4 Per-player building limit (0 = unlimited)

For a healthy long-running server, two options matter most: MaxBuildingLimitNum, which stops one giant base from dragging everyone’s performance down, and a moderate PalSpawnNumRate.

Saving and backups

  • AutoSaveSpan sets the autosave interval in seconds (default 30).
  • bIsUseBackupSaveData=True enables automatic world backups at the cost of more disk writes. Worth it.
  • The world lives in Pal/Saved/SaveGames/0/<world id>/. Copy that whole folder off the server regularly. Before updating the server, save through the REST API (/v1/api/save) and shut down with /v1/api/shutdown, which warns players.

REST API: what it is and how to enable it

The official REST API exposes server information and commands over HTTP. It is what PalBoard uses for monitoring.

In PalWorldSettings.ini:

RESTAPIEnabled=True
RESTAPIPort=8212
AdminPassword=your-password

Authentication is HTTP Basic with user admin and the AdminPassword. Example:

curl -u admin:your-password http://localhost:8212/v1/api/info

Available endpoints (all under /v1/api/):

Endpoint Method What it does
info GET Server name, version and description
players GET Online players with level, ping and coordinates
settings GET Settings in effect
metrics GET Server FPS, players, uptime
announce POST Broadcasts a message to everyone
kick, ban, unban POST Moderation by player id
save POST Saves the world
shutdown POST Shuts down with a warning and delay
stop POST Stops immediately

Security: Pocketpair itself warns that the API was not designed to be exposed to the whole internet. Two options: open port 8212 in the firewall only to the addresses that will query it, or put a reverse proxy (Nginx or Caddy) with HTTPS in front. Use a long, unique AdminPassword.

RCON

RCON is the older, text-based protocol with the same basic commands (Info, ShowPlayers, Broadcast, KickPlayer, BanPlayer, Save, Shutdown, DoExit). Enable it with RCONEnabled=True and RCONPort=25575. With the REST API available, RCON is only needed for older tools. The same firewall rule applies.

Monitoring the server with PalBoard

With the REST API on, PalBoard watches the server for you, with nothing to install on it:

  • Overview: online players, level, ping, version and uptime, refreshed every minute.
  • Real-time map: each player’s position over the Palpagos or World Tree map, detected from coordinates.
  • Messages: send announcements to everyone straight from the browser.
  • Team: player, moderator, admin and owner roles with different permissions.
  • Public link: a page for your server to share with the community, with online players and tools.

To register, create a free account and provide three things: the game address (IP:8211), the API address (http://IP:8212) and the AdminPassword. The password is stored encrypted and used only to query the API. If you restricted port 8212 by firewall, allow access for PalBoard.

Start monitoring on PalBoard

Frequently asked questions

How much RAM does a Palworld server need?

Pocketpair recommends 16 GB. Small groups can run on 8 GB, but usage grows with uptime and the number of bases.

What is the dedicated server’s SteamCMD app id?

  1. The server is free and does not require a Steam account that owns the game.

Which ports do I need to open?

8211 UDP for players and 27015 UDP for the server list. The REST API (8212) and RCON (25575) only for admins.

How do I enable the REST API?

RESTAPIEnabled=True and RESTAPIPort=8212 in PalWorldSettings.ini, with an AdminPassword set. Authentication is HTTP Basic with user admin.

How do I limit buildings per player?

With MaxBuildingLimitNum, added in patch 1.0.4. Zero means no limit.

Does PalBoard need anything installed on the server?

No. It only queries the official REST API with the AdminPassword you provide.


Sources