Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
FREEDOM251

Freedom251 › Blog › Linux gaming

How to Run a Rust Dedicated Server on Linux

By Freedom251 Team · · 12 min read

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

You can run a public or private Rust server on Linux with SteamCMD and the RustDedicated binary. Install Steam application ID 258550 into a stable directory, launch it with a unique identity and separate UDP game and query ports, then keep persistent settings in rust/server/<server.identity>/cfg/server.cfg. The procedure below follows Facepunch’s Linux server documentation, with production practices for firewalls, service supervision, updates, backups, and troubleshooting.

What you need before installing

A Rust server is a continuously running Linux process that stores its world and configuration on disk. Plan the installation before opening ports or creating files.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • A dedicated, unprivileged Linux account. Do not run the game server as root. The examples use an account named rust; substitute the account and home directory you actually create.
  • A persistent directory. Use a stable path such as /home/rust/rust. Avoid temporary directories or a home directory that is routinely deleted by a hosting image.
  • Outbound internet access. SteamCMD must download and validate the server files.
  • Firewall and router control. An internet server needs its game and query UDP ports allowed on the Linux host and, when behind a router, forwarded to the host.
  • Storage for world data and logs. The official documentation does not publish a universal CPU, RAM, disk, or player-capacity baseline. Capacity depends on the map, plugins, connected players, and your host, so measure resource use on the workload you intend to run.

Choose the server’s identity and ports in advance. The identity becomes part of the data path, and changing it later can make an existing world appear to have disappeared because Rust is looking in a different directory.

Install SteamCMD and the Rust server files

SteamCMD is both the installer and the update mechanism. Rust’s dedicated-server application ID is 258550. Keep SteamCMD in its own directory and install Rust into a sibling directory so updates are easy to audit.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
  1. Create the account and directories. As an administrator, create the unprivileged account and give it ownership of the installation paths. For example:
sudo useradd --create-home --shell /bin/bash rust
sudo -iu rust
mkdir -p /home/rust/steamcmd /home/rust/rust

If your distribution already has a suitable service account, use it instead of creating a second one. The important properties are that the account can read and write the Rust directory and cannot administer the operating system.

  1. Obtain and unpack the Linux SteamCMD archive. Download the Linux archive from Valve using your normal package or deployment process, place it in /home/rust/steamcmd, and extract it there. The archive filename can vary; the following assumes it is named steamcmd_linux.tar.gz:
cd /home/rust/steamcmd
tar -xzf steamcmd_linux.tar.gz
chmod +x steamcmd.sh

Do not run SteamCMD from the Rust data directory. Keeping the two locations separate makes it clear which files are the installer and which are the game server.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Install and validate Rust. Run SteamCMD from its directory and direct the installation one level up into ../rust:
cd /home/rust/steamcmd
./steamcmd.sh +force_install_dir ../rust +login anonymous +app_update 258550 validate +quit

The anonymous login is the documented installation method. app_update downloads the current server build, while validate checks the downloaded files. On completion, the Rust directory should contain the RustDedicated executable and the server’s supporting files.

Run the command again whenever you deliberately update the server. A clean stop before updating prevents files from being changed while the server is writing a save or log.

Create a launch script with explicit identity and ports

Launching through a script is safer than repeatedly typing a long command. It gives your service manager one stable entry point and keeps the essential runtime values visible.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Create /home/rust/runds.sh as the rust user:

#!/usr/bin/env bash
set -euo pipefail
cd /home/rust/rust
exec ./RustDedicated -batchmode 
  +server.identity rustserver 
  +server.port 28015 
  +server.queryport 28016 
  +rcon.port 28017 
  +rcon.password 'CHANGE_THIS_LONG_RANDOM_PASSWORD' 
  +rcon.web 1 
  -logfile rustserver.log

Make it executable:

chmod 750 /home/rust/runds.sh

What each startup value does

Value Purpose Operational guidance
-batchmode Runs the dedicated server without an interactive graphical interface. Appropriate for a headless Linux host.
+server.identity rustserver Names the instance and determines its data directory. Use a different identity for every server on the same host.
+server.port 28015 Sets the player/game connection port. Keep it distinct from the query port and allow it as UDP.
+server.queryport 28016 Sets the browser and query port. It must be a different UDP port and reachable from the internet for public listing.
+rcon.port 28017 Sets the remote-console port. Expose it only to trusted administration networks.
+rcon.password ... Authenticates RCON clients. Replace the example with a long random secret and protect the script’s permissions.
+rcon.web 1 Enables the web-compatible RCON mode. Disable RCON entirely if you do not need remote administration.
-logfile rustserver.log Writes server output to a file. Rotate or prune logs so they cannot fill the disk.

The exact binary name and startup behavior can change with a downloaded build. If the executable is named differently or reports a startup error, inspect the files installed by SteamCMD and use the name supplied by that build rather than guessing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep the command line focused on identity, ports, RCON, and process behavior. Put gameplay and presentation settings in server.cfg, where they are easier to review and preserve.

Put persistent settings in server.cfg

Create the configuration directory below the identity you selected:

mkdir -p /home/rust/rust/server/rustserver/cfg
nano /home/rust/rust/server/rustserver/cfg/server.cfg

Use plain variable names in this file. Do not copy the command-line + prefix into the configuration:

server.hostname "My Linux Rust Server"
server.description "A private community server"
server.maxplayers 20
server.level "Procedural Map"
server.worldsize 3500
server.seed 12345

Rust reads server.cfg at startup, and the file takes priority over command-line values. This makes it the right place for settings you expect to survive restarts. The command line can still provide the minimum required to identify and reach the process.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord | 6.35mm Jack, Durable Design, Stage and Home Studio Use, Low Noise Shielded Electric Cord for Bass, Keyboard, Amp, Mixer
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by

Settings that do not behave like ordinary cfg variables

Do not assume every console variable can be applied from server.cfg. Facepunch notes that some values, including certain weather-chance variables, must be applied after startup or through RCON. If a setting appears to be ignored, check the server log and apply it in the documented runtime context rather than adding more prefixes or duplicate lines to the file.

Multiple instances

For a second server, give it a new identity such as rustserver2, separate game, query, and RCON ports, a separate launch script or service, and its own server/<identity>/cfg/server.cfg. Reusing an identity or port causes instances to share data or fail to bind.

Open the correct UDP paths for players and the browser

Rust uses two separate network paths that are often confused:

Path Example from the script Protocol Why it matters
Game/player traffic 28015 UDP Players use it to connect to the server.
Query traffic 28016 UDP Services and the in-game browser use it to discover and query the server.
RCON administration 28017 RCON/web mode Optional remote administration; restrict it more tightly than player traffic.

Both server.port and server.queryport must be open and reachable, and they cannot be the same port. A server can run correctly on the host yet remain absent from public listings when the query path is blocked.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Host firewall

Allow the game and query ports as UDP in the Linux firewall. If RCON is enabled, allow its port only from the administrator IP ranges or private network that needs it. The exact firewall command depends on your distribution and firewall frontend; verify the resulting rules rather than assuming that opening a TCP port also permits UDP.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

Router forwarding

For an internet server behind a home or office router, forward the two UDP ports to the Linux host’s private address. Reserve that address in DHCP or configure a stable local address; otherwise a reboot can send the forwarding rule to a different machine. Do not expose router ports for a LAN-only server. Players on the same private network can use the host’s local address without making the service public.

Testing reachability

Start the server and inspect rustserver.log for successful binding and map initialization. Test from a network outside the host’s LAN, because testing only from the server itself does not prove that the router and public firewall are forwarding correctly. If direct connection works but browser listing does not, investigate the query port first.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Start the server interactively the first time

Run the script as the unprivileged account so you can see errors immediately:

cd /home/rust
./runds.sh

Allow the initial map and save creation to finish. Watch for a normal startup, the expected identity, the configured ports, and a steadily updating log. Stop it cleanly from the console when you need to edit settings or perform an update; killing the process during a save risks an incomplete world state.

Once the process starts, connect locally or from a test client using the server address and game port. A successful local connection proves the binary and configuration work; an external connection additionally proves the firewall and router path.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Keep the process running after logout or reboot

GNU Screen for a quick interactive host

Facepunch documents GNU Screen for keeping a live console attached while your SSH session closes:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
screen -S rust_server ./runds.sh

Detach with Ctrl-A, then D. Reconnect later with:

screen -x rust_server

Screen is useful for a small server or hands-on administration, but it does not by itself provide boot startup, crash recovery, or structured log rotation.

systemd for unattended operation

For a production or community server, use a service manager. Create /etc/systemd/system/rust.service as an administrator:

[Unit]
Description=Rust dedicated server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=rust
WorkingDirectory=/home/rust/rust
ExecStart=/home/rust/runds.sh
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Load and enable it:

sudo systemctl daemon-reload
sudo systemctl enable --now rust.service
sudo systemctl status rust.service
sudo journalctl -u rust.service -f

The launch script still writes the Rust log through -logfile; systemd’s journal provides an additional place to inspect startup and restart failures. Set up log rotation for the file and monitor available disk space. If you change the script or unit, run systemctl daemon-reload when the unit itself changes, then restart the service during a maintenance window.

Update safely and handle modded servers

SteamCMD is the supported installation and update path. A controlled update looks like this:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Warn players and stop the server cleanly.
  2. Back up the relevant identity directory, especially before a wipe or major version change.
  3. Run the SteamCMD update from its own directory:
cd /home/rust/steamcmd
./steamcmd.sh +force_install_dir ../rust +login anonymous +app_update 258550 validate +quit
  1. Start RustDedicated again and inspect the log for protocol, startup, or plugin errors.
  2. Test administrator access and a player connection before announcing the server as available.

Facepunch warns that putting SteamCMD directly in a startup script keeps the installation vanilla. That is convenient for an unmodded server, but it can overwrite or conflict with Oxide/uMod or other extensions. For a modded server, keep updating and launching as separate operations, copy or restore extensions according to their documentation, and verify plugin compatibility after every Rust update. Never assume that a plugin built for the previous server version remains safe after the binary changes.

Security, backups, and routine maintenance

  • Protect credentials. Replace the sample RCON password, keep the launch script readable only by the service account and administrators, and avoid placing secrets in world-readable deployment files.
  • Minimize exposure. Publicly forward only the game and query UDP ports. Keep RCON behind an IP-restricted firewall or private network whenever possible.
  • Back up by identity. The world and durable server data live below /home/rust/rust/server/rustserver for the example identity. Back up that directory before wipes, updates, configuration changes, and storage migrations.
  • Control disk growth. Retain useful logs, but rotate or delete old files. A full filesystem can prevent saves, updates, and service restarts.
  • Use maintenance windows. Announce restarts, stop the process cleanly, update, check logs, and reconnect with an administrator account before reopening the server to players.
  • Record changes. Keep a short change log for port assignments, identity names, configuration edits, wipes, and plugin versions. It reduces recovery time when a setting appears to have reverted.

Self-hosting versus managed infrastructure

Running the server yourself gives you direct control over Linux, ports, files, updates, and extensions. A managed provider trades some of that control for operational assistance. The official Rust documentation establishes the software and networking workflow, but it does not publish a hardware baseline, performance benchmark, or guaranteed player capacity, so compare offers using measurable requirements rather than a claimed player number.

Decision factor Self-hosted Linux Managed service
Monthly cost Separate the host, storage, bandwidth, and administration costs; no official total is specified. Usually presented as a recurring package price; verify what bandwidth, backups, and support include.
CPU, RAM, and disk You choose and monitor the resources, then scale when your workload shows a need. The provider assigns a plan; check whether resources are dedicated or shared and whether upgrades are possible.
Network and DDoS protection You configure the firewall and depend on the upstream network’s protections. Ask what mitigation is included, where it operates, and whether it covers game and query traffic.
Ports and mods Full control of port assignments, files, scripts, and extensions. Confirm that custom ports, file access, and the mod framework you use are supported.
Backups You design, schedule, test, and retain your own backups. Check frequency, retention, restoration access, and whether backups are stored separately.
Geographic latency Choose the machine location yourself. Select among the provider’s regions and verify where the actual game process runs.
Updates and automation You control maintenance timing and compatibility testing. Automation may be available, but confirm whether it can be disabled during mod testing.
Support You troubleshoot Linux, Rust, and networking yourself. Evaluate response times, escalation, and whether support covers the operating system or only the control panel.

Troubleshoot the failures that occur most often

Symptom Checks and corrective action
The process exits immediately Run ./runds.sh directly as the rust user, verify the path and executable permissions, then read rustserver.log and the service journal. Confirm that the downloaded build contains the expected binary.
Players cannot connect from outside Check that the Linux firewall and router both allow and forward the configured server.port as UDP. Confirm the forward points to the host’s current private address.
The server runs but is missing from the browser Check server.queryport separately. It must be a distinct, reachable UDP port; opening only the game port is insufficient for browser queries.
Settings revert after a restart Confirm the file is exactly server/<server.identity>/cfg/server.cfg, uses plain variable names without +, and is readable by the service account. Check for a second launch identity or duplicate configuration.
RCON does not work Verify the configured port, password, and web mode, then check that the firewall permits the administrator’s source address. Do not open RCON broadly just to make a test pass.
A modded server fails after updating Stop the server, identify the first plugin or protocol error in the log, and check that extension against the new Rust build. Restore the pre-update backup if the world or plugin stack cannot be made consistent.
A second instance will not start Give it a new identity and unique game, query, and RCON ports. Two processes cannot bind the same port, and sharing an identity mixes their data.

Final deployment checklist

  • Dedicated unprivileged Linux account owns the installation.
  • SteamCMD is separate from the Rust directory, and App ID 258550 installed successfully.
  • Launch script uses an explicit identity and a stable working directory.
  • Game and query ports are different UDP ports and are forwarded only when public access is intended.
  • server.cfg is under the correct identity and contains durable settings without + prefixes.
  • RCON is optional, protected by a strong secret, and restricted by firewall rules.
  • Screen is used for quick interactive hosting, or systemd supervises unattended operation.
  • Logs are retained and rotated, and identity data is backed up before wipes and major updates.
  • Updates run separately from launch, with plugin compatibility checked after each Rust release.

With those pieces in place, Linux provides a predictable Rust hosting workflow: SteamCMD manages the files, the launch script defines the instance, server.cfg preserves its settings, and the network and supervisor configuration determine whether players can find and reliably use it.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Linux gamingLinux serverRust dedicated serverRustDedicatedself-hostingserver.cfgSteamCMD

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.