Palworld Dedicated Server Admin Guide: REST API, Commands & Settings
How to actually administer a Palworld dedicated server in 2026: the REST API on port 8212 (the supported tool - RCON is officially deprecated), every in-game admin command, PalWorldSettings.ini and its one-line format trap, going public with -publiclobby, bans, and the version-mismatch join error explained.
Palworld's admin story changed more than most guides admit: RCON is officially deprecated - Pocketpair's own server docs say it is "scheduled to stop functioning in an upcoming update" - and the REST API on port 8212 is the supported admin surface going forward. Most tutorials still open with RCON setup and never mention the REST API at all. This reference covers the current (v0.7.x / 1.0) reality.
The server itself
The dedicated server is a free Steam tool (app 2394010, "Palworld Dedicated Server"), installable with SteamCMD:
steamcmd +login anonymous +app_update 2394010 validate +quit
The binary is PalServer.exe (Windows) or PalServer.sh (Linux). The game port is 8211/UDP (-port=8211 to change it) - that is the only port players need for direct connect.
PalWorldSettings.ini - and its two traps
Config lives at:
Pal/Saved/Config/WindowsServer/PalWorldSettings.ini (Windows)
Pal/Saved/Config/LinuxServer/PalWorldSettings.ini (Linux)
DefaultPalWorldSettings.ini in the install root is the template - copy its contents into the file above; editing the Default file itself does nothing.
Two traps that break more servers than anything else:
- The whole
OptionSettings=(...)block must stay on ONE line. The file is exactly two lines: a section header and the full comma-separated settings string. A line break anywhere inside the parentheses silently reverts you to defaults. - The file is read at boot only. There is no hot reload - every change needs a full server restart.
The admin-relevant fields:
| Field | What it does |
|---|---|
ServerName / ServerDescription | What players see in the browser. |
AdminPassword | Enables /AdminPassword in-game auth AND is the REST API password. |
ServerPassword | Join password (leave empty for open servers). |
ServerPlayerMaxNum | Player cap (32 max supported). |
PublicIP / PublicPort | Only needed behind NAT/proxies where auto-detection fails. |
RESTAPIEnabled / RESTAPIPort | The modern admin API (below). Default port 8212. |
| / |
Going public: the -publiclobby flag
Getting listed in the in-game community server browser is NOT an .ini setting - it is a launch argument:
PalServer.exe -publiclobby
Older guides say EpicApp=PalServer - that is legacy syntax; the current official arguments page documents -publiclobby as the community-server switch.
Without the flag your server still works fine for direct IP connections - it just will not appear in the public list.
In-game admin commands
Type /AdminPassword <your AdminPassword> in chat to become admin, then:
| Command | What it does |
|---|---|
/ShowPlayers | List connected players with their SteamIDs. |
/Info | Show server info. |
/Save | Force a world save. |
/Broadcast <message> | Message all players. |
/KickPlayer <SteamID> | Kick. Takes the SteamID, not the player name. |
/BanPlayer <SteamID> | Ban (kicks immediately, persists). |
/UnBanPlayer <SteamID> | Lift a ban. |
/TeleportToPlayer <SteamID> | Teleport yourself to a player. |
Get SteamIDs from /ShowPlayers - kick/ban/teleport all key on them.
The REST API (the supported admin surface)
Enable it in the .ini:
RESTAPIEnabled=True
RESTAPIPort=8212
Authentication is HTTP Basic with username admin and your AdminPassword. Base URL: http://<server>:8212/v1/api.
| Endpoint | Method | What it does |
|---|---|---|
/v1/api/info | GET | Server name, version, description. |
/v1/api/players | GET | Live player list (name, playerId, userId, ping, coords). |
/v1/api/settings | GET | The live server settings. |
/v1/api/metrics | GET | FPS, uptime, player count - poll this for monitoring. |
/v1/api/announce | POST | Broadcast: {"message":"..."}. |
/v1/api/kick | POST | {"userid":"steam_xxx","message":"..."}. |
Example - broadcast from any shell:
curl -u admin:YOURPASSWORD -H "Content-Type: application/json" \
-d '{"message":"Server restart in 5 minutes"}' \
http://127.0.0.1:8212/v1/api/announce
Security: the official docs do not document a bind interface, and the API is protected only by Basic auth. Treat 8212 as private: firewall it to trusted IPs and never port-forward it to the internet.
RCON (legacy - plan your exit)
If you still need it (RCONEnabled=True, port 25575), Palworld speaks standard Source RCON, so any Source RCON client works. Know its two documented text problems before trusting it:
- Multi-byte names truncate (official, acknowledged): player names with Japanese/Chinese/emoji characters come back garbled or cut off - the official docs recommend the REST API as the fix.
/Broadcastcuts at the first space (community-reported, long-standing): the RCON argument parser treats the message as space-separated tokens. REST/announcedoes not have this problem.
Both bugs disappear on the REST API - which is the point: migrate your tooling now, before the removal update lands.
Bans on disk
Bans issued via /BanPlayer or REST /ban persist server-side. Host panels commonly document the list as banlist.txt under Pal/Saved/SaveGames/ with one steam_<SteamID64> entry per line (community-documented - the official docs only specify the command/API surface). Edit it with the server stopped.
"Incompatible version" join errors
Palworld rejects joins when the client and server versions differ. After every game patch, update the server too:
steamcmd +login anonymous +app_update 2394010 validate +quit
After major patches the SteamCMD server build can lag the client build by a short window - if players suddenly cannot join right after an update, re-run the update until the builds match.
Folklore traps
- "Set up RCON first" - it is deprecated, off by default, and scheduled for removal. Start with the REST API.
EpicApp=PalServerfor the community browser - legacy; use-publiclobby.- Editing
DefaultPalWorldSettings.ini- it is the template, not the config; the server never reads your edits there. - Multi-line OptionSettings - "my settings reset to default" is almost always a line break inside the parentheses.
- Expecting .ini hot reload - boot-time only; restart to apply.
MantaScope tracks the live Palworld community-server directory - browse populated servers with real player counts, population history, uptime tracking and per-server pages, and claim your own server to get monitoring, scheduled announcements and Discord alerts on top of the tools above.