How to Host a Rust Dedicated Server - A Step by Step Guide

There are hundreds of great Rust server hosts out there, but you may not even need one. If you want to get a better return for your money, you should consider Rust hosting on your own server. This guide will help you get a Rust server up and running from scratch. Let’s dive right in!

Intro

After playing for some time, moving to your own dedicated Rust server is a natural evolution. Though there are plenty of vibrant communities out there, a server customized to your needs with a wipe cycle that suits you is always preferable. This guide will cover how to set up a dedicated Rust server, both via a Virtual Private Server (VPS) and on your own PC.

First, it’s worth emphasising that a VPS is often the best choice if you’re planning to get serious. Though it’s tempting to go use your own or a spare computer, hardware requirements for large servers may add up to more than hosting fees, while having less uptime and dedicated support staff. They can be surprisingly affordable while offering you the exact same degree of customization and freedom.

Purchasing and Setting up a VPS

Our recommended VPS provider if your located in the US is TurnKey internet, who provides a number of different specification machines with great uptime, gigabit internet speeds, and reasonable prices. For the purpose of the guide, we’re configuring our dedicated Rust server on its most popular T120 subscription, which provides 12 CPU cores, 120GB RAID-10 storage, and 12GB RAM for $34.99 per month. Cheaper plans are available to target lower population servers.

If you need a server outside the US or in another city, we'd recommend one of A2 Hosting, Hostwinds Managed VPS or Unmanaged VPS. The process should be similar.

On TurnKey Internet's checkout page, users will see an option to choose the server location, with a choice of New York or California. You’ll also be able to choose the starting OS, which includes anything from Windows Server to CentOS 7, Ubuntu Server, Linux Mint, Ubuntu Desktop, or a custom ISO. Here, server specs can also be adjusted in a modular fashion.

After purchase, users will receive an email with details for their client area. Under products and services, you can click the relevant VPS for more detail. On the left sidebar, users will note a link to their VPS control panel, alongside a username and password. Logging in with the correct details will present users with a variety of maintenance features, from restart, shutdown, and boot, to the ability to change the OS, reconfigure networking, and view the server via a web client.

As well as through the web, you can access the server via Windows’ built-in Remote Desktop tool. Simply enter the IP address listed in the Cloud Server Control, using Administrator for a Windows host and Root for Linux. The root password can be found under the ‘Additional Information’ tab of the product in the TurnKey internet Client Area.

A word of warning: DO NOT share the root password with anyone. it grants full control of the server to anyone who has it.

You can now use your server as you would a normal PC.

Creating a dedicated Rust server in Windows

If you just want to try things out, or play with only a few friends, a self-hosted server could be the better option. The good news is that whether you’re using your own hardware or a VPS, the process is exactly the same. It’s quite easy to set up a vanilla Rust server, though you will need to ensure you have a PC or VPS that’s powerful enough.

System requirements

Pinning down exact numbers for a Rust dedicated server is difficult. The amount of RAM, CPU cores/speed, and crucially, internet bandwidth, will vary greatly depending on the number of players.

At a minimum, users need 4GB of RAM, though 8GB+ is highly recommended. Even at 50 people, players 16GB can be advantageous. CPU requirements are harder to determine. You’ll want at least a dual core at 3.4GHz or higher, with 32GB+ of SSD storage.

Network is another very important consideration. There are no official connection recommendations, but the bottom line is that it needs to be very fast. The general consensus is 1Mbps download/upload per player for a stable experience, though your mileage may vary depending on mods, in-game events, and more.

Finally, you’ll need an OS that can run Rust. There’s quite a degree of freedom here, with support for Windows 7, 8.1, 10, and Server 2016 as well as various Linux distributions such as Ubuntu, Debian, Fedora, or CentOS.

Installing with Rust Server Manager on Windows

In Windows, we have a couple of options for Rust server installation, but the most user friendly is a community-made tool called Rust Server Manager. Though later versions of the application are paid, you can grab an unmaintained version from the official Discord.

After unzipping the server manager in a dedicated folder, run RSM.exe and modify the Server name and variables to your liking. Then, click on the Server Installer tab, open Steam, and choose Install Steam CMD.

Now you can press Install / Update Server and Main Branch. Optionally, install Oxidemod if you’re planning a non-vanilla server. You can also go through the menus to configure backups, connection IP/Ports, and running on startup. After that’s all done, press Start Server in the Server Config tab.

Installing with SteamCMD on Windows

Due to its lack of maintenance, it’s possible you’ll run into issues with Rust Server Manager. As a result, it’s useful to cover how to perform the install manually with SteamCMD, and this will also give you a better understanding. First, create a folder for your server, in our case, F:/TestRustServer.

Now, we can download SteamCMD and extract it into its own dedicated folder. Run the exe file as an administrator, wait for the Steam> prompt, and type the following:

login anonymous
force_install_dir “f:\TestRustServer”

app_update 258550
quit

Configuring your server in Windows

Now that the server is installed, we need to configure it. You can run RustDedicated.exe, but that won’t take on any custom settings, such as the server name, max player count, port, IP address, and more. For that, we need to craft a special .bat file.

Enter your rust install folder and create a new text file. This is the point where many of the changes come down to preference, but there are some things you’ll want to be aware of.

  • The parameter +server.ip should be set to 0.0.0.0 unless you have multiple IPs.
  • 28015 is the default port for +server.port. This may make your life easier later on.
  • RCON stands for Rust Console, which is where you’ll be doing the day-to-day management of players and generally changing things on the fly. It’s important that you remember to set a secure password with +rcon.password.
  • +server.tickrate specifies the refresh rate of your server, but going above 30 may cause issues.

You can find more information about the basic config parameters on the valve developer community wiki.

For the purposes of this tutorial, we’re going to create a text document with the following:

@echo off

:start

RustDedicated.exe -batchmode +server.ip 0.0.0.0 +server.port 28015 +server.tickrate 30 +server.hostname "TestRustServer" +server.seed 45325 +server.maxplayers 20 +server.worldsize 1000 +server.saveinterval 600 +rcon.ip 0.0.0.0 +rcon.port 28016 +rcon.password "ChangetoSecurePassword" +rcon.web1 -logfile "serverlog.log"

Goto start

Click File>Save as and set “Save as type” to All files. Then, name the file ‘rustserver.bat’ and hit Save. To initialize your server, simply double click the .bat file.

You can join your server in the main game by opening the console with F1 and entering: client.connect localhost:28015. For a VPS, simply replace "localhost" with your VPS IP or hostname.

Creating a Dedicated Rust Server in Linux

When it comes to Linux, setup for a dedicated Rust server is a little different. The server is managed via a tool called LinuxGSM, rather than SteamCMD directly. As you’d expect, this tool is command-line oriented, but it also requires a number of dependencies. Our test server will be Ubuntu-based, but LinuxGSM also supports Debian, Fedora, and CentOS, for which you can find dependency commands here.

In Ubuntu, though, we can type:

sudo dpkg --add-architecture i386; sudo apt update; sudo apt install mailutils postfix curl wget file bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux lib32gcc1 libstdc++6 libstdc++6:i386 lib32z1

With the dependencies installed, we can successfully set up our rust server. First, though, it’s smart to set up a new user specifically for our server.

Type sudo adduser rustserver and Enter a secure password. It’s very important that this isn’t a password you’ve used on other sites and is sufficiently complex. You can press Enter to skip the additional information fields.

Now we can get started with LinuxGSM. Enter the following:

su – rustserver

wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh rustserver

Once it has downloaded, we can install our server with:

./rustserver install

As it installs the server, LinuxGSM will check if you have all of the required dependencies installed. If you get any errors during installation, its likely because one of these is missing, so pay close attention. We’ve yet to fully configure our server, but it’s worth booting it up to ensure everything is working correctly. Type:

./rustserver start

After a successful start, quickly turn off the server with ./rustserver stop. As we’re yet to choose a secure RCON password, we don’t want to leave this up for an extended period of time.

On the topic of configuration, it’s a little more difficult with LinuxGSM. Unlike Windows, we don’t craft a dedicated .bat file, and many parameters aren’t editable by default. To edit the config, we first have to copy it to our server instance. Navigate to the config location with the command cd lgsm/config-lgsm/rustserver.

Type ls to get a list of files in the folder. In our case, there’s common.cfg, _default.cfg, and rustserver.cfg. _default.cfg contains the usual Rust settings, but the changes won’t hold if we edit this file directly. Instead, copy the text to rustserver.cfg with:

catdefault.cfg >> rustserver.cfg

Now we can edit the config of our server with: nano rustserver.cfg which opens the configuration file in the nano text editor utility. You can find explanations of the main parameters in the ‘Configuring your Windows Server’ section above. For now, the most immediate ones you’ll want to change are the RCON password, to a secure one, the Server name, and the max player count. 

You can save any changes with Ctrl + O and then pressing Enter, before exiting with Ctrl + X.

Navigate back with cd, and then run ./rustserver start

You can now join your server in the main game by opening the console with F1 and entering: client.connect localhost:28015. For a VPS, simply replace the localhost with your VPS IP or hostname.

Port forwarding

Though our dedicated Rust server is up running, there’s a small amount of work left to ensure other players can connect to it. Port forwarding will ensure compatibility, but varies significantly depending on your home router and general setup. On our Linux VPS, we can set up our firewall correctly with the following commands:

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 28016 -j ACCEPT
iptables -A INPUT -p udp --dport 28015 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -j DROP
apt-get install iptables-persistent -y
invoke-rc.d iptables-persistent save


At home, the easiest way is to through your router config page. You can view documentation on your specific router here, or via a simple google search of "[Router Name And Model] port forward". For Rust, you’ll want to open port 28016 on TCP, and 28015 on UDP. 28016 is for access to the Rust console, RCON, and 28015 the server itself.

Conclusion and maintenance tips

Now that you’ve setup a dedicated Rust server, it should be available for any to join. However, though you’re well on your way as a server admin, there are a number of maintenance considerations. Running a secure, successful server requires attention over a period of time, rather than just at setup.

For user management, you’ll want to set your Steam account as an owner. You can find your SteamID by inputting your profile url here, before typing the RCON command:

ownerid <17_DIGIT_STEAMID> “AdminName”

It’s also important to remember to update your server OS whenever new security patches are released, change your passwords regularly, and check the resource usage and temperatures of your hardware/connection.

You should also be backing up either your VPS or general server files regularly. You can do this with server.backup server command on Windows or ./rustserver backup on Linux. This will ensure you have a fallback when something inevitably goes wrong.

Resources & Further Help

This guide is fairly comprehensive, but there are some things it doesn’t cover. These include general server commands, RCON, and automated backup processes. For those, you can check out the following resources:

Have any comments or issues? Suggestions to make this guide better? Email us at hey@bestrustserverhosting.com.