How to Install Oxide/uMod Plugins on Your Rust Server

From vanilla to modded: switch to Oxide, upload your first plugins, edit their config and control who can use them with permissions.


What is Oxide/uMod?

Oxide (also known as uMod) is the framework that makes it possible to run plugins on a Rust server. A Rust plugin is a .cs file - a piece of C# code - and without Oxide there is nothing to load it.

With plugins you can add shops, kits, zones, clans, anti-cheat, PvE rules and just about anything else Rust cannot do out of the box.

Carbon as an alternative: Carbon is a newer framework that runs most Oxide plugins unchanged and uses the carbon/ folder instead of oxide/. You cannot run both at the same time. If you already run Oxide with a handful of plugins there is no reason to switch. This guide covers Oxide.


Step 1 - Switch to the Oxide build of the server

A plain vanilla Rust server cannot run plugins.

  1. Log in to the Potionhost control panel and select your Rust server.
  2. Stop the server.
  3. Go to the Startup tab and switch to the Oxide build.
  4. Start the server again and let it finish installing.

Verify in Console:

oxide.version

If you get a version number back, Oxide is running. If you get "unknown command", the server is still vanilla.


Step 2 - Download your plugins

Source Note
uMod The official free repository with all the classics
Codefling Large selection of both free and paid plugins
Lone.Design Mainly paid premium plugins

Always check that the plugin is updated for the current Rust version, and read the description - many plugins require another plugin to work.

Important: A plugin is code with full access to your server. Only download from known sources - never .cs files from random Discord servers.


Step 3 - Upload the plugin

  1. Open Files in the control panel.
  2. Go to the oxide/plugins/ folder.
  3. Upload the .cs file directly into the folder.

Oxide watches the folder and compiles the plugin automatically - you normally do not need to restart. Watch the console for a line like:

Loaded plugin PluginName v1.2.3 by Developer

If you get an error instead, the exact line number is in the message - see the troubleshooting section.


Step 4 - Configure the plugin

The first time a plugin loads, it creates its own files:

Folder Contents
oxide/config/ Plugin settings as .json
oxide/data/ Stored data such as player data and zones
oxide/lang/ Messages and texts you can translate
oxide/logs/ Errors and log files per plugin

To change a setting:

  1. Open oxide/config/PluginName.json under Files.
  2. Edit the value and save.
  3. Reload the plugin from the console:
oxide.reload PluginName

JSON is picky: one missing comma or quotation mark and the plugin refuses to load. If you delete the config file and reload, a fresh default file is generated.


Step 5 - Grant permissions

Most plugins only work once someone has been given access. Oxide has two default groups - default and admin - and you can create your own.

Command What it does
oxide.grant user PLAYER permission Grants the permission to one player
oxide.grant group vip permission Grants the permission to a whole group
oxide.group add vip Creates the vip group
oxide.usergroup add PLAYER vip Puts a player in the group
oxide.show perms Lists every available permission
oxide.revoke user PLAYER permission Removes the permission again

You can use either a player name or a SteamID64. SteamID is safest, since names can change.


Useful console commands

Command What it does
oxide.version Shows which Oxide version the server runs
oxide.plugins Lists every loaded plugin
oxide.load PluginName Loads a plugin
oxide.unload PluginName Disables a plugin without deleting it
oxide.reload PluginName Reloads after a config change
oxide.reload * Reloads every plugin

After a Rust update

Rust force wipes and updates on the first Thursday of every month. When that happens:

  1. Oxide has to be updated before the server starts correctly.
  2. Some plugins are broken until their developer updates them.

Check the console after the first startup and temporarily disable any plugin that is spamming errors with oxide.unload. That way the rest of the server keeps running.


Troubleshooting

Symptom Likely cause Fix
oxide.version is unknown The server is not running Oxide Switch to the Oxide build under Startup
The plugin does not appear The file is misplaced or is not a .cs file Put it directly in oxide/plugins/
A compile error in the console The plugin does not match the current version Download the latest release of the plugin
The plugin loads but does nothing A missing permission Grant it with oxide.grant
Config changes have no effect The plugin was not reloaded Run oxide.reload PluginName
The plugin will not load after editing Invalid JSON in the config file Delete the config file and reload
Every plugin suddenly fails Rust updated, Oxide did not Update Oxide and restart

Good advice

  • Install one plugin at a time and watch the console in between.
  • Copy oxide/config/ and oxide/data/ before a wipe so you do not lose your setup.
  • Fewer, well-chosen plugins perform better. Lots of heavy plugins is a classic cause of low server FPS.
  • Delete the old .cs file when you update a plugin.

Want to use plugins to run a PvE server? Continue with How to Enable PvE on Your Rust Server. Need the commands for day-to-day running, see the Rust Admin Commands List.

RustOrder now

Guide Information

Published
August 23, 2026
Last Updated
September 8, 2026
Views
184