Skip to content
PalworldPalworldServer Admin

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.

HaldonUpdated 673 views

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:

  1. 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.
  2. The file is read at boot only. There is no hot reload - every change needs a full server restart.

The admin-relevant fields:

FieldWhat it does
ServerName / ServerDescriptionWhat players see in the browser.
AdminPasswordEnables /AdminPassword in-game auth AND is the REST API password.
ServerPasswordJoin password (leave empty for open servers).
ServerPlayerMaxNumPlayer cap (32 max supported).
PublicIP / PublicPortOnly needed behind NAT/proxies where auto-detection fails.
RESTAPIEnabled / RESTAPIPortThe modern admin API (below). Default port 8212.
RCONEnabled / RCONPortLegacy admin (below). Default: False. Port 25575.

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:

CommandWhat it does
/ShowPlayersList connected players with their SteamIDs.
/InfoShow server info.
/SaveForce 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.
/TeleportToMe <SteamID>Summon a player to you.
/ToggleSpectateSpectator mode.
/Shutdown <seconds> <message>Graceful timed shutdown with a warning message.
/DoExitImmediate hard stop (no save warning - prefer /Shutdown).

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.

EndpointMethodWhat it does
/v1/api/infoGETServer name, version, description.
/v1/api/playersGETLive player list (name, playerId, userId, ping, coords).
/v1/api/settingsGETThe live server settings.
/v1/api/metricsGETFPS, uptime, player count - poll this for monitoring.
/v1/api/announcePOSTBroadcast: {"message":"..."}.
/v1/api/kickPOST{"userid":"steam_xxx","message":"..."}.
/v1/api/banPOSTSame body as kick; persists the ban.
/v1/api/unbanPOST{"userid":"steam_xxx"}.
/v1/api/savePOSTForce a world save.
/v1/api/shutdownPOST{"waittime":30,"message":"..."} - graceful.
/v1/api/stopPOSTImmediate stop.

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.
  • /Broadcast cuts at the first space (community-reported, long-standing): the RCON argument parser treats the message as space-separated tokens. REST /announce does 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=PalServer for 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.

Palworld Dedicated Server Admin Guide: REST API… - MantaScope