How to Set Up a Rust Game Server with Oxide Mods in Minutes (generated by ChatGPT)

How to Set Up a Rust Game Server with Oxide Mods in Minutes

Want to run your own Rust server with Oxide mods? This quick guide shows you how to set up a Rust dedicated server on your PC in minutes. We’ll cover the scripts you need, how to update your server fast, and tips for customizing your world.

TC

Tristan Chin

Creating a Rust dedicated server with Oxide mods is not super hard, but it involves manual steps that can become time consuming. You need to download and run the SteamCMD CLI, download and extract Oxide in the right place and configure the run parameters. This tutorial will show you how to quickly and reliably install Oxide on a Rust dedicated server and get it operating locally in a matter of minutes.


To free up more time for playing and less time for tinkering with configurations, we'll use straightforward batch scripts to manage server launch, updates, and installation. This way, you never need to download SteamCMD or Oxide manually again.

Step 1: Prepare the Update Scripts

Create a folder where you want your server to live. Anywhere is fine, everything will be installed local to that folder, nothing will bleed outside! Once you've created the folder, copy these two files:

  • update_preview.bat
  • update_production.bat
@echo off

if "%1" EQU "" (
	set TAG=preview
) else (
	set TAG=%1
)

if "%TAG%" EQU "production" (
	set BUILD=Release
) else (
	SET BUILD=Debug
)

if "%2" EQU "" (
	set BRANCH=public
) else (
	set BRANCH=%2
)

SET root=%cd%
SET server=%root%\server
SET steam=%root%\steam
SET steamCmd=https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip

echo Server directory: %server%
echo Steam directory: %steam%
echo Root directory: %root%
echo Branch: %BRANCH%

@REM Ensure folders are created
if not exist "%server%" mkdir "%server%"

@REM Download & extract Steam it in the steam folder
if not exist "%steam%" (
	mkdir "%steam%"
	cd "%steam%"
	
	echo Downloading Steam
	powershell -Command "(New-Object Net.WebClient).DownloadFile('%steamCmd%', '%root%\steam.zip')"
	echo Extracting Steam
	powershell -Command "Expand-Archive '%root%\steam.zip' -DestinationPath '%steam%'" -Force

	del "%root%\steam.zip"
)



@REM Download the server
cd "%steam%"
echo Downloading Rust server on %BRANCH% branch...
steamcmd.exe +force_install_dir "%server%" ^
			 +login anonymous ^
             +app_update 258550 ^
			 -beta %BRANCH% ^
             validate ^
             +quit ^

@REM Download latest development build of Oxide
echo Downloading Oxide
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/OxideMod/Oxide.Rust/releases/latest/download/Oxide.Rust.zip', '%root%\oxide.zip')"

@REM Extract it in the server folder
echo Extracting Oxide
powershell -Command "Expand-Archive '%root%\oxide.zip' -DestinationPath '%root%\Oxide.Rust'" -Force

@REM Copy the files to the server folder, only overwriting files in recursive folders, not the folders themselves
echo Copying Oxide files
xcopy %root%\Oxide.Rust\* %root%\server /y /s /i

@REM Cleanup
echo Cleaning up
del %root%\oxide.zip
rmdir /s /q %root%\Oxide.Rust

The update_preview.bat file takes care of:

  • Downloading SteamCMD inside your folder
  • Download the Rust Dedicated server files
  • Download and extract the latest version of Oxide from GitHub

The update_production.bat file just calls update_preview.bat with certain parameters so that the production branch of Rust is installed. You can check out the additional branches you can use at the end of this post, if you wish.

Step 2: Add the Run Script

In the same folder, at the same level as your update scripts, add the following script.

  • run.bat
@echo off
cls

SET root=%cd%
SET server=%root%\server

echo Starting server...
cd "%server%"
RustDedicated.exe -batchmode -nographics ^
+rcon.ip 0.0.0.0 ^
+rcon.port 28016 ^
+rcon.password "dk2lksk3" ^
+server.ip 0.0.0.0 ^
+server.port 28015 ^
+server.maxplayers 3 ^
+server.hostname "My Oxide Server" ^
+server.identity "my_server_identity" ^
+server.level "Procedural Map" ^
+server.seed 131302294 ^
+server.worldsize 1000 ^
+server.saveinterval 300 ^
+server.globalchat true ^
+server.description "Powered by Oxide" ^
+server.headerimage "http://i.imgur.com/xNyLhMt.jpg" ^
+server.url "https://oxidemod.org" ^
-logfile "%server%\logs\server_log.txt"

This is the script that will actually run your server. You can tweak the RustDedicated.exe options to your liking.

Step 3: Update and Launch the Server

Now that you got all the files required to setup and run the server, go ahead and run the update_production.bat file (by double-clicking it!). After that's done, you can run the run.bat file to start your server. On the first run, this script will generate your world with the options set for RustDedicated.exe from the run script.

And that's it! You now have a Rust game server running locally AND with Oxide installed and ready to go! That was pretty quick no?

Bonus: Other Rust Server Tips

The following are not required at all to run your server. You can go ahead and stop reading to enjoy your server! However, here's a couple more tips I left out if you want more.

Using Other Rust Branches

If you want to run the staging branch (or other branches) of Rust, you can add and run one of these files instead of update_production.bat.

  • update_rustbeta_staging.bat
  • update_edge.bat
@echo off

update_preview.bat rustbeta_staging staging server 

Version Control with Git

If like me you like to version control your game server as you make changes to it, go ahead and initialize a Git repository in at the root of your folder (assuming you have Git installed).

git init

Then, add the following .gitignore file to the root of your folder. Your server files will constantly change, even just by restarting it. This ignore file aims at only tracking your changes and not auto-generated files you shouldn't commit. Feel free to add or remove exclusions from it!

  • .gitignore
steam/
**/*.exe
**/*.dll

server/Bundles
server/cfg
server/MonoBleedingEdge
server/RustDedicated_Data
server/steamapps
server/HarmonyMods
server/server
server/config
server/appcache
server/logs
server/userdata
server/harmony_log.txt

server/oxide/logs

server/oxide/data/**/*.*
# !server/oxide/data/oxide.groups.data

bin
obj

Buy Me a Coffee

Share this post