Owner and moderator: the two auth levels
Rust has no admin password. Rights are tied to a player's SteamID64, and the server keeps a list of who holds which level. Facepunch's command table describes ownerid as making a player the highest admin auth level, 2, and moderatorid as the second highest, 1. The matching removeowner and removemoderator commands take the same SteamID64 and take the level away again.
The catch for a fresh server is that these commands themselves require admin, so the first owner cannot be added from a normal game client. It has to come from the server side: the server's own console window, an RCON connection, or the users.cfg file while the server is stopped. After that, the owner can add everyone else from the game.
Facepunch ranks owner above moderator but does not publish a list of which commands each level may run. Keep owner for yourself and whoever pays for the server, give helpers moderator, and try a moderator's everyday commands once before you rely on them.
- ownerid SteamID64: auth level 2, the highest
- moderatorid SteamID64: auth level 1, the second highest
- removeowner SteamID64 and removemoderator SteamID64: take the level away
- The first owner has to be added from the server console, RCON or users.cfg
Find your SteamID64
Every admin command identifies players by their SteamID64, a 17 digit number like the wiki's example 76561198123456789, not by the name shown in game. Names change and can be copied. The number cannot.
The quickest way to find it is from the server itself. Join the server, then run users in the server console or over RCON. Facepunch's table describes it as returning the players on the server with their Steam64ID and names. The status command gives the same list with ping, time played and IP address added, which is also useful later when you are dealing with a problem player.
Copy the number exactly. A wrong digit does not produce an error, it simply grants rights to a different Steam account or to nobody.
Grant admin from the console or over RCON
Facepunch's wiki gives the steps for a server that is running. On Windows the server console window accepts commands directly. On Linux, the wiki points out, the console is not interactive, so you send commands with an RCON client instead.
The wiki adds that there is no need to save the change: it is done automatically now. Older guides, including plenty still in search results, tell you to follow ownerid with server.writecfg. That command still exists, and the wiki describes it as writing server convars and settings to the cfg files, so it does no harm when you have changed other settings in the same session. It is no longer what makes your admin rights stick.
- Join the server from your game so your account is known to it
- In the server console or RCON, run users and copy your SteamID64
- Run ownerid 76561198123456789 "YourName" with your own number and name
- Disconnect and reconnect, since the wiki says the auth level only applies after you rejoin
- Check the server console or log file for a line saying you have auth level
- Press F1 in game and try a harmless admin command such as noclip
Or edit users.cfg while the server is stopped
The second method in Facepunch's wiki works only when the server is shut down. Inside the server's identity folder there is a cfg folder, and in it a file called users.cfg. Each admin gets a line of their own, in the form ownerid 76561198123456789 "TomSmith" "", using moderatorid instead of ownerid for a moderator.
The identity is the name given with server.identity on the start line, so the path is server/<identity>/cfg/users.cfg inside the server's folder. On a rented server the file is reached through the file manager or SFTP, and the Rust server config generator shows where the identity and ports are set on the start line.
Save the file, start the server, join, and check for the auth level line exactly as above. Editing while the server runs is the mistake to avoid: the wiki only describes this method for a stopped server.
Set up RCON before you need it
RCON is how you run console commands without being in the game, and on Linux it is the only way to reach the console at all. Facepunch's wiki describes three settings for it on the start line. rcon.port is a TCP port that RCON clients connect to, shown as 28016 in the wiki's example. rcon.password is the remote password, with the wiki's own note to change it. rcon.web set to 1 is the connection type the wiki suggests.
Treat the RCON password like the keys to the server, because anyone who has it can run owner commands. Use a long password that is not used anywhere else, share it with nobody who does not need it, and change it if a former admin leaves. The wiki also notes that Facepunch's online web console is not served over HTTPS, so prefer an RCON client you run yourself.
The ports matter for everything else too. The game port is UDP 28015 by default and the query port is the one that puts the server in the browser list. Our guide to hosting a Rust server covers ports, wipes and plugins in more depth.
- +rcon.port 28016: the TCP port RCON clients connect to
- +rcon.password: change it from anything in an example
- +rcon.web 1: the connection type Facepunch suggests
- The Linux server console is not interactive, so RCON is how you send commands there
The admin commands you will actually use
These come from Facepunch's table of useful commands, all marked as requiring admin. Type them in the F1 console in your game once you have an auth level, or in the server console or RCON without being in the game.
Server-only commands can also be run from a game client with admin if you put sv in front of them, and the clearest example is quit: sv quit saves and closes the server. For bans, ban works on a player who is on the server, while banid takes a SteamID64 and works when the player is offline. Both take an optional reason and a duration written as a value followed by a time letter, which the wiki shows as 1M7d5m.
- kick Steam64ID or name, with an optional reason: removes a player, who can rejoin straight away
- ban steam64ID name reason duration: bans a player who is on the server
- banid Steam64ID name reason duration: bans by ID, without the player being online
- unban Steam64ID: lifts a ban; bans and banlistex list the current bans
- users and status: list the players on the server with their SteamID64
- sv say message: broadcasts a message to chat from the server
- teleport name or ID, and teleport with two players to move the first to the second
- noclip and god true or false: flight and damage immunity for yourself
- env.time 1-24 and weather.load clear: set the time of day and the weather
One ban list for several servers
If you run more than one Rust server, Facepunch documents a way to share bans between them. Point server.bansServerEndpoint at a web API you host, and every server checks each joining player's SteamID64 against it. The API answers with a reason and an expiry time, a 404 means the player is not banned, and a flag in the reply can mute a player instead of banning them.
Two more settings control the edge cases. server.bansServerFailureMode decides what happens when the check fails: 0 lets players in, 1 turns them away. server.bansServerTimeout is the time allowed for the request, five seconds by default. The wiki adds that the check only blocks entry, so a player already on the server when you ban them still needs a kick.
For a single community server the built-in ban commands are enough. When you are ready to run one, the Rust game page shows what a server with full console access includes.