To become an administrator on a Project Zomboid dedicated server, create the first administrator during the server’s initial startup (optionally with -adminusername and -adminpassword), then grant access with setaccesslevel "PlayerName" "admin". In game chat, prefix commands with a slash, such as /save; in the server console and RCON, use the same command without the slash: save. Run /help and /help <command> on the live server before relying on a syntax table, because accepted commands, role names, and arguments differ between Build 41 and Build 42.
Where do I enter Project Zomboid admin commands?
Project Zomboid accepts administrative commands through three practical entry points. The command is usually the same, but the prefix and authentication method change.
| Entry point | How to enter a command | Example |
|---|---|---|
| In-game chat | An account with an appropriate access level types a slash followed by the command. | /save |
| Dedicated-server console | Type the bare command name, without a slash. | save |
| RCON | Send the console form through your RCON client, also without a slash. | save |
/help lists commands available to the connected administrator. /help <command> displays that command’s usage tooltip. Treat this live output as the final authority for the server you are actually running.
How do I become an administrator?
A new dedicated server creates its first administrator account during first startup. If you are preparing a fresh installation, the startup parameters -adminusername and -adminpassword can define that initial account. Starting with -coop disables the default administrator account, so do not use that option when you need the normal first-run admin creation.
Create the first account
- Start the dedicated server for the first time with the desired administrator username and password, using
-adminusernameand-adminpasswordif you want to set them non-interactively. - Connect with that account and confirm access by running
/helpin chat, or inspect the server console output. - Keep the credentials private. Anyone who can authenticate as this account can change the world, moderate players, and alter server settings.
Promote an existing player
From the server console, run:
setaccesslevel "PlayerName" "admin"
An already authorized administrator can use the chat equivalent:
/setaccesslevel "PlayerName" "admin"
Quote the player name, especially when it contains spaces or punctuation. To remove elevated access, use the role value none where that value is supported by your build.
Which access-level names are valid?
The documented role set includes Admin, Moderator, Overseer, GM, and Observer. Build 42-era documentation also lists none for returning an account to ordinary status. Some current Build 42 hosting panels display user instead, so check /help setaccesslevel on your own server rather than assuming a role name from another panel or version.
| Role value commonly documented | Typical purpose | Version caution |
|---|---|---|
admin |
Full administrative control. | Use the exact spelling shown by your server’s help output. |
moderator |
Player-management duties. | Available role names can vary by build. |
overseer |
Higher-level oversight role. | Verify acceptance on the running server. |
gm |
Game-master functions. | Verify acceptance on the running server. |
observer |
Observation-oriented access. | Verify acceptance on the running server. |
none |
Returns the account to ordinary status. | Documented for the Build 42-era roster; confirm locally. |
How can I check a command before using it?
Use the server’s own help system instead of copying syntax from a different build. In chat, enter /help for the list, then /help commandname for a usage line. In a console or RCON client, use the equivalent bare form if the server exposes help there.
- Run
/helpand locate the command. - Run
/help <command>to see required arguments, optional flags, and accepted role restrictions. - Test disruptive commands with a noncritical player or a backup when possible.
- Record the exact output for your server’s Build 41 or Build 42 version; a command table is only a reference, not a guarantee that every revision accepts identical syntax.
The strongest published rosters separate Build 41, checked against 41.78.16, from Build 42, versioned to 42.17.0. They were not rerun against a 42.21 server help dump, so a 42.21 server can differ even when a command appears in the Build 42 list.
What syntax rules prevent the most common mistakes?
- Slash placement: use
/commandin in-game chat, butcommandin the console and RCON. - Quoted names: write player names as
"Player Name"when they contain spaces; quoting simple names is also safe. - Case-sensitive item IDs: item identifiers use the
module.itemform.Base.Axeis valid wherebase.axemay fail. - Booleans: commands that accept a toggle generally use
trueorfalse; copy the spelling shown by/help. - Coordinates: absolute teleport coordinates are written as
x,y,z, with commas and no chat slash in console or RCON. - Target omission: some powers default to the issuing administrator when a username is omitted, while others require a target. Confirm the command-specific tooltip before assuming a default.
Which commands moderate players?
These commands cover the routine actions of listing connected users, removing disruptive accounts, and restoring access. Use reasons consistently so other administrators can understand why an action was taken.
| Purpose | Console or RCON form | Chat form and notes |
|---|---|---|
| List connected players | players |
/players prints the current roster. |
| Kick a player | kickuser "Player" -r "reason" |
Add the slash in chat. The reason flag is optional. |
| Ban an account | banuser "Player" -ip -r "reason" |
The -ip option extends the action to the player’s IP; the reason is optional. |
| Unban an account | unbanuser "Player" |
Removes an account ban. |
| Ban a SteamID | banid 76561198000000000 |
Replace the example with the target SteamID. |
| Unban a SteamID | unbanid 76561198000000000 |
Removes the SteamID ban. |
| Ban an IP address | banip 198.51.100.7 |
Documented in the Build 42 revision; check your server’s help output first. |
| Block voice chat | voiceban "Player" -true |
Use -false to restore voice access. |
An account ban, SteamID ban, and IP ban are separate targets. If an evading player can reconnect through another account or address, review which form of ban your policy requires rather than assuming one automatically covers all identities.
How do teleport, god mode, invisibility, and noclip work?
Teleportation and temporary powers are useful for stuck players, construction work, and event administration, but they can destroy the survival challenge if used casually.
Teleport commands
teleport "Player"moves the issuing administrator to the named player.- The two-player form, or
teleportplayer, moves one player to another. Because argument order can vary by build, confirm it with/help teleportor/help teleportplayer. teleportto x,y,zsends the issuing player to absolute coordinates.
Temporary powers
godmode, invisible, and noclip accept a target and a Boolean in their documented forms. Some versions default to the administrator when the username is omitted. Use true to enable and false to disable when the help tooltip shows that pattern, and verify the resulting state before returning to ordinary play.
How do I give items, award XP, spawn vehicles, or create hordes?
These commands alter player progression or the physical world immediately. Test item and vehicle IDs in a controlled save and keep a recent backup before using them on a long-running community server.
Items
Give two axes to a player with:
additem "Player" Base.Axe 2
The module and item portion is case-sensitive. The Build 42 catalog documents removeitem Base.Axe 0 as removing all items of that type from the issuing player; because target behavior and the meaning of the quantity can be version-sensitive, verify the live tooltip before running a bulk removal.
Perk experience
Grant Woodwork experience with:
addxp "Player" Woodwork=2
Use the exact perk name and assignment syntax accepted by your build. An incorrect perk label can fail without granting anything, so check the command response and the player’s skill sheet.
Vehicles
Spawn an ambulance van for a player with:
addvehicle "Base.VanAmbulance" "Player"
Vehicle identifiers are also case-sensitive and use the module-qualified format. A vehicle spawned in a crowded or unsafe location can trap players or create collision problems.
Hordes
Create a horde around a target with:
createhorde 80 "Player"
The number is the requested horde size in this example. Warn participants first and avoid using the command near an unprepared settlement or a player who did not consent.
Which commands change weather, events, safehouses, and the world?
The event and weather commands let an administrator stage scenarios or recover from a broken state. They also have the greatest potential to affect every connected player at once.
alarmtriggers an alarm event.choppertriggers the helicopter event.gunshottriggers a gunshot event.lightningandthundertrigger their respective effects.startrainstarts rain andstoprainends it.startstormstarts a storm, whilestopweatherends active weather.- Build 42 documentation includes
worldgencontrols for world-generation operations. releasesafehousesurrenders an owned safehouse.
Several catalog entries remain marked work in progress, including createhorde2, removezombies, addtosafehouse, and kickfromsafehouse. Their placeholder descriptions are not an operational specification. Do not build a staff procedure around them until the live server’s /help output provides usable arguments and behavior.
How do I save, shut down, broadcast, or change settings live?
Use the lifecycle commands in this order when performing routine maintenance: warn players, save, make the change, and confirm the result.
| Task | Command | Result |
|---|---|---|
| Force a world save | save |
Writes the current world state. |
| Save and stop | quit |
Saves, then shuts down the server. |
| Broadcast a message | servermsg "Restart in 10 minutes" |
Sends the message to connected clients. |
| Change a runtime option | changeoption |
Sets an option value; use the command’s help syntax for the option name and value. |
| Reload options | reloadoptions |
Rereads settings and pushes them to clients. |
| Inspect options | showoptions |
Displays the resulting runtime values. |
For a planned restart, send a warning with servermsg, run save, and then use quit. After changing a setting, run reloadoptions and showoptions; editing a file alone does not prove that the running process accepted the new value.
How do I run Project Zomboid commands remotely with RCON?
RCON lets you administer a dedicated server without opening its local console. Configure the server’s RCONPort and RCONPassword; the documented default port is 27015, but use the value configured on your instance.
- Set a strong, unique RCON password.
- Restrict the RCON listener with your firewall or network rules so it is not exposed unnecessarily to the public internet.
- Connect with an RCON client such as
rcon-cli,mcrcon, the Pythonzomboid-rconlibrary, or thepz-adminGUI. - Send console syntax without the in-game slash:
save, not/save. - Test with
showoptionsor another read-oriented command before sending a destructive action.
RCON is particularly useful for scheduled saves, restart notices, and moderation from a separate machine. It does not remove the need to verify command availability on the target Build 41 or Build 42 server.
What is different between Build 41 and Build 42 command lists?
Compare builds by accepted role names, command availability, argument syntax, and whether an entry is marked work in progress. A pinned Build 41 roster checked against 41.78.16 contains 44 documented commands; a Build 42 roster versioned to 42.17.0 contains 59. Those counts describe a documentation delta, not a verified change in the game code.
The Build 42 roster has not been rerun against a 42.21 server help dump. Consequently, do not present the 59-command list as a guaranteed 42.21 inventory. Pin your own staff documentation to the game version and capture /help output after updates.
Recommended version-check procedure
- Note the server’s exact build number before publishing a command reference.
- Run
/helpand compare the available names with your reference. - Run
/help <command>for every command your staff will use frequently. - Mark commands with changed role names, changed argument order, or WIP status in your internal runbook.
Why is an admin command failing, and how do I fix it?
The server says the command is unknown
Check the build and run /help. A command documented for Build 42 may not exist in Build 41, and a WIP entry may be absent or unusable in a later revision.
The command works in console but not chat
Confirm that the account has an appropriate access level and that you added the leading slash in chat. Check the exact role value with /help setaccesslevel if promotion appeared to succeed but administrative commands remain unavailable.
The player or item is not found
Quote the exact player name and preserve capitalization in item IDs. For items and vehicles, use the complete module-qualified identifier, such as Base.Axe or Base.VanAmbulance, rather than a display name.
A teleport or power affects the wrong person
Read the command-specific usage line and supply an explicit target instead of relying on a default. Disable temporary powers with the documented false Boolean and confirm the state before disconnecting.
A setting changed on disk but not in game
Use reloadoptions, then showoptions. If the displayed value is still wrong, save the world, schedule a controlled restart, and inspect the server log for a rejected option.
A moderation action did not stop reconnection
Determine whether you banned the account, SteamID, or IP. These are distinct targets; apply the form required by your community policy and verify the resulting state with your server’s moderation output.
What is a safe administrator workflow?
- Identify the target: use
playersand confirm the exact name, SteamID, or IP before acting. - Check syntax: run
/help <command>on the live server, especially after an update. - Warn the community: use
servermsgbefore weather events, horde spawns, option reloads, or restarts. - Protect the save: run
savebefore risky world edits, and usequitfor a clean shutdown. - Use least privilege: give moderators only the role and tools they need; reserve full admin access for trusted operators.
- Record the action: note the command, target, reason, and time so another administrator can audit or reverse it.
- Recheck the result: use
showoptions, the player list, or a direct status check rather than assuming a command succeeded.
Frequently Asked Questions
Can I make someone an admin while they are already online?
Yes. An authorized administrator can run /setaccesslevel "PlayerName" "admin" in chat, or use the same command without the slash in the server console. Have the player reconnect if the new permissions are not visible immediately.
Do Project Zomboid admin commands work in single-player?
The commands described here are server-administration commands for a dedicated or hosted multiplayer server. A single-player game uses different debug and sandbox controls, so these server roles and RCON settings do not apply in the same way.
Where can I find a player’s SteamID for a ban?
Use your server’s player or moderation output to identify the account’s SteamID, then pass that numeric value to banid. Do not substitute a display name, because banid targets the Steam identifier directly.
Does save create a separate backup file?
save forces the live world to be written, but it is not a replacement for a separate backup and retention plan. Keep independent backups before experiments with teleportation, hordes, vehicles, or world-generation controls.