Project Zomboid Admin Commands: Full List for Build 42 Servers
Every Project Zomboid admin command in one searchable table, with the Build 42 quirks marked. Plus the ten commands you will use every week, when to kick, ban or banid, and what event commands do to a busy server.
Console uses plain command names. In-game chat needs a leading slash and an account with admin rights.
Some commands are still work in progress, a few have no help text yet, and closed servers need SteamIDs added.
Most owners live in ten commands: save, quit, players, servermsg, moderation, account control and option reloads.
RCON lets you issue console-style commands remotely on TCP 27015 if you set a strong password.
Where Project Zomboid server commands run
You have two normal places to run admin commands. In the dedicated server console, type the command name directly with no slash. In-game, open chat and add a leading slash, for example /players. If the account doesn’t have the access level a command needs, it won’t run. If you need to sort staff roles, closed-server accounts or passwords first, use our admin and whitelist guide.
| Server console | In-game chat | RCON | |
|---|---|---|---|
| Leading slash | No | Yes | No |
| Needs an admin account logged in | No | Yes | No |
| Works with nobody in the game | Yes | No | Yes |
| Needs a password set first | No | No | Yes |
The built-in help is worth using even when you know the command. /help lists commands, and /help command shows the expected arguments. The game is strict about syntax: player names with spaces should be wrapped in double quotes, item IDs are case-sensitive, and several toggle-style commands expect -true or -false rather than a plain word.
- Use double quotes around usernames or values that contain spaces:
"John Smith". - Keep item IDs exact:
Base.Axeworks;base.axedoes not. - Use the dash form for toggles on commands such as god mode, invisible, noclip and voiceban:
-trueor-false. - Console and chat syntax are otherwise the same, apart from the slash.
players /players servermsg "Restart in 5 minutes" /servermsg "Restart in 5 minutes" additem "rj" Base.Axe 5 /additem "rj" Base.Axe 5 /help /help additem
Every admin command
Type in the search box to filter all 59 commands by name or description. The Build 42 column flags commands that are work in progress, missing help text or spelled two ways.
Players and access (7)
| Command | What it does | How to type it | Build 42 note |
|---|---|---|---|
addsteamid | Adds a SteamID to the server’s list of allowed SteamIDs. | /addSteamID "steamid" | Needed for Open=false servers since 42.13.2 |
adduser | Creates an account on a whitelisted server. | /adduser "username" "password" | – |
players | Lists everyone connected. | /players | – |
removesteamid | Removes a SteamID from the allowed list. | /removeSteamID "steamid" | Pairs with addsteamid on Open=false servers |
removeuserfromwhitelist | Removes an account from the whitelist. | /removeuserfromwhitelist "username" | – |
setaccesslevel | Sets a player’s access level: user, priority, observer, gm, moderator or admin. | /setaccesslevel "username" "accesslevel"/setaccesslevel "rj" "moderator" | Levels: user, priority, observer, gm, moderator, admin |
setpassword | Changes the password of an account. | /setpassword "username" "newpassword" | – |
Moderation (9)
| Command | What it does | How to type it | Build 42 note |
|---|---|---|---|
banid | Bans a SteamID. | /banid SteamID | SteamID ban bypass fixed in 42.21 |
banip | Bans an IP address. | /banip IP | – |
banuser | Bans an account. Add -ip to ban their IP too and -r "reason" to record why. | /banuser "username" -ip -r "reason"/banuser "rj" -ip -r "spawn kill" | – |
kick | Kicks a player, written as /kickuser "username". Add -r "reason" to record why. | /kickuser "username" -r "reason" | Typed as kickuser |
removemapsymbolsforuser | Deletes every shared map symbol a player has placed. | /removemapsymbolsforuser "username" | – |
unbanid | Lifts a SteamID ban. | /unbanid SteamID | – |
unbanip | Lifts an IP ban. | /unbanip IP | – |
unbanuser | Lifts an account ban. | /unbanuser "username" | – |
voiceban | Blocks (-true) or restores (-false) a player’s voice chat. | /voiceban "username" -value/voiceban "rj" -true | – |
Server and options (14)
| Command | What it does | How to type it | Build 42 note |
|---|---|---|---|
changeoption | Changes one servertest.ini option on the running server. | /changeoption optionName "newValue" | – |
checkModsNeedUpdate | Checks whether any Workshop mod has an update. | /checkModsNeedUpdate | Answer goes to the server log |
help | Lists every command, or explains one: /help "command". | /help "command" | – |
list | Listed in the game but not finished yet. | /list | Work in progress |
log | Sets the log level for one log type, e.g. General, Network, Multiplayer, Lua, Mod, Zombie, Vehicle or Checksum. Levels: Trace, Debug, General, Warning, Error. | /log "Type" "Level" | – |
quit | Saves the world and shuts the server down. | /quit | – |
reloadalllua | Reloads every Lua script on the server. | /reloadalllua | – |
reloadlua | Reloads one Lua script on the server. | /reloadlua "filename" | – |
reloadoptions | Re-reads servertest.ini and sends the new options to players. | /reloadoptions | – |
save | Saves the world now. | /save | – |
servermsg | Sends a message to every player. | /servermsg "My Message" | – |
showoptions | Lists every current server option and its value. | /showoptions | – |
stats | Turns server statistics on or off and sets how often they are written: none, file, console or all. | /stats none/file/console/all period/stats file 10 | – |
worldgen | Controls the full world generator: start, recheck, stop and status. | /worldgen start/worldgen status | Work in progress |
Items, XP and vehicles (5)
| Command | What it does | How to type it | Build 42 note |
|---|---|---|---|
additem | Gives a player an item. Leave out the name to give it to yourself; count is optional. Item IDs are case-sensitive. | /additem "username" "module.item" count/additem "rj" Base.Axe 5 | – |
addkey | Gives a player a key with a given key ID and optional name. | /addkey "username" "keyId" "name"/addkey "rj" "7295" "Gift Key" | – |
addvehicle | Spawns a vehicle next to a player or at x,y,z coordinates. | /addvehicle "script" "user or x,y,z"/addvehicle "Base.VanAmbulance" "rj" | – |
addxp | Gives a player XP in one skill. | /addxp "playername" perkname=xp/addxp "rj" Woodwork=2 | – |
removeitem | Removes items from your own inventory. A count of 0 removes every item of that type. | /removeitem "module.item" count/removeitem Base.Axe 5 | – |
Teleport and admin powers (8)
| Command | What it does | How to type it | Build 42 note |
|---|---|---|---|
godmod | Makes a player (or you, with no name) invincible. -true on, -false off. | /godmode "username" -value/godmode "rj" -true | Spelling bug: godmod and godmode both work |
godmodplayer | Makes a named player invincible. -true on, -false off. | /godmodeplayer "username" -value/godmodeplayer "rj" -true | Spelling bug: godmodplayer and godmodeplayer both work |
invisible | Makes a player (or you) invisible to zombies. -true on, -false off. | /invisible "username" -value/invisible "rj" -true | – |
invisibleplayer | Makes a named player invisible to zombies. -true on, -false off. | /invisibleplayer "username" -value/invisibleplayer "rj" -true | – |
noclip | Lets a player walk through walls. -true on, -false off. | /noclip "username" -value/noclip "rj" -true | – |
teleport | Teleports you to a player, or one player to another. Wait for the map to load after arriving. | /teleport "playername"/teleport "player1" "player2" | – |
teleportplayer | Teleports one player to another. | /teleportplayer "player1" "player2"/teleportplayer "rj" "toUser" | – |
teleportto | Teleports you to x,y,z coordinates. | /teleportto x,y,z/teleportto 10000,11000,0 | – |
World events and weather (12)
| Command | What it does | How to type it | Build 42 note |
|---|---|---|---|
alarm | Sets off a building alarm where you stand. You must be inside a room. | /alarm | – |
chopper | Sends a helicopter event to a random player. | /chopper | – |
createhorde | Spawns a horde of the given size near a player, or near you. A name is required from the console. | /createhorde count "username"/createhorde 150 "rj" | – |
createhorde2 | Second horde spawner, listed without a description. | /createhorde2 | No help text in the game yet |
gunshot | Plays a gunshot sound on a random player, drawing zombies. | /gunshot | – |
lightning | Strikes lightning at a player. A name is required from the console. | /lightning "username" | – |
removezombies | Removes zombies, listed without a description. | /removezombies | No help text in the game yet |
startrain | Starts rain, with optional intensity from 1 to 100. | /startrain "intensity" | – |
startstorm | Starts a storm, with optional duration in in-game hours. | /startstorm "duration" | – |
stoprain | Stops the rain. | /stoprain | – |
stopweather | Stops all weather. | /stopweather | – |
thunder | Plays thunder at a player. A name is required from the console. | /thunder "username" | – |
Safehouses (4)
| Command | What it does | How to type it | Build 42 note |
|---|---|---|---|
addtosafehouse | Adds a player to a safehouse. | /addtosafehouse | Work in progress |
kickfromsafehouse | Removes a player from a safehouse. | /kickfromsafehouse | Work in progress |
releasesafehouse | Gives up a safehouse you own. | /releasesafehouse | – |
remove | Listed in the game but not finished yet. | /remove | Work in progress |
Most commands are about the server itself or world events. Moderation and player access, the ones you’ll use weekly, are a smaller set.
The ten commands most server owners use
The full list is handy, but most routine admin work comes down to a short core set. These keep a live server running, keep players informed and fix access without a restart.
| Command | Purpose | Example |
|---|---|---|
save | Forces an immediate world save before maintenance or risky admin work. | /save |
quit | Saves, then shuts the server down cleanly. | /quit |
servermsg | Broadcasts a clear announcement to everyone connected. | /servermsg "Restart in 5 minutes" |
players | Lists connected players so you can target the right name. | /players |
kickuser | Removes a player from the session without creating a permanent ban. | /kickuser "rj" -r "cool off and rejoin later" |
banuser | Bans an account, with optional IP ban at the same time. | /banuser "rj" -ip -r "spawn kill" |
adduser | Creates an account on servers using Open=false. | /adduser "rj" "password" |
setaccesslevel | Promotes or demotes staff and helpers. | /setaccesslevel "rj" "moderator" |
reloadoptions | Re-reads servertest.ini and sends the new options to players, without a restart. | /reloadoptions |
showoptions / changeoption | Shows the active server option values and changes one live. | /showoptions/changeoption Public "true" |
save and quit matter most. By default the map only saves when players leave an area, so killing the process instead of using quit can lose recent progress. Make save then quit your habit before every restart, update or file edit.
showoptions tells you what the running server is actually using, which settles it when a panel and the ini file seem to disagree. changeoption changes one option on the running server, written as changeoption OptionName "value". For the actual setting names and what they affect, see the servertest.ini settings reference.
reloadoptions is for edits you made to servertest.ini by hand. It covers server options, not SandboxVars: sandbox changes still need a restart. Run showoptions afterwards to see the new values.
Moderation commands: when to kick, ban, banid, banip or voiceban
add -ip for evaders
- voiceban “name” -true blocks voice chat without removing the player
Good moderation is a ladder, not a single hammer. For minor trouble, start with a warning through servermsg. Move to kickuser when you need to stop the problem now without a permanent ban.
kickuser: best for cooling off, mic spam, accidental rule breaks or getting someone back to the menu to fix a mod mismatch.banuser: best when the account itself should not return. Add-ipif the behaviour is deliberate and immediate re-entry is likely.banid: best for persistent abuse tied to a Steam account. It is usually cleaner than an IP ban because dynamic IP addresses change and shared networks can catch innocent people.banip: reserve this for obvious evasion or throwaway accounts on the same connection. The trade-off is collateral damage on shared households, campuses or cafés.voiceban: use when the text and gameplay behaviour are fine but proximity voice is the issue. It is far less disruptive than a full ban.
Always add -r "reason" where the command supports it. Other staff can see why later, and the player knows it wasn’t a glitch.
Run 42.21 or later if you rely on SteamID bans: it fixed a Steam authentication bypass that affected them. Against a player who keeps making new accounts, banid is then the first tool to reach for.
World and event commands: useful, but not free
Event commands are where admin fun meets server load. chopper, gunshot and alarm make noise that pulls zombies towards players, and createhorde adds them directly: createhorde 150 "rj" puts 150 zombies around that player. Leave out the name and the horde spawns around you, but from the server console a name is required.
createhordeis the one to be careful with. Every extra zombie is one more for the server to move and send to nearby players, so a big horde on a busy server is a quick way to cause rubber-banding.chopper,gunshotandalarmcost little themselves. The load comes from the zombies they draw in.alarmonly works while you stand inside a room.startrain,startstorm,stoprainandstopweatherchange the weather. Rain takes an intensity from 1 to 100; a storm takes a duration in in-game hours.
If players start reporting rubber-banding or late hits right after an event, make the next horde smaller and avoid running events while players are spread across several towns, when the server is already busy with several loaded areas. The Project Zomboid server lag guide covers the rest.
Before any world-changing command on a live save, take a backup. The backup and restore guide covers how.
Item, XP and vehicle commands for fixing player problems after bugs
The cleanest use of admin powers is putting things right after a clear server-side problem: a crash that rolled back progress, a mod conflict that deleted an item or a vehicle that vanished. The core repair set is additem, removeitem, addxp and addvehicle.
additem "username" Base.Axe 5replaces missing inventory. If you omit the username, the item goes to the admin running the command.addxp "playername" Woodwork=2gives XP in one skill, written asSkill=amount.addvehicle "Base.VanAmbulance" "rj"spawns a vehicle next to a player; usex,y,zinstead of a name to place it at coordinates.removeitem Base.Axe 5is mainly for cleaning up mistaken compensation, and it removes items from yourself rather than directly from another player.
The real risk is fairness. Generous top-ups without a record turn admin repair into a shortcut. Replace what was clearly lost, no more, and note it where the rest of your staff can see.
If the underlying problem is a damaged world area rather than a missing object, commands are the wrong tool. In that case, use a proper area reset or wipe process instead of trying to patch symptoms one crate or one car at a time; the safe approach is laid out in the map reset and wipe guide.
Build 42 notes that matter to admins
Build 42 is stable, but the command list still has a few rough edges worth knowing.
addsteamidandremovesteamidmatter onOpen=falseservers since 42.13.2. Creating the account withadduseris not enough on its own; the player’s SteamID must also be allowed.godmodandgodmodeboth work, and so dogodmodplayerandgodmodeplayer, thanks to a spelling slip in the game.worldgen,list,remove,addtosafehouseandkickfromsafehouseare marked work in progress.createhorde2andremovezombiesexist, but have no help text yet, so/helpwon’t explain them.checkModsNeedUpdatewrites its answer to the log rather than giving a friendly chat response, so checkserver-console.txtafter you run it.
If a help entry looks half-finished, keep that command out of live sessions until a later build finishes it.
Running commands remotely with RCON
If you cannot stay logged into the game client or have staff who need remote console access, use RCON. Project Zomboid exposes RCON on TCP 27015 by default, controlled by RCONPort and RCONPassword. It works like the server console: commands go in without a leading slash.
The security rule is straightforward. If you use RCON, set a strong RCONPassword. If you don’t use RCON, leave the password empty.
The upside is convenience: remote saves, restarts, announcements and moderation without joining the world. The catch is that whoever has the RCON password can stop the server, change settings and ban players, so treat it with more care than a player password. Try a harmless command such as players first.
When a command does not work: symptom, likely cause, first fix
Most command failures come down to syntax, access level or persistence. Start with these checks before touching anything else.
| Symptom | Likely cause | First fix |
|---|---|---|
| Unknown command or no response | The account is not an admin, or the command was typed in chat without the leading slash. | Confirm access level, then retry with /command in chat or plain command in the console. |
| Item not given | The item ID is the wrong case or wrong module name. | Use the exact Module.Item format, such as Base.Axe. |
| Username with spaces fails | The parser split the name into separate arguments. | Wrap the full name in double quotes. |
| Teleport shows a black screen | The destination area is still loading. | Wait for the map to appear; the game’s own help says to. |
createhorde fails from the console | No username given; the console has no “you” to spawn around. | Add the player name: createhorde 50 "rj". |
If the failure is account related on a closed server, remember the Build 42 extra step: on Open=false you need both the account and the SteamID. If the failure is mod related, check the server log before blaming the command itself; a broken mod can stop the expected result even when the command syntax is fine.
When commands stop being the answer
Commands solve admin jobs. They don’t fix a server that is short of power. If you find yourself shrinking every horde, warning players before every save and handing out compensation after laggy rollbacks, the problem is settings or headroom, not syntax. Start with the lag guide and the RAM guide; for Build 42 we recommend 8 GB as the floor, with more as players and mods grow.
If commands and settings are no longer enough, compare hosts and plans before you move the world: enough memory for Build 42, a proper console and a location close to your players.
Compare the best Project Zomboid server hostsProject Zomboid server FAQ
How do I use admin commands in Project Zomboid?
Run them either in the dedicated server console with no slash, or in in-game chat with a leading slash. In chat, the account must have the right access level first, and the quickest syntax check is /help or /help command.
Do commands work from the server console?
Yes. The server console accepts the same command names and arguments, but without the leading slash used in chat. Console access is useful for saves, restarts, announcements and account work even when no admin is logged into the world.
How do I give items to a player?
Use /additem "username" Module.Item count, for example /additem "rj" Base.Axe 5. The item ID is case-sensitive, so incorrect capitalisation is one of the most common reasons it appears to fail.
How do I teleport to a player or coordinates?
Use /teleport "playername" to go to a player, /teleport "player1" "player2" to move one player to another, or /teleportto x,y,z for exact coordinates. If the screen goes black briefly after teleporting, wait for the destination area to load before assuming the command failed.
Why does a command say I don’t have permission?
The usual reasons are that the account is missing admin access, you are logged in on a different account, or the command was entered in chat without the slash. On closed Build 42 servers, a player who can’t join at all usually needs their SteamID added.
More Project Zomboid server guides
The rest of our Project Zomboid server guides, plus the host comparison.
Command list from the Build 42 stable server (42.20 onwards). Usernames in examples are placeholders.