# Rust Admin Commands Every Server Owner Needs

> ownerid, kick, ban, banid, teleport, god, noclip, inventory.give, server.save and server.writecfg in Rust, with exact syntax and the mistakes to avoid.

URL: https://badgyver.com/blog/rust-admin-commands/

Running a Rust server means typing commands: to make yourself an admin, to deal with a cheater at three in the morning, to check a report, to save before a restart. Most lists of admin commands online are copied from each other, and some carry mistakes that matter, like a ban duration format that the game does not understand and quietly turns into a permanent ban.

**Give yourself owner with ownerid, learn kick, ban and banid with a single-unit duration such as 7d, use teleport, god and noclip to investigate, and finish every change with server.writecfg and server.save.** Everything else builds on those.

This guide is for server owners and their moderators. Every command here was checked against Facepunch’s wiki and against the server’s own code as of autumn 2026, including the exact order of arguments, which is where most copied lists go wrong.

### Where to type them

There are three places to run an admin command:

- **The server console**, the window or terminal the server runs in. It has full owner rights.

- **RCON**, a remote console over the network, set up with rcon.port, rcon.password and rcon.web. On Linux hosts this is usually how you reach the console.

- **The in-game console** (F1) once you are an admin. Commands the server knows are sent to it.

If you forget a name, find searches every command and variable: find ban lists everything with “ban” in it, with a short description.

### Owners and moderators

Rust has two admin levels. An **owner** (auth level 2) can do everything. A **moderator** (auth level 1) can use most admin commands but cannot make new owners: the game refuses ownerid from a moderator.

#### Making yourself an admin

- Join the server, then run users in the server console. It lists everybody online with their Steam64 ID.

- Run ownerid 76561198000000000 "YourName" "server owner" with your own ID. The name and the reason are optional but make the list readable later.

- For staff, use moderatorid with the same arguments.

If the player is online, the rank applies at once. Reconnecting is the simple way to make sure your game has picked it up. To remove a rank, use removeowner or removemoderator with the Steam64 ID.

Ranks are stored in users.cfg, in the cfg folder of your server identity (server/<identity>/cfg/users.cfg). You can edit that file by hand, one line per person, but only while the server is stopped.

#### Seeing who is online

- status: Steam64 ID, name, ping, time connected and IP of every player.

- players: a shorter list with ID, name and ping.

- sleepingusers: players who are logged out, asleep in the world.

- combatlog <Steam64 ID>: the recent damage a player dealt and took. The first thing to read when someone reports a suspicious kill.

### Kick, ban and unban

kick <player> "reason" removes a player, who can rejoin straight away. The kick is announced in chat; skick does the same silently. kickall "reason" kicks everybody, which is useful before maintenance.

For bans there are two commands:

- ban <player> "reason" [duration] for somebody online, by name or ID.

- banid <Steam64 ID> "name" "reason" [duration] for anyone, online or not. This is the one to use after reading a report about a player who already left.

Leave the duration out and the ban is permanent. If the player is on a family-shared copy of the game, both commands also ban the account that owns the game.

**The duration is one number and one letter.** The server reads s, m, h, d, w, M (months) and Y (years), and a bare number as hours. So 7d, 36h or 1M work. A combined value such as 1d12h, which some lists suggest, does not parse, and when the server cannot read a duration it bans *permanently*. For a day and a half, write 36h.

unban <Steam64 ID> lifts a ban, and banlistex shows the ban list with names and reasons. After an unban, run server.writecfg: in the server code as of this autumn, unbanning removes the entry from memory but does not write users.cfg by itself.

When a banned player leaves a base behind, entity.deleteby <Steam64 ID> removes every entity that player placed. It is permanent, so check the ID twice.

### Moving around: teleport, god and noclip

#### Teleporting

- teleport <player> takes you to a player. With two names, teleport <player1> <player2> moves the first player to the second.

- teleport2me <player> brings a player to you.

- teleportpos "1200, 15, -800" moves you to exact coordinates. printpos tells you where you are now.

- teleport2marker takes you to the marker you placed on your map. The quickest way to cross the map.

- teleportany <entity> takes you to a random entity of a type, which is handy for checking events.

#### God mode, noclip and the free camera

Type these in your own F1 console as an admin:

- god true makes you invulnerable and stops hunger and thirst; god false turns it off.

- noclip toggles flying through walls and terrain. Turn god on first: noclip will not stop you being shot.

- debugcamera detaches the camera from your body. Your character stays where it was.

### Giving items and spawning entities

inventory.give <item> [amount] gives you an item by its short name: inventory.give rifle.ak 1, inventory.give ammo.rifle 128. A partial name works when only one item matches.

inventory.giveto <player> <item> [amount] gives an item to someone else, for example inventory.giveto Badgyver wood 1000.

The game’s own help text for inventory.giveto shows the item first and the player second, but the code reads the **player first**. Write the player’s name or ID before the item. And be aware that every give is announced in chat to the whole server, including the ones you give yourself, so players will see it.

inventory.giveall <item> [amount] gives an item to everyone online, which is useful for events or compensating players after a crash.

To place an entity rather than an item, type spawn <name> in F1 while looking at the spot: spawn minicopter.entity, for example. The name is matched against prefab names; if it matches several, the console lists them, so you can type part of a name to find the exact one. Look at something and type ent kill to remove it.

### Talking to players

say Server restarting in 5 minutes (in full, global.say) posts a message in chat as SERVER. Use it before every restart, wipe or kick wave. It is the difference between a community that trusts its admins and one that thinks the server crashed.

### Saving, config and restarts

Three commands keep your work from vanishing:

- server.save saves the world immediately and waits until it is written. Run it before anything risky.

- server.writecfg writes every setting changed from the console to serverauto.cfg and saves users.cfg, your owners, moderators and bans.

- restart [seconds] "message" restarts the server after a countdown, 300 seconds if you give none. quit shuts it down; it refuses any arguments.

![An RCON console after server.save: navmesh saved, "Saved 120,597 ents" and "Saving complete"](https://media.badgyver.com/blog/b7ef1abfc8-rust-admin-commands-1.png)

*Real output of server.save from a test server.*

One detail catches owners out. At startup the server reads serverauto.cfg first and then server.cfg, so a value in server.cfg wins. If something you changed in the console keeps resetting after a restart, look for the same setting in server.cfg.

### Plugin permissions with Oxide

On a modded server, plugins usually check permissions rather than admin rank. With Oxide, these are the commands you will use most:

oxide.grant user <name or ID> <permission>
oxide.revoke user <name or ID> <permission>
oxide.grant group <group> <permission>
oxide.group add <group>
oxide.usergroup add <name or ID> <group>
oxide.show perms
Oxide also accepts the short o. prefix, as in o.grant, and o.reload <plugin> reloads a plugin after you edit its config. Granting to a group such as admin and adding your staff to it is easier to manage than granting person by person.

![An RCON console after oxide.reload BadConsoleFilter: compiled, unloaded and loaded again](https://media.badgyver.com/blog/8201e07ab4-rust-admin-commands-2.png)

*Real output of reloading a plugin with Oxide.*

### The checklist

- Your own ID added with ownerid, your staff with moderatorid.

- You know status, players and combatlog for checking reports.

- Bans written with a single-unit duration, or none for permanent.

- server.writecfg after any rank, ban or unban change.

- God mode on before noclip.

- global.say before every restart, and server.save before anything risky.

- Settings that must survive restarts kept in server.cfg.

### Where Badgyver comes in

I make Rust maps and plugins for server owners, and two of the plugins are free. [Bad Console Filter](/plugins/bad-console-filter/) hides the engine spam that buries the lines you actually need in the console, and removes NPCs stuck in navigation-error loops. [Better NPC Plus](/plugins/better-npc-plus/) sets up NPC spawns on custom maps by itself. When your server is ready for players, list it free on the [Rust server list](/servers/) on this site.
