Rust Admin Commands That Actually Matter (2026)

by tommygun · Updated July 20, 2026 ·admingetting-started

Rust has around 2,000 console commands. You will use about twenty of them. This page is sorted by how often you actually reach for one, with config recipes at the bottom.

New to running a server? Start with the setup guide first, and if you prefer video, SRTBull's Rust Admin Academy walks through most of the admin basics.

How to run commands

Press F1 in game for the console. Admins and moderators can run admin commands there. You can also send them through RCON (BattleMetrics, RustAdmin) or put convars in server.cfg so they persist through restarts.

The difference matters: a command does something once. A convar sets a value, and if you want it to survive a restart it belongs in server.cfg.

Setting up admins

The first commands you run on a new server. Both take a Steam64 ID, and both accept an optional name and reason for your own records.

Command What it does
ownerid <steamid> <name> <reason> Full admin (auth level 2). Everything, including granting other admins
moderatorid <steamid> <name> <reason> Moderator (auth level 1). Moderation commands, not server config
removeowner <steamid> Revoke admin
removemoderator <steamid> Revoke moderator
server.writecfg Save current convars and the admin/ban list to disk

Run server.writecfg after granting access. It saves the user list, so without it your new admin is gone on restart.

writecfg writes convars to cfg/serverauto.cfg, not the server.cfg you hand-edit. The server loads serverauto.cfg first and server.cfg second, so server.cfg wins any conflict.

That order causes a specific trap. Set a convar live, writecfg it, and it lands in serverauto.cfg. If the same convar is also sitting in your server.cfg with the old value, the next restart silently reverts your change. If a setting keeps reappearing after you thought you changed it, that is why. Keep the convars you care about in one file.

The ones you'll use constantly

These are worth memorizing.

Command What it does
kick <player> <reason> Remove a player from the server
ban <player> <reason> [duration] Ban someone who is connected. Accepts a name, SteamID, or IP
banid <steamid> <username> <reason> [duration] Ban by SteamID whether they are online or not
unban <steamid> Lift a ban
mute <player> / unmute <player> Silence or restore voice and chat
say <message> Broadcast a server message
spectate <name or steamid> Watch a player. Strip your gear first, it kills your character
respawn Leave spectate and respawn
teleport2marker Teleport to your map marker. The one you'll run most
teleport2me <player> Bring a player to you
teleport <player> <target> Send a player to another player
teleportlos Teleport to whatever you're looking at
ent kill Delete the entity you're looking at. The workhorse for cleaning up junk
combatlog Your recent damage events. Admins can add a player name to read theirs
save Force a world save before you do anything risky

ban and banid are not interchangeable. ban resolves a name, SteamID, or IP, but only against connected players: if the target has disconnected you get "Player not found" and nothing happens. banid takes a raw SteamID and works whether or not they are online, which is what you want for a cheater who already left. Use ban while they're on, banid after.

Both ban the family-share owner too. If the account is family-shared, the owning account gets banned in the same action. That closes the obvious re-entry route, and explains appeals from someone insisting they were banned for nothing.

Both take an optional duration as a final argument, so you can issue a temporary ban instead of a permanent one. An expiry in the past is rejected.

spectate kills your character on execution, so drop your gear and clear your craft queue first. Full workflow in the cheater guide.

ent works on whatever you're looking at, and kill is only one of its subcommands. The full set is kill, lock, unlock, open, close, who, auth, upgrade, downgrade, setgrade, repair, maxhp, debug, undebug. ent who and ent auth are the two worth remembering after kill: who built this, and who is authed on it. If you already have a network ID, entid <subcommand> <id> does the same thing without needing to look at it.

combatlog on its own prints your damage log. As an admin you can pass a player to read theirs, and it works on sleepers, so a disconnected target is still readable. Add --json if you want it machine-readable, and combatlog_outgoing filters to damage they dealt.

There are also console commands for listing players (players, status, playerlist). In practice you won't use them much: if you run BattleMetrics its player list and session history are faster and searchable, which is one more reason it's the first thing to set up.

Occasional but useful

Not daily, but you will want them eventually.

Command What it does
inventory.give <item> <amount> Give yourself items
inventory.giveto <player> <item> <amount> Give items to someone else
inventory.giveall <item> <amount> Give an item to everyone online
inventory.clearinventory <player> Empty a player's inventory
entity.spawn <prefab> Spawn an entity where you are looking
env.time <0-24> Set the time of day
env.progresstime <true/false> Stop or start time advancing. Freeze it at day for a build server
env.addtime <hours> Advance the clock
server.backup Back up the server folder
server.readcfg Reload config files without restarting
inventory.givebp <item> Give a blueprint
teaminfo <player> See a player's team, useful for group-ban decisions
queue Current join queue
skipqueueid <steamid> Let a SteamID skip the queue
killplayer <player> Kill a specific player
global.restart Restart the server with the standard countdown
kickall <reason> Disconnect everyone, useful right before a restart
server.fps Server frame rate. First thing to check when players report lag
banlistex Ban list with reasons and usernames
mutelist Who is currently muted

The give and spawn commands take shortnames, not display names, so it is rifle.ak rather than "Assault Rifle". uMod publishes the full item shortname list, which is the page to keep open the first few times you use these.

Rare, but good to know they exist

You may go a whole wipe without touching these.

Command What it does
entity.deleteby <steamid> Destroy every entity a player built. Read the warning below before using
debug.puzzlereset Reset monument puzzles, optionally within a radius
global.clearallsprays Remove all player spray tags
cleardroppeditems Clear dropped loot from the ground
global.teleportpos <x y z> Teleport to exact coordinates
global.teleport2death <player> Jump to where a player died
growableentity.growall Instantly mature all plants
sleepingusers List sleepers on the server
debug.foodspoilingspoilall Spoil all food on the server
injure <player> / recover <player> Put a player into the wounded state, or pick them back up
sleep / wakeup <player> Force a player to sleep or wake
quit Shut the server down without restarting it
global.serverinfo Server info dump including uptime and entity count

Use entity.deleteby with extreme caution. It destroys everything that SteamID placed, and you have no easy way to tell what that includes. A base they built weeks ago may have been raided, taken over, and lived in by someone else since. Deleting a griefer's work can quietly delete an innocent player's home. Prefer ent kill on the specific offending entities, and save first.

Creating events on demand

Handy for running something for your players, testing, or restarting an event that failed to fire.

Command What it does
heli.call Send a patrol helicopter to a grid coordinate
heli.calltome Order the active helicopter to fly to you
supply.drop Spawn a supply drop at your position
supply.call <grid> Call a supply drop to a grid coordinate
bradleyapc.spawnroadbradley Spawn a Bradley on the road. Note the parent is bradleyapc, not bradley
bradley.quickrespawn Force an immediate Bradley respawn
spawn.cargoshipevent Start the cargo ship event immediately
spawn.ch47event Trigger a CH47 Chinook scientist event
cargoship.egress Send the current cargo ship away early
travellingvendor.spawn Spawn a Travelling Vendor at your position
eventschedule.triggerevent <name> Trigger any scheduled event by partial name
eventschedule.killallevents Cancel every running event
events.print_server_events List every registered event and its schedule
events.set_event_enabled <name> <true/false> Turn a specific event on or off

Weather

Weather convars take a 0 to 1 value and override the natural cycle until you reset them.

Command What it does
weather.rain 1 Force rain. 0 stops it
weather.fog 1 Force fog
weather.wind 1 Force wind
weather.thunder 1 Force thunder
weather.load <preset> Apply a named weather preset
weather.report Print current weather state
weather.reset Clear every override and return to the natural cycle

Run weather.reset when you're done, otherwise your server is stuck in whatever you set until someone notices.

Config recipes

Common jobs, with the exact commands. Set them live to test, then either add them to server.cfg or run server.writecfg.

Boost animal spawns

Population is set per species, as a value per square kilometre. Defaults in brackets:

bear.population 4          # (2)
boar.population 8          # (5)
chicken.population 4       # (3)
stag.population 6          # (3)
polarbear.population 2     # (1)
wolf2.population 4         # note the 2

It is wolf2.population, not wolf.population. Wolves were reworked and the convar name carries the version. Setting wolf.population fails silently. The same per-square-km convar exists for crocodile, panther, tiger, zombie, snakehazard, and ridablehorse.

Vehicles use the same pattern but are counted server-wide rather than per km²: minicopter.population, modularcar.population, traincar.population, motorrowboat.population, hotairballoon.population.

After changing any of them, repopulate without waiting for a wipe:

spawn.fill_populations

There are also two global scalars that multiply every population at once, useful if you want more of everything rather than more of one thing:

spawn.max_density 2     # density ceiling at high player count, default 1
spawn.min_density 1     # density floor at low player count, default 0.5

Disable or throttle AI

ai.move false     # AI stops moving, other logic still runs
ai.think false    # disables AI decision-making entirely, supersedes the rest
ai.npc_enable false   # stop NPCs spawning at all

ai.think false is the big hammer. Useful for a test or build server, and for clawing back performance on a struggling box. Dropping chicken.population also helps, chickens are a surprising share of AI load.

Turn decay off or slow it down

decay.scale 0     # no decay at all
decay.scale 0.5   # half speed

decay.upkeep_period_minutes controls how long a base survives without upkeep, default 1440 (24 hours).

Improve server performance

server.saveinterval 600   # save less often, default 300
fps.limit 60              # cap server FPS on weak hardware

Then check server.fps under load. The numbers that matter:

  • 60 is ideal. That's what you want a healthy server sitting at.
  • 20 is the floor. Below 20, vehicle handling becomes noticeably bad.

If you're sitting under 20 with players on, you are CPU-bound. Rust is single-thread heavy, so more cores will not save you, you need faster ones. See the hosting section of the setup guide.

Anti-cheat enforcement

Rust's built-in AntiHack has convars worth knowing before you start blaming plugins for false kicks.

antihack.flyhack_protection 3     # default 3
antihack.speedhack_protection 3   # default 3
antihack.noclip_protection 3      # default 3
antihack.enforcementlevel 1       # 0 none, 1 kick, 2 ban. Default 1
antihack.userlevel 2              # auth level exempt from checks. Default 2
antihack.reporting false          # log violations to console

Turn antihack.reporting true on temporarily when players report being kicked for nothing: it prints the violations so you can see which check is firing. antihack.userlevel 2 is why admins do not trip these; drop it to 0 if you want your own account checked too.

This is Facepunch's own protection, and it is not a substitute for catching cheaters properly.

Switch the server to PVE

server.pve true    # default false

Server-wide PVE, no plugin needed. Most PVE servers still run a plugin for finer control (raid rules, event PVP zones), but the vanilla toggle exists.

What you cannot do without plugins

Gather rates and day/night length are not vanilla server settings in current Rust, and neither are kits, teleport requests, or homes. They need plugins, covered in the admin plugin list.

Crafting is the exception people get wrong in both directions. craft.instant true is a real vanilla convar and makes all crafting finish immediately. What vanilla cannot do is a partial speedup, so a 2x craft server still needs a plugin.

Commands vs plugins

Vanilla commands handle moderation and world state. They do not triage your report queue, screen connecting accounts, or give you a graduated response for a caught cheater. That is where ReportMe and Payback fit, and both are covered in the cheater guide.

Questions: discord.fragmod.com.

Frequently asked questions

How do I increase animal spawns on my Rust server?
Population is set per species per square kilometre in server.cfg, for example "bear.population 4" or "boar.population 8". Note that wolves are "wolf2.population", not "wolf.population", setting the latter does nothing. Run "spawn.fill_populations" afterwards to repopulate without waiting for a wipe. The global scalars spawn.max_density and spawn.min_density multiply every population at once.
How do I stop animals and NPCs moving on my server?
Run "ai.move false" to stop AI entities moving while leaving their other logic running, or "ai.think false" to disable AI decision-making entirely. ai.think supersedes the other toggles. Both are useful for testing and for reclaiming server performance.
How do I turn off decay in Rust?
Set "decay.scale 0" to disable decay completely. Values below 1 slow it down, so "decay.scale 0.5" halves it. Put it in server.cfg so it survives a restart.
How do I change gather rates?
Gather rate is not a vanilla server setting in current Rust, it needs a plugin such as GatherManager. Crafting is different because "craft.instant true" is a real convar that makes crafting finish immediately, but a partial speedup like 2x still needs a plugin.
How do I see who killed someone?
Run "combatlog" from the F1 console for your own damage log. As an admin you can add a player name or SteamID to read theirs, and it works on sleeping players too. Use "combatlog_outgoing" for only the damage they dealt.
Why does the ban command say "Player not found"?
The ban command only works on players who are currently connected. It resolves a name, SteamID, or IP, but only against the active player list, so a cheater who already disconnected cannot be banned this way. Use "banid " instead, which works whether or not they are online.
Does banning someone also ban their family-share account?
Yes. Both ban and banid also ban the family-share owner account when the banned account is family-shared, which closes the obvious route back onto your server.
Does server.cfg or serverauto.cfg take precedence?
server.cfg wins. The server reads serverauto.cfg first and server.cfg second, and the later file overwrites anything the earlier one set. This means a convar you set live and saved with server.writecfg, which goes into serverauto.cfg, will be reverted on restart if the same convar is also in your hand-edited server.cfg.
How do I make myself invisible as an admin?
Vanilla Rust has "debug.invis", but the free Vanish plugin is better for actually observing players because it removes you from their network group entirely. Use Vanish for cheater investigations.

Leave a comment

Comments are moderated and appear after approval.