The short answer
On a panel server: stop it, click Switch: Server Branch, choose
Staging, execute, run a Steam Update, then start. On a
dedicated machine: add -beta staging to the +app_update 258550
line in your install script.
Key points
- Staging carries changes before they reach the release branch.
- Players need to switch their own client to staging to join.
- Run it as a second server, never as your main community.
- The Steam Update after switching branches is not optional.
- Plugins frequently break on staging. That is the point of it.
Why run a staging server
Rust updates on a monthly cycle, and each one has the potential to break plugins, invalidate configurations and change performance characteristics. If the first time you meet those changes is on update day, you are debugging in front of your players.
A staging server moves that discovery earlier. It is the difference between "our plugins broke and we are on it" and "we knew, and we already fixed it".
Worth doing if you:
- Run a plugin-heavy server where a broken hook takes half your features down.
- Develop plugins yourself and need to test against upcoming changes.
- Run a large enough community that update day downtime is genuinely costly.
On a control panel server
-
Log in to the control panel
Sign in to the control panel.
-
Open Game Services
Click Game Services from the main menu.

Game Services -
Select your Rust service
Click your Rust Service.

Rust Service -
Stop the server
Click Stop.

Stop Server -
Switch server branch
Click the Switch: Server Branch button.

Switch Branch -
Select Staging
Choose Staging and hit Execute.

Select Staging -
Run a Steam Update
Switching the branch flag is not the same as downloading the branch. Run a Steam Update to fetch the staging files.

Run Steam Update -
Wait for the update to finish
Once it completes you are on the staging branch.
-
Start the server
Press Start to bring it online on the staging version.

Start Server
On a dedicated machine
If you run your own SteamCMD install, staging is a single flag on the app update line. Take your standard install script and modify this value:
"+app_update 258550 -beta staging"
That switches you from the standard branch to staging. Adjust the directories to match your own SteamCMD and Rust server locations.
Example script
echo off
:start
C:\Users\admin\Desktop\steamcmd\steamcmd.exe +login anonymous +force_install_dir C:\[RustServerFileLocation]\Update +app_update 258550 -beta staging validate +quit
pause
The validate flag is worth keeping when switching branches: it makes SteamCMD
check every file rather than assume the existing install is intact, which is exactly what you
want when the files underneath have just changed version.
The same mechanism reaches the prerelease branch with
+app_update 258550 -beta prerelease. Both are selected with the
-beta flag and differ only in which build they track.
What to expect from staging
- Players need a staging client
- Versions have to match. Anyone joining has to switch their own Rust install to staging in Steam first, which makes this a testing server rather than a public one.
- Plugins break
- Regularly. uMod builds for staging lag behind the branch itself, and plugin authors update after that. This is the information you came for, not a fault.
- It is less stable
- Staging carries changes that have not been through full testing. Crashes and odd behaviour are expected.
- Do not point your community at it
- Run staging alongside your production server. Anything you learn there is worth having, but not at the cost of the server people actually play on.
Switching back
Reversing it is the same process with a different selection. In the control panel, use
Switch: Server Branch again, choose the standard branch, and run a
Steam Update. On a dedicated machine, remove -beta staging from
the app update line and run the script with validate.
Either way the Steam Update is the part that actually changes the files. Skipping it leaves you with a branch flag pointing one way and an install pointing the other, which produces a server that will not start and an error message that does not obviously explain why.