Admin commands let server owners moderate players, debug worlds, capture cinematic footage, and tune gameplay. They are powerful — and strictly off-limits on community/official servers. Use them only on private, dev, or sandbox servers you own.
1. Becoming admin
Rust uses three auth levels:
| Level | Role | Granted by |
|---|---|---|
| 0 | Regular player | default |
| 1 | Moderator (most admin commands, no ownerid) | moderatorid |
| 2 | Owner (full access, including granting admin) | ownerid |
Run from RCON, F1 console (if already auth 2), or write directly into server/ while the server is offline.
| Command | Arguments | Effect |
|---|---|---|
ownerid | | Grants auth level 2 |
moderatorid | | Grants auth level 1 |
removeowner | | Removes owner status |
removemoderator | | Removes moderator status |
server.writecfg | — | Persists users.cfg and convars to disk |
After granting, the targeted player must reconnect for the auth level to apply.
2. Player management
| Command | Arguments | Effect |
|---|---|---|
kick | "name" or "reason" | Drops the player from the server |
ban | "name" "reason" | Bans by name (current connection) |
banid | "name" "reason" | Bans by SteamID (works offline) |
unban | | Removes a ban |
unbanid | | Same as unban; clears banlist entry |
banlistshow | — | Lists all bans |
global.banlist | — | Same as above, full list |
listplayers | — | Shows connected players + SteamIDs |
status | — | Players, ping, IPs, slots |
mute | | Mutes chat |
voicemute | | Mutes voice chat only |
unmute / unvoicemute | | Reverses the mute |
teleport | "name" | Teleport to player |
teleport | "playerA" "playerB" | Teleport A to B |
teleportlos | "name" | Teleport to whoever you look at |
teleport2me | "name" | Drag a player to you |
teleport2marker | — | Teleport yourself to your map marker |
teleportpos | (x,y,z) | Teleport to coordinates |
inventory.give | | Give yourself an item |
inventory.giveto | "name" | Give another player an item |
inventory.giveid | | Give by item ID |
kill | — | Suicide (self) |
3. Spectator and dev commands
| Command | Arguments | Effect |
|---|---|---|
spectate | "name" or | Enter spectator view of player |
respawn | — | Exit spectate / respawn as fresh player |
noclip | — | Toggle no-collision fly mode |
fly | — | Hover/fly mode (no clip through walls) |
debugcamera | — | Toggle freecam (positions at your head) |
debugcamera_save | | Save current cam position/angle/FOV |
debugcamera_load | | Recall saved cam |
debugcamera_savetofile | | Write .cam file to camsaves/ |
debugcamera_lock | 0/1 | Freeze cam target |
gametip.showgametip | "text" | Push popup tooltip to clients |
gametip.hidegametips | — | Clear tooltips |
hidehud | true/false | Toggle entire HUD (screenshots) |
env.time | 0-24 | Set time of day instantly |
env.progresstime | true/false | Freeze or run world clock |
world.rainprobability | 0.0-1.0 | Adjust rain frequency |
4. World and server commands
| Command | Arguments | Effect |
|---|---|---|
server.save | — | Force a save snapshot |
server.writecfg | — | Persist convars to server.cfg |
sleep | — | Force-sleep self (test sleeper logic) |
awake | — | Wake yourself |
ent kill | — | Destroy entity you look at |
ent who | — | Show owner SteamID of looked-at entity |
ent auth | — | List authed players on TC/door looked at |
ent lock / ent unlock | — | Lock/unlock the entity you look at |
find | | Search convars/commands by substring |
weather.load | | Load preset (e.g. clear, storm) |
weather.report | — | Dump current weather state |
weather.fog | 0.0-1.0 | Override fog density |
weather.rain | 0.0-1.0 | Override rain intensity |
world.time | 0-24 | Same as env.time |
del | | Delete prefab when ent kill won't |
5. F1 console — non-admin client commands
The F1 console is open to everyone for client-side tweaks (no auth required):
| Command | Effect |
|---|---|
graphics.quality 0-6 | Master quality preset |
graphics.shadowquality 0-2 | Shadow detail |
graphics.contactshadows true/false | Cinematic shadow detail |
gfx.ssaa true/false | Super-sample AA |
fps.limit | Cap framerate |
chat.add "msg" | Inject text into chat box |
audio.master 0-1 | Master volume slider |
audio.voices 0-1 | Voice-chat volume |
ui.show_map_markers true/false | Toggle map markers |
effects.contactshadows false | Performance quick-win |
perf 1-7 | Show on-screen perf overlay |
6. Common server.cfg variables
| Variable | Default | Effect |
|---|---|---|
server.hostname | "My Rust Server" | Display name in browser |
server.description | "" | Browser tooltip / Steam page |
server.maxplayers | 50 | Max concurrent slot count |
server.players | (read-only) | Current connected count |
server.tickrate | 30 | Game-loop tickrate (≈30 is sweet spot) |
server.worldsize | 4000 | Map size in meters |
server.seed | random | Map seed |
server.saveinterval | 600 | Seconds between auto-saves |
server.pve | false | Disable PvP if true |
ai.move | true | Set false to freeze NPCs (perf win) |
ai.tickrate | 5 | NPC tickrate |
decay.scale | 1.0 | Multiplier on base decay rate |
craft.instant | false | Cheat: skip craft timer |
Always server.writecfg after editing live.
7. RCON setup
RCON (Remote Console) is the out-of-game protocol used by RustAdmin, Battlemetrics, and web tools.
Launch parameters (add to your .bat / startup script):
+rcon.ip 0.0.0.0
+rcon.port 28016
+rcon.password "long-random-secret"
+rcon.web 1
rcon.web 1 enables the WebSocket protocol (required by RustAdmin and Battlemetrics; the older legacy TCP protocol is deprecated).
RustAdmin desktop — free Windows tool by Facepunch-adjacent devs. Open Settings -> Add server, enter IP, RCON port, password. Gives a chat tab, console, banlist UI, scheduled commands.
Battlemetrics RCON — paid tier ($x/month/server) gives multi-admin permissions (no shared password), 3-month chat retention, ban federation across servers, scheduled tasks, and Discord webhooks. Running admin commands while logged into Battlemetrics is the safest workflow for community servers.
Open the RCON port (28016/TCP) in your firewall, and never reuse the game port or share the password.
8. Useful one-liners
# Clean up all corpses around you (entity scope)
ent kill # (looking at one)
del assets/.../player_corpse.prefab
# Freeze the world at noon for a build session
env.time 12 ; env.progresstime false
# Stop AI movement to claw back FPS on a dev box
ai.move false
# Disable gibs (no debris on destroy) — client perf
effects.gibs false
# Build-menu free-build (admin only)
debug.nodecay true # turn off TC upkeep
ent unlock # unlock a door without keys
# Hot save before testing something risky
server.save ; server.writecfg
# Instant-day for screenshots
env.time 8 ; weather.load clear ; hidehud true
9. Hard rules
- Admin commands grant god-tier PvP advantage (noclip, spectate, give weapons, see TC auth). Using them on a server where you play with others is cheating.
- Battlemetrics auto-flags owners/moderators who play on their own community servers — most large communities ban this on principle. Maintain a separate "play" account if you administer publicly.
- Don't share RCON credentials over Discord or screenshots. Treat the password like an SSH key.
server.writecfgis required to persist changes; commands issued live revert on restart otherwise.- Auth level 1 (moderator) cannot grant further admins — only owners can.
Use admin powers on personal dev servers, build servers, or scrim servers where everyone knows you are admin.
10. Sources
- Facepunch Wiki - Creating a server: https://wiki.facepunch.com/rust/Creating-a-server
- Facepunch Wiki - Useful Console Commands: https://wiki.facepunch.com/rust/useful_commands
- Facepunch Wiki - Debug Camera: https://wiki.facepunch.com/rust/Debug_Camera
- Corrosion Hour - RUST Admin Commands List: https://www.corrosionhour.com/rust-admin-commands/
- Corrosion Hour - The RUST Admin Toolbox: https://www.corrosionhour.com/the-rust-admin-toolbox/
- Rust Wiki (Fandom) - Server Commands: https://rust.fandom.com/wiki/Server_Commands
- Battlemetrics - Rust RCON: https://www.battlemetrics.com/rcon/rust
- Nodecraft - Setting up the RustAdmin RCON tool: https://nodecraft.com/support/games/rust/setting-up-the-rust-admin-rcon-tool
- Shockbyte - Rust Admin Commands List: https://shockbyte.com/help/knowledgebase/articles/rust-admin-commands-list
Want more? Console Commands (player-side)
11. Entity management — ent commands
The ent family operates on whatever entity your crosshair is pointed at. It is the workhorse for cleaning up grief builds, inspecting bases, and debugging. You must be admin/owner and looking directly at the target.
| Command | Effect |
|---|---|
ent kill | Destroys the entity you are looking at (a wall, door, deployable, vehicle) |
ent who | Prints the owner Steam ID and authorization data of the entity |
ent auth | Lists every player authorized on a tool cupboard or lock you look at |
ent lock / ent unlock | Locks or unlocks a door or storage box you look at |
ent setflag <flag> <true/false> | Toggles entity flags such as On, Open, Locked |
ent god true | Makes the looked-at entity invulnerable |
ent fixhealth | Sets the entity to full health |
ent kill_immediate | Destroys the entity without the usual gib/debris effects |
Why ent who matters: the most common admin task on a community server is resolving "someone griefed my base" tickets. Point at the offending wall, run ent who, and you have the exact Steam ID of who placed it — proof for a ban or a build removal. Combine with ent kill to remove the grief instantly. For mass cleanup of an abandoned build, the Oxide plugin route (covered on the Oxide page) is cleaner, but vanilla ent kill handles one-offs fine.
12. Debug camera — full control reference
The debug camera detaches your view from your body. It is essential for screenshots, spectating cheaters from angles they cannot see, and inspecting base interiors. Enter and exit with debugcamera; while inside, these convars shape its behavior:
| Command | Effect |
|---|---|
debugcamera | Toggle the debug camera on/off |
debugcamera_lock 1 | Locks the camera in place — no movement or FOV change (0 to unlock) |
debugcamera_guide 1 | Shows composition guide lines (rule-of-thirds) for screenshots |
camspeed <value> | Sets debug camera fly speed |
camlerp <value> | Smooths camera movement — higher values give cinematic glide |
cammouselerp <value> | Smooths camera rotation |
cambind | Saves the current camera position to a slot for instant recall |
debug_anim 1 | Shows animation debug overlays for entities in view |
The practical admin use is anti-cheat spectating. Combine debug camera with the Oxide Vanish plugin (you are invisible to the suspect) and you can sit inside a base watching a player's screen-share-like behavior. Without Vanish, debug camera alone still lets you watch from outside walls — a suspected wallhacker who tracks you through solid stone while you are in debug camera has just convicted themselves.
13. Spawning items and entities precisely
Two separate systems exist: give puts items in an inventory, and spawn places entities in the world.
inventory.giveto <steamid> <shortname> <amount>— gives an item to a specific player by ID. Use the exact item shortname (e.g.rifle.ak,ammo.rifle,wood,metal.refined).inventory.give <shortname> <amount>— gives the item to yourself.inventory.givearm <shortname> <amount>— places the item directly into your hotbar/belt.spawn <prefab>— spawns a world entity (ascientistjunkpile.cNPC, abear, aminicopter.entity) at your crosshair.spawn.fill_groups/spawn.fill_populations— repopulates the map's animal and node spawns.
The shortname rule: Rust commands take the internal shortname, never the display name. "Assault Rifle" is rifle.ak; "High Quality Metal" is metal.refined; "Garage Door" is door.hinged.metal. The cross-checked reference is the Item Database page and rustlabs.com. Spawning the wrong prefab name simply returns "not found" — it is harmless, just retry with the correct string.
14. Advanced player management
| Command | Effect |
|---|---|
teleport <player1> <player2> | Teleports player1 to player2's location |
teleportpos <x,y,z> | Teleports you to exact world coordinates |
teleport2owned | Teleports you to a base owned by the player you target |
teleport2marker | Teleports you to your map marker |
global.setinfo "name" "value" | Sets a client info string |
cassettes.enabled | Server toggle for the cassette/boombox audio system |
global.kick "<name>" "<reason>" | Kicks a player with a stated reason |
global.ban "<name>" "<reason>" | Permanently bans by name (logs the Steam ID) |
global.banid <steamid> "<name>" "<reason>" | Bans by Steam ID — works even if the player is offline |
global.unban <steamid> | Removes a ban |
global.banlistex | Prints the full ban list with reasons |
Ban by ID, not by name. Names can be changed and can contain characters that break the command parser. Always resolve the Steam ID first (via ent who, the F7 report, or players) and use global.banid. A name-ban can be evaded with a Steam name change before the ban applies; an ID ban cannot.
15. Environment and time control
Admins can freeze or accelerate the day/night cycle and weather, which is invaluable for events, screenshots, and testing.
| Command | Effect |
|---|---|
env.time <0-24> | Sets the time of day directly (12 = noon, 0/24 = midnight) |
env.progresstime <true/false> | Pauses or resumes the day/night cycle |
weather.rain <0-1> | Forces rain intensity |
weather.fog <0-1> | Forces fog density |
weather.wind <0-1> | Forces wind strength |
weather.clouds <0-1> | Forces cloud cover |
env.addtime <hours> | Advances time by a number of hours |
For a roleplay or build server, a common setup is env.time 12 followed by env.progresstime false to lock permanent daytime. For an event night you might do the reverse and lock midnight with forced fog for atmosphere. All weather convars default back to natural simulation once you set them back to -1 or restart the cycle.
16. server.cfg variables that change the game feel
Beyond the basics, these convars define how your server actually plays. They belong in server.cfg (loaded at boot) or can be set live and persisted with server.writecfg.
| Variable | Default | Effect |
|---|---|---|
server.tickrate | 30 | Server simulation rate. Higher is not better — 30 is the sweet spot; too high overloads the CPU. |
decay.scale | 1.0 | Base decay multiplier. 0.5 = bases last longer; 0 = decay off entirely (common on PvE). |
decay.upkeep_period_minutes | 1440 | How long upkeep lasts — 1440 minutes is 24 hours. |
server.maxplayers | varies | Population cap. Setting it well above hardware capacity causes lag. |
server.saveinterval | 300 | Seconds between world saves. Lower = less rollback on a crash, more disk I/O. |
server.fpslimit / fps.limit | 256 | Server frame cap. Lowering to ~120 reduces needless CPU strain. |
craftingspeedmultiplier | 1 | Global craft speed. Values above 1 are the hallmark of a "modded" feel. |
server.radiation | true | Toggle environmental radiation server-wide. |
spawn.max_density | — | Scales node/animal world spawn density. |
The workflow: set variables live with the console while testing, confirm the server feels right, then run server.writecfg once. That command bakes every current convar value into the on-disk config so the settings — and critically your ownerid entries — survive a restart. Forgetting server.writecfg after granting yourself ownership is the single most common new-admin mistake: your admin rights vanish on the next reboot.