VGKAMI
Advertise Get listed

Game Guides

Project Zomboid Server Admin Commands and How to Use Them

October 26, 2026 11 min read

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

  1. Start the dedicated server for the first time with the desired administrator username and password, using -adminusername and -adminpassword if you want to set them non-interactively.
  2. Connect with that account and confirm access by running /help in chat, or inspect the server console output.
  3. 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.

  1. Run /help and locate the command.
  2. Run /help <command> to see required arguments, optional flags, and accepted role restrictions.
  3. Test disruptive commands with a noncritical player or a backup when possible.
  4. 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 /command in in-game chat, but command in 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.item form. Base.Axe is valid where base.axe may fail.
  • Booleans: commands that accept a toggle generally use true or false; 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 teleport or /help teleportplayer.
  • teleportto x,y,z sends 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.

  • alarm triggers an alarm event.
  • chopper triggers the helicopter event.
  • gunshot triggers a gunshot event.
  • lightning and thunder trigger their respective effects.
  • startrain starts rain and stoprain ends it.
  • startstorm starts a storm, while stopweather ends active weather.
  • Build 42 documentation includes worldgen controls for world-generation operations.
  • releasesafehouse surrenders 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.

  1. Set a strong, unique RCON password.
  2. Restrict the RCON listener with your firewall or network rules so it is not exposed unnecessarily to the public internet.
  3. Connect with an RCON client such as rcon-cli, mcrcon, the Python zomboid-rcon library, or the pz-admin GUI.
  4. Send console syntax without the in-game slash: save, not /save.
  5. Test with showoptions or 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

  1. Note the server’s exact build number before publishing a command reference.
  2. Run /help and compare the available names with your reference.
  3. Run /help <command> for every command your staff will use frequently.
  4. 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?

  1. Identify the target: use players and confirm the exact name, SteamID, or IP before acting.
  2. Check syntax: run /help <command> on the live server, especially after an update.
  3. Warn the community: use servermsg before weather events, horde spawns, option reloads, or restarts.
  4. Protect the save: run save before risky world edits, and use quit for a clean shutdown.
  5. Use least privilege: give moderators only the role and tools they need; reserve full admin access for trusted operators.
  6. Record the action: note the command, target, reason, and time so another administrator can audit or reverse it.
  7. 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.