Hosting your own server provides a tremendous flexibility for server configuration and game play. However, like most of Rust, documentation is scarce and frequently out of date. This section is based on RustBlog's hosted servers.
We switched to the Ubuntu distribution for our Linux server due to built in support for steamcmd. Previously we used Fedora, which allowed manual configuration, but not the steamcmd package. Any Linux distribution should work for you however.
The two best guides for running your own server are
RCON - Executing Commands
Per the VALVE Developer Community Documentation, RCON "allows console based commands to be issued to the server via 'remote console', or RCON". RCON is not natively supported on Windows or Linux systems and thus requires the use of a tool. Currently for Rust, there are two implementations for communicating with a Rust Server, regular RCON Protocol, and Web Sockets. The modes are currently mutually exclusive and are specified at server start.
Source RCON Protocol
Source RCON Protocol is an extremely simple and easy to use protocol for sending remote commands to a server. The protocol is well documented at https://developer.valvesoftware.com/wiki/Source_RCON_Protocol. As of Devblog 155 (2017-04-13), this protocol is disabled by default for Rust Servers, and will eventually be disabled completed. The use of "+rcon.web 0" is necessary when starting the server to enable it.
As of at least 2018-02-02, Rust servers do not properly respond to commands sent via this protocol. The command will execute, however the server will not send a complete response. Note this was fixed as of Dev Blog 196 (2018-02-01).
Error Details:Error sending rcon reply: System.NullReferenceException: Object reference not set to an instance of an object at Facepunch.RCon+RConClient.Reply (Int32 id, Int32 type, System.String msg) [0x00000] in
Help / Issue Resolution
Server does not show up in server list
If you are hosting your own server, you need to open the corresponding ports on your router to let people connect to your server. In the case of Rust, you need both TCP and UDP for the port open in order for the server to properly display in the server list and allow players to connect.
steamclient.so: cannot open shared object file: No such file or directory
Before running RustDedicated make sure that you run:We originally found this from https://github.com/GameServerManagers/LinuxGSM/issues/1171export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`dirname $0`/usr/games/rust_server/RustDedicated_Data/Plugins/x86_64
Server Upkeep Changes Do Not Take Effect
We have found that while Administrators can change upkeep settings (such as decay.bracket_0_costfraction) via the F1 console, the server will not actually use the newly set values. Adding them to server.cfg and rebooting the server however does work.