Skip to content

How to install oxide

Updated June 14, 2026
Rust
How to Install Oxide | GameServerKings KB

How to Install Oxide

Oxide (now branded as uMod for Rust) is the modding framework that almost every Rust plugin depends on. Without Oxide, you cannot load any of the kits, teleport, anti-cheat, or economy plugins from umod.org or Codefling.

This guide installs Oxide cleanly on the GSK panel, then verifies it loaded correctly.

What Oxide Actually Does

Oxide injects itself into the Rust dedicated server at startup and exposes hooks that plugins listen to. When a player connects, places a building block, dies, or chats, Oxide fires an event, and any subscribed plugin can react.

It also creates a set of folders inside your server root:

  • oxide/plugins/ is where you drop .cs plugin files.
  • oxide/config/ holds the per-plugin JSON config files.
  • oxide/data/ stores plugin databases (kits, homes, player stats). Plugins keep their data here even when unloaded.
  • oxide/logs/ holds Oxide's log files, your first stop when a plugin misbehaves.
  • oxide/lang/ contains the translatable message files plugins use.

The entire oxide/ folder survives map wipes and framework switches, so your plugins, configs, and data stay put unless you delete them yourself.

Step 1: Stop the Server

Before switching frameworks on an established server, take a quick snapshot through the Backups tab first. See Backups. On a fresh server you can skip this.

Always stop the server before swapping framework files. From the panel Console tab, click the red Stop button. Wait until the status shows "Offline."

Step 2: Change the Modding Framework in the Startup Tab

Our Rust servers ship with a Startup variable that controls which modding framework is loaded. Go to the Startup tab and find the field labeled Modding Framework (sometimes shown as FRAMEWORK or MODDING).

Set the value to:

Code
oxide

Other valid values you may see:

While you are in the Startup tab, make sure the Validate Steam Files toggle is switched on if your server has one. Validation ensures Oxide installs cleanly alongside the game files on the next boot.

Save the Startup change.

Step 3: Start the Server

Hit Start. On boot, the egg will:

  1. Download the latest Oxide build from the uMod GitHub release.
  2. Extract it on top of your Rust install (replacing RustDedicated_Data/Managed/*.dll files where Oxide overrides them).
  3. Boot Rust as normal.

In the console you should see a line near the top similar to:

Code
[Oxide] Loaded extension Rust v2.0.xxxx by Oxide and Contributors

If you see that, Oxide is installed and ready.

Step 4: Confirm With a Console Command

From the panel Console, run:

Console
oxide.version

The server should reply with the loaded Oxide version. If you instead see "Unknown command," Oxide did not load. Common reasons:

  • The Startup variable is still set to vanilla or empty
  • The server failed to download Oxide due to a temporary network issue (restart again)
  • Rust just pushed a forced wipe update and Oxide has not yet released a compatible build (this happens roughly on the first Thursday of each month, see Wipe Management)

Step 5: Install Your First Plugin

A small, safe plugin makes the best first test. We will use NoGiveNotices, which hides the chat broadcast that appears when an admin spawns items with F1 give. It needs no configuration, no permissions, and you can verify it works in seconds:

  1. Download NoGiveNotices.cs from umod.org/plugins/no-give-notices.
  2. Open the File Manager in the panel, navigate to oxide/plugins/.
  3. Click Upload at the top and drag in NoGiveNotices.cs.

Within a few seconds, the Console will print:

Code
[Oxide] Loaded plugin No Give Notices v0.3.0 by Wulf

Plugins hot-load. You do not need to restart. To see it working, give yourself an item from the F1 console in-game. The usual "gave themselves" broadcast no longer appears in chat.

Two upload rules that save a lot of head-scratching:

  • Do not rename the file. The filename must exactly match the plugin's internal class name, including capitalization. nogivenotices.cs will not load.
  • Watch the extension. Some browsers and editors save plugins as NoGiveNotices.cs.txt. Oxide ignores anything that is not exactly .cs. Rename in the File Manager if this happens.

Step 6: Editing Plugin Configs

NoGiveNotices is unusual in that it has no settings at all, which is part of what makes it a clean first test. Almost every other plugin generates a config file in oxide/config/ on first load. BetterChat, a popular chat formatting plugin, creates oxide/config/BetterChat.json. Edit a config through the File Manager (right-click, Edit), make your changes, then reload that plugin from console:

Console
oxide.reload BetterChat

oxide.reload re-applies the new config without restarting the server.

Troubleshooting a Plugin That Will Not Load

  • Nothing happens after upload: Confirm the file landed in oxide/plugins/, not the server root, and that the extension is exactly .cs.
  • Console shows a compile error: The plugin is incompatible with the current Rust or Oxide version. Check the plugin's page for an update, and read the full error in oxide/logs/ for the failing line.
  • Plugin loads but commands do nothing: Most plugins lock features behind permissions. Grant yourself the permission node listed on the plugin's page, see Oxide Permissions 101.
  • Everything broke after a forced wipe: Wait for the uMod team to publish the updated Oxide build, restart, then update any plugins that still error. See Wipe Management.

Common Oxide Console Commands

CommandWhat it does
oxide.versionShow the Oxide version
oxide.pluginsList every loaded plugin
oxide.load PluginNameLoad a plugin file
oxide.unload PluginNameUnload a plugin
oxide.reload PluginNameReload a plugin (re-reads config)
oxide.grant <user|group> <name|id> <perm>Grant a permission
oxide.revoke <user|group> <name|id> <perm>Revoke a permission
oxide.usergroup add <user> <group>Add a user to a group

See Oxide Permissions 101 for the full breakdown.

Updating Oxide

When Facepunch pushes a forced wipe (first Thursday of the month), Oxide gets recompiled by the uMod team, usually within a few hours. Our Rust egg pulls the latest Oxide build on every startup, so a simple restart after the new Oxide release updates you automatically.

If you want to force the update sooner, restart the server. Do not manually download Oxide and upload it through SFTP unless you specifically need a pre-release build.

Switching Away From Oxide

If you decide to try Carbon (which is faster and largely plugin-compatible), see How to Install Carbon. Switching frameworks does not delete your plugins or configs; they live in different folders.

Made with 💜 by GameServerKings