Skip to content
Back to Blog
guides24 June 20267 min read

How to Install Oxide Plugins on a Rust Server

Install Oxide plugins on a Rust server by dropping a .cs file into oxide/plugins, then configure permissions and confirm it loaded in console.

Installing Oxide plugins is how you turn a vanilla Rust dedicated server into something with kits, teleports, gather rate control and admin tools. Oxide (now maintained under the name uMod) is a modding framework that sits on top of the Rust server and runs community-made plugins. Plugins are small C# files that add features the base game does not ship with. This guide walks through where plugins live, how to install one, how to set up permissions, and how to check it actually worked.

What you need

You need a running Rust dedicated server with Oxide already installed. Oxide must be present before any plugin will do anything, because the plugin files rely on the Oxide framework to compile and run. If you are setting Oxide up yourself you can get it from umod.org/games/rust, which provides the build that matches the current Rust server version. You also need a way to reach the server files (an FTP client or a panel file manager) and access to the server console so you can run commands.

Where plugins go

Once Oxide is installed, your server gains an oxide/ directory. Everything plugin-related lives inside it, split across four folders:

  • oxide/plugins/ - the plugin source files themselves, each one a .cs file.
  • oxide/config/ - per-plugin configuration, written as JSON. A plugin usually creates its config file here the first time it loads.
  • oxide/data/ - data a plugin needs to keep between restarts, such as saved homes or stored balances.
  • oxide/lang/ - language files, so plugin messages can be translated or reworded.

For installing a plugin you only need oxide/plugins/. The other folders matter once a plugin is running and you want to tune it.

Installing a plugin

The process is deliberately simple:

  • Find the plugin on umod.org and download its .cs file.
  • Place that file into the oxide/plugins/ folder. For example, the Kits plugin becomes oxide/plugins/Kits.cs.
  • Do nothing else. Oxide watches that folder, compiles the file and loads the plugin automatically. There is no need to restart the server.

When the plugin compiles, you will see a line in the server console confirming it has loaded. If it is a plugin that uses configuration, it will also create a matching JSON file in oxide/config/ at that point.

Configuring and permissions

Most plugins generate a config file under oxide/config/ after their first load, for example oxide/config/Kits.json. Edit that file to change behaviour, then reload the plugin so the change takes effect (see the next section).

Many plugins also gate their features behind permissions, so a feature only works for players you grant it to. The commands follow a consistent pattern, run from the server console:

oxide.grant user PlayerName permission.name
oxide.grant group groupname permission.name

So oxide.grant user Kevin kits.use gives one player access, while oxide.grant group vip kits.use gives it to everyone in the vip group. You can use a player name or their SteamID. Groups are managed with oxide.group add vip to create one and oxide.usergroup add Kevin vip to put a player in it. You can shorten oxide. to o. if you prefer.

Check it worked

Run oxide.plugins in the console to list every loaded plugin. Your new plugin should appear in that list with its version number. If the plugin adds a chat command, such as /kit, test it in game with a player who has the right permission. If both the console listing and the in-game command behave, the install is good.

Common issues

  • Plugin not loading: check the file is actually in oxide/plugins/ and ends in .cs. A plugin built for an older Rust version may fail to compile after a game update, so download the current version from uMod.
  • Missing dependency: some plugins require another plugin to be installed first. The console error usually names the missing one. Install it, and the dependent plugin will load.
  • Changed config but nothing happened: edits to a file in oxide/config/ are not picked up until the plugin reloads. Run oxide.reload PluginName to apply them, or oxide.reload * to reload everything.

Doing it on Zeros Host

Our Rust egg ships with Oxide installed by default, so you skip the framework setup entirely. To add a plugin you open the panel file manager, navigate to oxide/plugins/ and upload the .cs file straight from uMod. It compiles and loads on the spot, and you manage permissions from the server console in the same panel. You get this on our Rust hosting from the moment the server is created. Plans and specs are on the pricing page.

Related reading: how to host a Rust server covers getting the server itself running. If you would rather use the Carbon framework instead of Oxide, see our Carbon setup guide.

Still stuck after reading this?

Ask in our Discord - we help with hosting questions whether or not you host with us.