You rented a Rust server. Here's everything I set up before the first player connects, in the order I do it. This is the general-admin companion to my cheater catching guide and the admin plugin list.
What you actually rented
Three tiers of Rust hosting, and it pays to know which one you're on:
- Game host: you rent a Rust server through a control panel. Cheapest and simplest. The panel handles installs, updates, and wipe scheduling.
- VPS: a virtual slice of a machine. More control, more setup, and you're sharing hardware with other tenants.
- Dedicated machine: the whole box. This is where servers end up as they grow. Rust is heavy on single-core CPU, and once you're stacking population and plugins, shared hardware stops keeping up. Facepunch's own official servers have traditionally run on OVH dedicated machines.
Starting on a game host or VPS is the right call: it's cheaper, and you don't know yet whether your server will hold population. I primarily use GameServerKings and recommend them; a lot of high-profile servers run there. I've also heard good things about Shockbyte, and they hold the official Rust hosting partnership. Plan to outgrow whatever you start on. The domain setup below is what makes that move painless.
First boot: your server listing
Your listing in the server browser is your storefront. Set the hostname, description, and header image before you worry about anything else, and put your wipe schedule and Discord in the description. Players filter hard, so tag accurately (region, wipe cadence, group limit).
Server browser rules of the road
Three things about the browser that nobody tells new admins:
- "Show empty servers" is off by default. In the browser's Filters tab. With zero players online your server is invisible to almost everyone. It's not broken; it's a filter. Expect the early days to be slow because of it.
- Never fake your population. Bots and fake player counts get your server blacklisted by Facepunch: delisted from the browser entirely. There is no faster way to end a server.
-
The Community tab flag. Oxide sets
"Modded": trueinoxide/oxide.config.jsonby default, which lists you in the Modded tab. If your server is genuinely vanilla gameplay and runs admin tools only (nothing players can use, no visual or mechanical changes), you can set it tofalseand appear in the Community tab. Misrepresent a modded server there and you're risking the same blacklist. Admin tools like Payback are explicitly allowed on Community and Official servers; kits and gather rates are not what the Community tab is for.
Install Oxide
Oxide is the plugin framework: drop .cs files into
oxide/plugins/ and they load. Your game host panel installs it in one
click; keep it updated, especially after forced wipes.
There are two frameworks now. Oxide is simpler, older, and faster to get started with. Carbon has the bells and whistles. Oxide will be easier starting out, and it's what this guide assumes. I don't use Carbon for anything, so I can't recommend it either way.
RCON and BattleMetrics, day one
Hook up BattleMetrics before your first wipe: RCON console, player session history, ban management across servers, and the player-intelligence data that powers everything in my cheater catching workflow. Set up your organization and a ban list from the start; retrofitting it after you have history is worse.
A domain for your server address
Facepunch added DNS support that solves a real problem: players' favorites break when your IP changes, and your IP will change the day you switch hosts. The fix, documented on the Rust Wiki:
- An A record on your domain pointing at the server IP
- An SRV record (
_rust._udp) pointing at the A record with your game port - Set
server.favoritesEndpointto the A-record domain
Favorites then save the domain instead of the IP, and they survive host moves and port changes. One gotcha if you use Cloudflare: the records must be DNS-only (grey cloud). Proxied records break game traffic.
Do this early. It's ten minutes of setup that preserves your player base through every infrastructure change you'll ever make.
Premium servers: the $15 gate
Facepunch's premium server flag is opt-in anti-cheat: only players with $15 or more of Rust items in their Steam inventory can see and join your server. Skins and permanent store items count; standalone DLC packs currently don't. Facepunch announced it at $20 and settled on $15 after comparing banned accounts against regular players.
The logic: throwaway cheater accounts don't invest in skins. The trade-off: fresh accounts and skin-less legitimate players can't connect either. It's a real population filter, so decide based on what you're building. A competitive server benefits more than a fresh-player-friendly community server.
Discord and the reporting pipeline
Set up your Discord before launch:
- Ticket bot: players need a paper trail for cheater reports and ban appeals. I use Ticketeer and recommend it.
- F7 reports: ReportMe pipes in-game F7 reports into a Discord channel with BattleMetrics and Steam data attached, and can pre-ban the obvious cases at connect. Setup is in the docs.
- Put the Discord invite in your server description and MOTD.
Core plugins and permissions
The full reasoning is in the admin plugin list.
The short version: Vanish, Admin Radar, a permissions GUI, and a report
layer. Before installing anything, set up permission groups (default,
vip, mod, admin) and grant plugin permissions to groups, never to
individual players. The command syntax is in the plugin list article.
Decide your conduct policy now
Racism and homophobia aren't game-bannable; conduct on your server is entirely your authority and your policy. Decide it before wipe one, write it in your Discord, and enforce it consistently. The details, including what Facepunch does on their own servers, are in the cheater guide's conduct section.
While you're at it: plugins exist to send in-game sign images to Discord for review. I don't moderate signs; some admins prefer to. Know the option exists and decide which admin you are.
Monetization and the skin rule
Facepunch's server guidelines allow servers to monetize: subscriptions, donations, cosmetic perks, server currency, and sponsorships. The standard setup is a VIP tier sold through a store platform; I cover Tebex and PayNow in the plugin list, and Monumental Signs is how you advertise the store in game without chat spam.
The major caveat: since the July 2025 Terms of Service update, servers cannot give players access to paid skins or DLC they don't own. That killed the SkinBox-style plugins, and it exists to protect the official skin economy; selling skin access undercuts the item store. Enforcement started August 7, 2025. The exception is designated test servers (aim-train and similar), which may unlock content. Don't build your monetization on selling skin access.
The carve-out is community skins. Creators publish skins to the Steam Workshop; Facepunch accepts some for official sale, and the rest stay workshop-only. Those unsold workshop skins aren't paid content, so letting players apply them is still allowed. SkinBox is the plugin commonly used for it; more in the plugin list.
Wipe day
Facepunch force-wipes every server on the first Thursday of the month, when the monthly update ships at 11:00 AM Pacific (2:00 PM Eastern; 18:00 or 19:00 UTC depending on daylight saving). Map wipes delete the world; blueprint wipes delete learned blueprints.
You can technically carry an old mapthrough a force wipe, but don't: some updates break older maps, and you miss the new monuments and procedural generation changes that ship with the update. Wipe the map on force wipe.
Everything else is a design decision. Whether blueprints wipe with the map, and whether you wipe more often than monthly, depends entirely on the experience you're trying to provide. Your wipe schedule is part of your server's identity. Whatever you pick, put it in your server description and stick to it.
Automation: if you're on a game host, use the panel's wipe scheduler (GameServerKings documents theirs in their wipe day guide). In-server wipe plugins like MapVoter exist and add nice things like map voting, but know the failure mode: on forced-wipe day Rust updates before Oxide does, and a plugin can't run on a broken framework. Either way, Wipe Data Cleaner resets your plugin data files automatically each wipe.
Communities worth joining
- RustMaps: browse map seeds before you commit one to a wipe
- Custom maps: RustEdit is the map editor, and the Rust Map Making Discord is the community for map development
- RAC, Rust Admin Community: general Rust admin fare
- uMod/Oxide Discord: plugin help and requests
- Rust Admin Academy (SRTBull's Discord): more personal, community-oriented tip swapping
Advanced: self-hosting on your own machine
Everything above assumes a game host or panel. If you're running Rust on
your own Windows box (a dedicated machine or VPS you administer), you're
managing the install, updates, and launch yourself. These are the scripts I
use, cleaned up. They live in your server root next to RustDedicated.exe.
Launch parameters
Rust reads its config from launch parameters (highest priority),
server.cfg, then command line. The core convars:
| Convar | Example | What it is |
|---|---|---|
server.port |
28015 |
Game port (UDP) |
rcon.port |
28016 |
RCON port (TCP) |
rcon.password |
your password | RCON login. Use a long random one |
rcon.web |
1 |
WebSocket RCON, what BattleMetrics connects to |
server.identity |
myserver |
Folder name for this server's data |
server.hostname |
your server name | The browser listing name |
server.description |
your blurb | Supports \n line breaks |
server.headerimage |
image URL | 512x256 banner in the server listing |
server.url |
your site | Clickable link in the listing |
server.maxplayers |
60 |
Slot count |
server.worldsize |
3500 |
Map size, 1000 to 6000. 3000 to 4500 is normal |
server.seed |
any integer | The procedural map seed. Browse seeds on RustMaps |
Open the game port and RCON port in your firewall: 28015 UDP and 28016 TCP by default. On a home connection you'll also port-forward them on your router.
run-server.bat
Updates the game on every launch, then starts the server in a loop so it comes back up after a crash or the monthly wipe restart.
@echo off
:start
"C:\RustServer\steamcmd.exe" +login anonymous +force_install_dir "C:\RustServer\Server" +app_update 258550 +quit
RustDedicated.exe -batchmode ^
+server.port 28015 +server.maxplayers 60 ^
+server.hostname "Your Server Name Here" ^
+server.description "Your description here" ^
+server.url "https://your-site.com" ^
+server.headerimage "https://your-host.com/header-512x256.jpg" ^
+server.identity "myserver" ^
+server.worldsize 3500 +server.seed 1024050651 ^
+rcon.port 28016 +rcon.password "CHANGE_ME_TO_A_LONG_RANDOM_STRING" +rcon.web 1
goto start
Change the RCON password before you ever start it. 0000 and other weak
passwords get servers taken over.
update-oxide.bat
Rust breaks Oxide on every forced wipe, and a game host handles this for you. Self-hosting, you run it yourself. This downloads the current Oxide build from uMod and overwrites your install. Run it after each monthly update, before launching.
@echo off
SETLOCAL
set SERVER_DIR=%~dp0
if "%SERVER_DIR:~-1%"=="\" set SERVER_DIR=%SERVER_DIR:~0,-1%
set TEMP_DIR=%SERVER_DIR%\oxide_temp
set OXIDE_ZIP=%TEMP_DIR%\oxide.zip
set OXIDE_URL=https://umod.org/games/rust/download
if exist "%TEMP_DIR%" rd /s /q "%TEMP_DIR%"
mkdir "%TEMP_DIR%"
powershell -NoProfile -ExecutionPolicy Bypass -Command "Invoke-WebRequest '%OXIDE_URL%' -OutFile '%OXIDE_ZIP%' -UseBasicParsing"
if not exist "%OXIDE_ZIP%" ( echo ERROR: Oxide ZIP not downloaded. & pause & exit /b )
powershell -NoProfile -ExecutionPolicy Bypass -Command "Expand-Archive -LiteralPath '%OXIDE_ZIP%' -DestinationPath '%TEMP_DIR%' -Force"
if not exist "%TEMP_DIR%\RustDedicated_Data" ( echo ERROR: extraction layout changed or ZIP corrupted. & pause & exit /b )
xcopy "%TEMP_DIR%\RustDedicated_Data" "%SERVER_DIR%\RustDedicated_Data" /E /H /C /Y >nul
for %%F in ("%TEMP_DIR%\*") do (
if /I not "%%~nxF"=="RustDedicated_Data" if /I not "%%~nxF"=="oxide.zip" xcopy "%%F" "%SERVER_DIR%\%%~nxF" /E /H /C /Y >nul
)
del /q "%OXIDE_ZIP%"
rd /s /q "%TEMP_DIR%"
echo OXIDE UPDATE COMPLETE
pause
The order on wipe day is: stop the server, run the Steam update (or just
launch run-server.bat, which updates first), run update-oxide.bat, then
start. If you skip the Oxide step your plugins won't load on the new build.
Questions: discord.fragmod.com.