How to Install Oxide Plugins on a Rust Server (Step-by-Step Guide for 2026)
New to Rust modding? This is the no-nonsense install guide every server admin wishes existed when they started. Five minutes to your first working plugin.
Installing an Oxide plugin on a Rust server is genuinely simple — it's a single .cs file dropped into a folder and a one-line reload command. The reason new admins struggle is that nobody documents the prerequisites or the exact path, and most tutorials assume you already know what Oxide is.
This is the version I wish I'd had on day one.
What is Oxide / uMod?
Oxide (also called uMod) is the modding framework that powers most Rust plugins. It hooks into the game server, exposes a stable API to plugin authors, and handles loading + reloading the plugin files. Without Oxide you can't run plugins; without plugins your Rust server is vanilla.
Carbon is an alternative framework that runs Oxide-compatible plugins faster and with hot-reload. If your server uses Carbon, the install steps are identical — Carbon reads from the same folder structure and accepts the same .cs files.
What you need before you start
- A Rust server you control (dedicated host, VPS, or rented Rust slot from Pingperfect / NodeCraft / GTXGaming / similar)
- FTP, SFTP, or file-manager access to the server's filesystem. Every host gives you one of these. If you only have a web control panel, look for "File Manager" or "FTP Details".
- Oxide already installed. Most Rust server hosts let you toggle a "Modded server" or "uMod" option in the control panel and they handle the install. If yours doesn't, download from umod.org and follow their installer.
- RCON access (web RCON panel, RustAdmin, or BattleMetrics) so you can reload plugins without restarting the server.
Step 1: Verify Oxide is loaded
Connect to your server console (RCON) and run:
oxide.version
You should get a version string like Oxide 2.0.xxxx for Rust. If it errors or says command not found, Oxide isn't loaded — fix that first, every plugin install will fail until it is.
Step 2: Find the oxide/plugins folder
On the server filesystem, navigate to:
<server-root>/oxide/plugins/
If your host puts you in the main Rust folder, the path is usually ./oxide/plugins/. If you're SSH'd into a dedicated box, it's likely /home/rust/server/<identity>/oxide/plugins/. The folder will already contain any plugins that came pre-installed — DefaultMessage, Kits, etc.
Carbon servers: the folder is ./carbon/plugins/ instead. Same structure, same .cs files.
Step 3: Drop the .cs file
This is the install. Upload the plugin's .cs file into the oxide/plugins/ folder. That's it — no unzipping, no compilation, no install wizard. The file goes directly into the folder.
A few rules:
- Don't rename the file. The class name inside the .cs file must match the filename.
SmartLoot.cscontainsclass SmartLoot. Rename the file and the plugin won't load. - Don't put it in a subfolder. Plugins must be at the top level of
oxide/plugins/. - Don't unzip it if it's a single .cs file. Some plugins ship as a zip with extras (a JSON config template, a README) — you only need the .cs file in the plugins folder.
Step 4: Reload the plugin
Oxide auto-detects new .cs files. Within a few seconds of upload, you should see a load line in the server console:
Loaded plugin SmartLoot v1.0.0 by Author
If you don't see it, force a load via the console:
oxide.reload SmartLoot
If the plugin shows a compile error like error CS0103: The name 'X' does not exist, the plugin is incompatible with your current Rust build. Check the plugin's docs for the minimum supported Rust version or grab an older release.
Step 5: Grant permissions (if the plugin uses them)
Most plugins gate their features behind Oxide permissions. The plugin's README will list them — usually one per feature.
Grant a permission to a player by SteamID:
oxide.grant user 76561198000000000 smartloot.use
Or to an entire Oxide group:
oxide.grant group default smartloot.use
default includes every player. admin is usually empty by default and needs to be populated with oxide.usergroup add 76561198000000000 admin.
Step 6: Configure (optional)
After first load, the plugin generates a config file at oxide/config/<PluginName>.json. Most plugins ship with sensible defaults — open it, skim the fields, and tune anything you want different. Reload the plugin after editing:
oxide.reload SmartLoot
Common errors and fixes
- "Failed to compile" + a long stack trace. The plugin is incompatible with your current Rust API version. Either upgrade the plugin to its latest release, or downgrade if you're on a bleeding-edge build that broke a hook.
- Plugin loads but nothing happens in-game. Check permissions first — 90% of "it's not working" reports are missing
oxide.grant. The plugin's README lists what to grant. - Plugin works on first load but breaks on every reload. Old Newtonsoft deserialization bug — the plugin's config keeps duplicating itself. Modern plugins use
ObjectCreationHandling.Replaceto fix this. If yours doesn't, delete the config file and let it regenerate. oxide.reloaddoes nothing. Check that you're using RCON (not in-game chat).oxide.*commands are server-console only.
Where to get plugins worth installing
- Shadow Kids Studios catalog — 36 paid plus 4 free Rust plugins, all single-file, lifetime updates, direct Discord support, Carbon-compatible.
- umod.org plugin directory — the official Oxide directory, mostly free community plugins.
- Codefling — competing marketplace, mix of free and paid.
Try a free plugin first
If you want to test the install flow without committing to anything:
- RustconChat — chat ring-buffer that backfills mobile RCON apps. Zero in-game footprint, no permissions to configure. Great first install.
- CompostSplitter — auto-spreads pumpkin / corn / plant fiber across composter slots. Permission-gated, instant gratification.
Drop either into your oxide/plugins/ folder, grant the permission, done.
What's next
Once you're comfortable installing single plugins, look at:
- Data persistence —
oxide/data/holds per-plugin save data. Back this up before major Rust updates. - Multiple plugins interacting — some plugins have soft dependencies (e.g. anything that uses Steam avatars needs ImageLibrary)
- Carbon migration — if performance matters and your server's getting big, swap Oxide for Carbon. Plugins keep working.
Have questions? Drop into the Shadow Kids Studios Discord — every customer (paid or free) gets direct admin support.
36 paid + 4 free plugins, every line written and supported by one person. Direct Discord support. Per-server license — use on every server you run.
▸ BROWSE THE CATALOG