For admin commands to work on your own Rust server, you have to register yourself on the server as its owner using your Steam ID. This guide shows how to find the ID, how to add and remove an admin, how to set up RCON for remote management, how to secure it and which commands you'll use most often.
What you'll need
- A running Rust server
- Access to the server console, or to its files (and the ability to stop the server)
- A Steam account that owns Rust
- About 20 minutes
Rust at StormHost
We're still preparing Rust servers. This guide also applies to a Rust server on your own VPS (installation guide).
Steam ID64#
Steam ID64 is the unique number of your Steam account. It has 17 digits and starts with 7656119, for example 76561198000000000. Unlike your nickname, it never changes, which is why Rust and plugins use it to identify players.
How to find it (following Steam Support's instructions):
- Open your profile in Steam.
- Click Edit Profile.
- Look at the Custom URL field:
- If you've never set a custom URL, you'll see a link with your ID below the field:
https://.steamcommunity. com/ profiles/ 76561198000000000 - If you do have a custom URL, delete the text in the field (don't save) and a link with your numeric ID appears below it.
- If you've never set a custom URL, you'll see a link with your ID below the field:
On the server, you can get the IDs of connected players with the users command in the server console:
<slot:userid:"name">
76561198000000000:"Jan"
1usersThe status command gives a more detailed listing (including ping and IP address).
Owner or moderator?#
Rust has two admin levels (auth levels):
| Level | Command | Auth level | What it can do | Who to give it to |
|---|---|---|---|---|
| Owner | ownerid | 2 | The highest level: all of the game's admin commands, including adding more owners. | Yourself and the people closest to you whom you fully trust. |
| Moderator | moderatorid | 1 | The second-highest level: most admin commands (kick, ban, teleport…), but not all of them – for example, a moderator can't add another owner. | Experienced moderators. |
Oxide automatically puts owners into the admin permission group, and Carbon additionally puts moderators into the moderator group. For regular moderators, consider whether permissions for specific plugins (Vanish, Admin Radar) would be enough instead of a game admin level – that way they don't get noclip or item spawning. See Permissions on a Rust server.
Adding an admin#
With a command while the server is running#
Enter this in the server console (or over RCON):
text ownerid 76561198000000000 "Jan" "server owner"ownerid– adds an owner (level 2). For a moderator, usemoderatorid.76561198000000000– the player's Steam ID64."Jan"– a name for your own reference (it's stored in the file next to the ID)."server owner"– an optional note on why the player has the rights.
Outputtext Added owner Jan, steamid 76561198000000000To be safe, write the configuration to disk:
text server.writecfgNewer Rust versions save the change automatically, but the command doesn't hurt.
Disconnect from the server and reconnect. The admin level is loaded when you connect. The server console then shows a line containing
has auth level.
By editing the users.cfg file#
If you can't get to the console, edit the admin file directly. The server has to be stopped, otherwise it overwrites the file when it saves.
Stop the server.
Open the
server/file in the server root.<IDENTITY>/ cfg/ users. cfg <IDENTITY>is the name of the server's folder (theserver.identityparameter, defaultmy_server_identity). If the file doesn't exist, create it.Add a line for each admin:
server/ <IDENTITY>/ cfgcfg/ users.cfg ownerid 76561198000000000 "Jan" "server owner" moderatorid 76561198000000001 "Petra" "moderator"The format is the same as for the command: level, Steam ID64, name, note.
Save the file and start the server.
Removing an admin#
Enter this in the server console, depending on the level:
text removeowner 76561198000000000 removemoderator 76561198000000001Save the configuration:
server.writecfg.The player loses the admin level the next time they connect. If they're online right now, kick them with the
kickcommand.Oxide: the player stays in the
adminpermission group. Remove them manually:text oxide.usergroup remove 76561198000000000 adminCarbon syncs the group by itself the next time the player connects.
Change the RCON password if the admin you're removing knew it.
RCON: what it is#
RCON (remote console) is the server's remote console. You connect to it with a program or a web page and send commands as if you were sitting at the server console. On Linux it's the main way to manage the server: Facepunch points out that the console of a Linux server isn't interactive and you can't type commands into it.
Rust uses WebSocket RCON (the rcon.web 1 parameter, the default). The older “Source RCON” is deprecated. RCON uses the TCP protocol, the game uses UDP. If you don't set an RCON port, the server uses the same number as the game port. It's clearer to give RCON its own port, usually 28016.
Setting up RCON#
RCON is configured with the server's launch parameters. Facepunch recommends setting ports and RCON there, not in server.cfg.
+rcon.port 28016 +rcon.password "<STRONG_PASSWORD>" +rcon.web 1| Setting | What it does | Recommended value | When to change it |
|---|---|---|---|
rcon.port | The TCP port RCON listens on. | 28016 | When another server uses the port or your host assigned you a different one. |
rcon.password | The password for connecting. Whoever knows it controls the server. | At least 24 random characters | Always change the default or sample password. Change it whenever an admin leaves. |
rcon.web | 1 = WebSocket RCON (recommended), 0 = the deprecated Source RCON. | 1 | Only for a very old tool that can't do WebSocket. |
rcon.ip | The IP address RCON listens on. Empty = all addresses. | leave empty | When the server has several IP addresses and you want RCON on only one. |
Replace <STRONG_PASSWORD> with your own password (without the angle brackets). You can create one with the password generator. Use only letters and digits – quotes, spaces and characters like $ or ` are awkward to write in a launch command.
On a game host, the RCON port and password are usually managed by the provider and shown in the server management (at StormHost, in the customer area). In the StormHost customer area, the RCON password of game servers (so far for Minecraft) is protected by the Secrets permission: it's visible to the owner and to anyone you grant that permission when sharing the service (sharing a service). We'll add how this works for Rust once we launch Rust servers.
Connecting over RCON#
RustAdmin#
RustAdmin (opens in a new window) is the most widely used tool for managing Rust servers. The Windows desktop app is free (it only runs while your computer is on); the paid RustAdmin Online version runs on the web and on your phone.
- Download and launch RustAdmin.
- Add a server and enter the server's IP address, the RCON port (e.g.
28016) and the RCON password. - Connect. You'll see the server console, the player list and the chat.
Facepunch web console#
Facepunch runs a simple web RCON console at http://. You enter the address in the form 203.0.113.10:28016 and the password. The page runs over unencrypted HTTP: a browser won't allow an unencrypted WebSocket connection (ws://) from an HTTPS page, so open it via http://.
Carbon web panel#
If you have Carbon, you can use its WebControlPanel instead of RCON (you enable it with c.webpanel.setenabled true; it has its own port and accounts with different permissions). The steps are in the Carbon documentation (opens in a new window).
The in-game F1 console#
As an owner, you can type admin commands straight into the in-game F1 console. Some commands meant for the server console need the sv prefix in the game, for example sv say "Restart in 5 minutes" (according to the Facepunch wiki).
RCON security#
A strong password. Anyone who knows the RCON password can shut the server down, ban players or delete the world.
RCON port only for your IP address. The WebSocket RCON connection isn't encrypted. On your own VPS, allow the port only from your address, in UFW for example:
bash ufw allow from 198.51.100.25 to any port 28016 proto tcpfrom 198.51.100.25– only from this IP address (use your own public IP).to any port 28016 proto tcp– to the RCON port, TCP protocol.
You can set the same restriction in the firewall in the customer area (the Source IP / range field).
Don't connect over public Wi-Fi; the password travels over the network unencrypted.
Don't share your screen with an RCON tool open on a stream.
Change the password whenever a team member who knew it leaves.
Useful admin commands#
| Command | What it does | Note |
|---|---|---|
users | Lists connected players with their Steam IDs. | |
status | Players with ID, name, ping, connection time and IP address. | |
say "Text" | Sends a chat message as the server. | In the game via F1: sv say "Text". |
kick <PLAYER> "<REASON>" | Kicks a player; they can rejoin right away. | Enter the player by name or Steam ID. |
ban <PLAYER> "<REASON>" [duration] | Bans a connected player. | Without a duration, the ban is permanent. |
banid <STEAM_ID> "<NAME>" "<REASON>" [duration] | Bans a player by ID, even if they're not online. | |
unban <STEAM_ID> | Lifts a ban. | |
banlistex | List of bans with reasons and names. | |
mute <PLAYER> / unmute <PLAYER> | Mutes or unmutes a player in chat. | |
teleport <PLAYER1> <PLAYER2> | Moves the first player to the second. | With just one name, it moves you to that player. |
server.save | Saves the world immediately. | Before shutting down and updating. |
server.writecfg | Writes the configuration (admins, bans) to disk. | |
find <TEXT> | Searches commands and variables by text. | E.g. find decay. |
The ban duration is written as a number followed by a unit letter; the Facepunch wiki gives the example 1M7d5m (1 month, 7 days, 5 minutes). Bans are saved in the server/<IDENTITY>/cfg folder.
Replace <PLAYER>, <STEAM_ID>, <NAME>, <REASON> and <TEXT> with real values, without the angle brackets. Square brackets ([duration]) mark an optional value.
In-game moderation commands#
You enter these commands as an admin in the in-game F1 console. They help when dealing with reported players, building disputes and suspected cheating (descriptions according to the Facepunch wiki).
| Command | What it does |
|---|---|
noclip | Toggles free flight through objects. |
god true / god false | Invulnerability (no damage, hunger or thirst). |
debugcamera | A free camera detached from your character. |
ent who | Prints the Steam ID of the player who built the object you're looking at. |
ent kill | Destroys the object you're looking at. |
ent lock / ent unlock | Locks or unlocks the lock (code or key lock) you're looking at. |
combatlog <STEAM_ID> | The player's recent hits: whom they hurt and with what, and who hurt them. Helps when you suspect cheating. |
teleport2me <PLAYER> | Brings a player to you. |
teleportpos "x, y, z" | Moves you to coordinates. |
printpos | Prints your position (coordinates). |
admintime 12 | Sets the time of day just for you (-1 returns to server time). Handy for checking things at night. |
Use them only to manage the server, not for your own gameplay. Players quickly notice abuse of admin powers and leave.
Running an admin team safely#
- Give the owner level (
ownerid) only to yourself and at most one other person you fully trust. - Give moderators
moderatorid, or just permissions for specific plugins (invisibility, radar) if they don't need the game's admin commands. - Only owners know the RCON password. Moderators don't need it when they have in-game rights.
- Every team member has their own Steam account; never share accounts.
- When someone leaves the team: remove their level (
removeowner,removemoderator), take them out of permission groups and change the RCON password. - On a game host, share server management through permissions in the server management, not by handing over your account password. In the StormHost customer area, use the Access tab for this (sharing a service).
Troubleshooting#
I don't have admin rights after ownerid#
- You didn't reconnect. The level is loaded when you connect.
- You entered the wrong ID (for example a number from a different account, or a nickname). Check it with the
userscommand while you're connected. - You edited
users.cfgwhile the server was running and the server overwrote it. Stop the server and make the change again. - You edited
users.cfgin a different identity folder than the one the server uses. Check theserver.identityparameter.
The RCON client can't connect (timeout)#
- The RCON port isn't allowed in the firewall (TCP). On a VPS, check both UFW and the firewall in the customer area.
- You're entering the game port instead of the RCON port.
- The server hasn't finished starting yet. RCON starts responding once startup is complete (
Server startup completein the log). - The tool uses the old Source RCON, but the server has
rcon.web 1.
RCON says the password is wrong#
The password contains characters that the launch command altered (quotes, spaces, $). Use a password made only of letters and digits. On a game host, check that the provider's settings don't overwrite the password.
The web console won't connect#
You opened it via https://. The browser then blocks the unencrypted ws:// connection. Open the address via http://.
A moderator can't use some command#
Some commands require the owner level (2). Either run the command for them, or consider whether you really want to give them the owner level.
Summary
- You'll find your Steam ID64 in your Steam profile (Edit Profile › Custom URL) or with the
userscommand. - Owner =
ownerid(level 2), moderator =moderatorid(level 1). Reconnect after adding. - Without a console, edit
server/while the server is stopped.<IDENTITY>/ cfg/ users. cfg - RCON:
rcon.port, a strongrcon.password,rcon.web 1; allow the port only for your IP. - After removing an admin in Oxide, also take the player out of the
admingroup and change the RCON password.