Admin commands are the single most useful tool a Project Zomboid server owner has. They let you set who can moderate, hand out items and XP, teleport players, trigger weather and events, ban griefers, and save the world on demand — all without touching a config file or restarting the server. This guide is a complete, plain-English reference to every verified admin command, the four ways to run them, the five access levels, and the RCON setup that lets you run them from outside the game.
One note before we start: Project Zomboid ships two builds right now. Build 41 (B41.78) is the stable, default branch on Steam — it’s what most servers still run. Build 42 has been on the opt-in “unstable” beta branch since December 2024 and, as of mid-2026, is described in press coverage as close to the finish line but not confirmed shipped as stable. The good news for this guide: the admin command system, access levels, whitelist behavior, and RCON are identical across both builds. Where something is genuinely build-specific, it’s flagged.
The four ways to run a command
Project Zomboid accepts the same admin commands through several entry points, and the syntax changes slightly depending on where you type them:
- In-game chat, with a leading
/— open the chat box and type/godmode,/save, and so on. This requires your in-game account to have admin (or sufficient) access level. - The server console, without the
/— if you have direct access to the machine running the server (the black window or terminal), type the command bare, e.g.saveorservermsg "Restart in 5". - RCON, without the
/— connect with any RCON client and issue commands remotely. Same bare syntax as the console. - The
/helpcommand — type/helpto list every available command, and/helpto read the usage for a single one. This is your in-game source of truth and always reflects the exact build you’re running.
The rule of thumb: chat needs the slash; console and RCON do not. If a command appears to do nothing in chat, the usual cause is that your account doesn’t have a high enough access level — which is the next topic.
Access levels: admin, moderator, overseer, gm, observer
Project Zomboid has five staff access levels, ordered from most to least powerful: admin, moderator, overseer, gm, observer. The first console password you set on a fresh server becomes the password for the built-in admin account, which sits at the top of that ladder and can do everything below it.
You grant a level with /setaccesslevel. The level names map loosely to roles: moderator for trusted community staff, overseer and gm (game master) for event-running and world tinkering, and observer for someone who needs to watch without much power. To strip a role entirely, set the level to none:
/setaccesslevel Bob admin
/setaccesslevel Alice moderator
/setaccesslevel Charlie none
For the full breakdown of how each setting in the main config file interacts with these roles, see our companion explainer on how the servertest.ini file is structured.
The full verified command list
Below is every command confirmed against the source documentation. Where a command takes a player name, omitting it usually targets yourself (this is documented for /additem, for example). The examples use chat-style slashes; drop the slash for console or RCON.
| Command | What it does |
|---|---|
/setaccesslevel | Set a player’s access level (admin/moderator/overseer/gm/observer, or none to remove). |
/additem | Give an item by its full ID, e.g. Base.Axe. Omit the user to give it to yourself. |
/addxp | Grant skill XP, e.g. /addxp Bob Perks.Strength 200. |
/teleport | Teleport one player to another player. |
/teleportto x,y,z | Teleport yourself to specific world coordinates. |
/godmode | Toggle damage immunity. (Verified as godmode; some lists show /godmod — confirm in-game with /help.) |
/invisible | Toggle invisibility to zombies. |
/kick | Kick a player; they can rejoin unless also banned. |
/banid | Ban by Steam ID; true persists the ban. |
/banuser | Ban by username; true persists the ban. |
/unbanid | Lift a Steam-ID ban. |
/unbanuser | Lift a username ban. |
/save | Force an immediate world save. |
/servermsg "msg" | Broadcast a message to every connected player. |
/addvehicle | Spawn a vehicle. |
/startrain, /stoprain | Start or stop rain. |
/chopper | Trigger the helicopter event (draws zombies). |
/alarm, /checkfire | Trigger a building alarm / check fire state. |
showoptions | Print the server’s current .ini settings to the console. |
reloadoptions | Hot-reload edited .ini settings without a restart. |
Items, XP and vehicles: getting the IDs right
The most common mistake with /additem and /addvehicle is the ID format. Project Zomboid uses a Module.Item scheme — the base game’s module is Base, so an axe is Base.Axe. Skills for /addxp live under the Perks module, like Perks.Strength or Perks.Fitness. A few worked examples:
/additem Bob Base.Axe
/additem Bob Base.Hammer 3
/addxp Bob Perks.Strength 200
/addvehicle Bob Base.CarNormal
/teleportto 10629,9312,0
Modded items follow the same pattern but use the mod’s own module name instead of Base. If you’re unsure of an ID, /help additem in-game shows the expected syntax for your build.
Moderation: kicks and bans
A /kick is temporary — the player can reconnect immediately unless you also ban them. To make a removal stick, use /banid (the true argument is what persists the ban so it survives across sessions) or /banuser for non-Steam username bans. Reverse either with /unbanid or /unbanuser. For settling disputes — who shot whom, who said what — the server’s chat and PVP logs are your evidence; our guide to reading Project Zomboid server logs walks through exactly which log file records each kind of event.
World, weather and events
The event commands let you run live scenarios. /chopper fires the helicopter event, which is famous for dragging hordes toward the noise — great for an organized server event, dangerous if you spring it unannounced. /startrain and /stoprain control weather, and /alarm sets off a building alarm. Pair any of these with /servermsg "Storm incoming" so players know it’s intentional, then /save afterward if you want the result locked in.
Commands to confirm before you rely on them
Several commands appear in general PZ command lists but could not be verified verbatim in this research pass. They likely exist, but treat their exact syntax as something to confirm with /help on your own server before publishing rules around them: /grantadmin, /removeadmin, /noclip, /voiceban, /changeoption, /players, and /quit. Likewise, the /godmode vs /godmod spelling is worth checking in-game, since both appear in the wild.
Running commands over RCON
RCON (Remote Console) lets you issue the same admin commands from outside the game — from a phone, a Discord bot, or an external panel — without sitting in the server console. It’s supported natively in Project Zomboid and configured with two keys in servertest.ini:
RCONPort=27015
RCONPassword=YourStrongPasswordHere
The real-world default for RCONPort is 27015, though some host templates use 12345 — check yours. RCON stays disabled until you set a non-empty RCONPassword; leave it blank and the feature is off. Once both keys are set and the server is restarted, connect with any standard RCON client using your server’s IP, the RCON port, and that password, then type commands without the leading slash (just like the local console). Treat the RCON password like a master key — anyone holding it can ban players and edit your world, so make it long and don’t reuse it.
Where commands and config meet
Two commands bridge the gap between live admin work and the config files: showoptions and reloadoptions. A Project Zomboid dedicated server is driven by files in your Zomboid/Server/ folder (on Windows, C:\Users\), and because the default server name is servertest, those files are named with that prefix:
| File | Controls |
|---|---|
servertest.ini | Networking/ports, player cap, PVP, passwords, public listing, mod lists, map, spawn point, RCON, anti-cheat. |
servertest_SandboxVars.lua | The world ruleset: zombie population, loot rates, XP multipliers, day length, and (in Build 42) animal/basement/darkness settings. |
servertest_spawnregions.lua | The cities/regions offered on the spawn-selection screen. |
(PZwiki also lists a servertest_spawnpoints.lua alongside these.) When you edit servertest.ini while the server is running, you don’t always need a full restart — run reloadoptions to apply the changes live, and showoptions to print the current settings so you can confirm they took. A few values worth knowing: the primary game port is 16261/UDP (DefaultPort=16261); the companion port is automatically DefaultPort + 1 (16262), so in practice only 16261 matters since Build 41.65 retired the old per-player port range. MaxPlayers defaults to 64 (most real servers set 16 or 32), and the whitelist is governed by the Open key — covered below. Anti-cheat, by the way, is not one key but a numbered family, AntiCheatProtectionType1 through AntiCheatProtectionType24, each true/false.
Whitelisting players
The whitelist is controlled entirely by the Open setting in servertest.ini:
Open=true— anyone may join, and an account (username + password) is auto-created on first connect and stored in the player database.Open=false— whitelist-only. Unknown users are turned away, and admins must pre-create accounts.
You create a whitelist account with /adduser . To remove one, the command is commonly /removeuserfromwhitelist (some builds use /removeuser — confirm with /help). When flipping a currently-open server to whitelist mode, /addalltowhitelist converts everyone currently connected into whitelist accounts in one go. Note that this per-account password is separate from the server-wide Password= join password. For a step-by-step walkthrough, see our guide to adding a whitelist.
Spawning, items and the world: doing it without commands
Some things you might reach for a command to fix are actually better handled in config. The default spawn, for instance, is governed by SpawnPoint in servertest.ini, in the form SpawnPoint=X,Y,Z. The default 0,0,0 is ignored — meaning players pick a starting city — while any non-zero value forces every player to spawn there (the third value is height: 0 = ground, 1 = second floor). If you’d rather offer a curated list of cities instead of a single forced point, that lives in servertest_spawnregions.lua. Our dedicated walkthrough covers setting up spawn points in detail, including how to read coordinates off a community PZ map.
If you’re standing up the server from scratch, you’ll install it through SteamCMD using app ID 380870 (the game itself is App ID 108600), launch it with StartServer64.bat on Windows or start-server.sh on Linux, and set your admin password at the first-run console prompt. Our full dedicated server setup guide covers the whole sequence, including bumping the -Xmx JVM memory flag (remember Build 42 needs more RAM headroom than B41). And if you’re loading Steam Workshop content, the golden rule is that every mod needs two keys — its numeric ID in WorkshopItems= and its text mod ID in Mods= — which is the focus of our guide on installing Workshop mods.
When an admin command can’t fix it: resetting a broken character
Occasionally a single player’s character file corrupts and no in-game command will clear it. The fix is a careful, manual database edit — and because it’s destructive, read this twice and back up first.
Multiplayer saves live in Zomboid/Saves/Multiplayer/. Per-player data sits in the SQLite database players.db inside that folder, in a table called NetworkPlayers — one row per character. To reset just one player without touching anyone else:
- Stop the server and make a backup copy of
players.dbbefore doing anything else. - Open
players.dbin DB Browser for SQLite → Browse Data → select theNetworkPlayerstable. - Find the broken player’s row, select that entire row, and delete just that one row.
- Click Write Changes, replace the file, and restart the server.
The world, every other player, and all map data are untouched; the affected player simply creates a fresh character on their next join. Be clear-eyed about the trade-off: this zeroes the character and cannot recover its pre-break state, and editing a live SQLite database means a wrong row deletion is permanent — which is exactly why the backup and server stop are non-negotiable. The full procedure, with screenshots, is in our guide to resetting a broken character.
Frequently asked questions
Do I type the slash or not?
Use the leading / only when you’re typing into the in-game chat box (and your account needs a high enough access level). In the server console and over RCON, type the command bare with no slash — for example save in the console versus /save in chat. The arguments after the command name are identical in all cases.
How do I make myself an admin?
The first console password you set when the server first runs is the password for the built-in admin account — log in with username admin and that password. To promote another player, run /setaccesslevel from an account that already has admin rights (or straight from the console). Use moderator, overseer, gm, or observer for lesser roles, and none to demote someone back to a regular player.
Why does my admin command do nothing in chat?
The two usual causes are access level and syntax. If your in-game account isn’t at admin (or a level high enough for that specific command), the command is silently ignored — fix it with /setaccesslevel from the console. If access is fine, double-check the exact spelling and arguments with /help , which always reflects your installed build. Item and skill IDs in particular must use the Module.Item / Perks.Skill format.
What port and app ID do I need for a dedicated server?
The primary game port is 16261/UDP (the DefaultPort key), with a companion port at 16262 assigned automatically — since Build 41.65 only 16261 effectively matters. Install the dedicated server through SteamCMD with app ID 380870 (the playable game is App ID 108600). RCON, if you enable it, listens on RCONPort, commonly 27015.
Are the commands different in Build 42?
Across every source reviewed, the admin commands, access levels, whitelist behavior, RCON setup, and the three-file config model are the same in Build 41 and the Build 42 unstable branch. What differs in B42 is world content — an expanded Knox County with new towns, procedurally generated basements, rebuilt crafting, new SandboxVars for animals and darkness, and noticeably higher RAM needs. Note too that B42 saves are not compatible with B41, with no official converter. Since Build 42 is still on the opt-in unstable branch as of mid-2026, always verify any build-specific behavior with /help on your own server.
Can I run admin commands remotely?
Yes — that’s exactly what RCON is for. Set RCONPort (commonly 27015) and a strong RCONPassword in servertest.ini, restart, then connect with any RCON client to issue commands without the slash prefix. It’s the cleanest way to drive your server from a Discord bot or panel. If you’d rather skip the manual setup entirely, our managed Project Zomboid server hosting ships with a web control panel and RCON pre-wired, and you can pair it with the full Project Zomboid documentation for everything from mods to backups.
Ready to play?
Run your own Project Zomboid server with XGamingServer
Spin up an always-on Project Zomboid server your friends can join in minutes — no port-forwarding, no tech headaches.







