Rust Oxide/uMod Plugins Guide 2025
Oxide/uMod is the most popular plugin framework for Rust servers, enabling extensive customization through thousands of community plugins. This guide covers installation, configuration, and management of plugins to create unique server experiences.
📋 Oxide/uMod Overview
- Framework: Oxide 2.0 (latest) / uMod (legacy)
- Plugin Count: 3000+ community plugins available
- Compatibility: Works with Rust Dedicated Server
- Updates: Automatic updates with OxideMod
- Performance: Minimal overhead with proper configuration
Oxide/uMod Installation
Automatic Installation (Recommended)
# Download latest Oxide for Rust
wget https://umod.org/games/rust/download -O oxide.zip
# Extract to server directory
unzip oxide.zip -d /path/to/rust/server/
# Alternative: Use oxide.mod installer
./RustDedicated -oxide
# Verify installation
ls -la /path/to/rust/server/oxide/
ls -la /path/to/rust/server/oxide/plugins/
Windows Server Installation
- Download oxide.zip from umod.org
- Extract to Rust server root directory (where RustDedicated.exe is located)
- Run server once to generate configuration files
- Access Oxide web panel (if enabled) at
http://server-ip:28016
Manual Installation
# Manual file placement
1. Copy Oxide.Rust.dll to /oxide/
2. Copy oxide directory structure:
- /oxide/config/ # Configuration files
- /oxide/data/ # Plugin data storage
- /oxide/lang/ # Language files
- /oxide/plugins/ # Plugin DLLs
- /oxide/plugins/rust/ # Rust-specific plugins
- /oxide/logs/ # Plugin logs
# Verify file structure
/path/to/rust/server/
├── RustDedicated.exe
├── oxide/
│ ├── Oxide.Rust.dll
│ ├── config/
│ ├── data/
│ ├── plugins/
│ └── logs/
Plugin Management
Finding and Installing Plugins
🌐 Official Sources
- umod.org/plugins: Official plugin directory
- Codefling: Large community plugin repository
- GitHub: Developer-hosted plugins
- Oxide Plugin Manager (OPM): Command-line tool
📥 Installation Methods
- Automatic: OPM install <plugin-name>
- Manual: Download .cs/.dll to plugins folder
- Web Panel: Install via Oxide web interface
- Batch: Use plugin packs for common setups
🔧 Update Management
- Auto-update: Configure in oxide.config.json
- Manual updates: Replace plugin files
- Version checking: oxide.check command
- Backup strategy: Keep previous versions
Using Oxide Plugin Manager (OPM)
# Install OPM (if not included)
curl -L https://github.com/OxideMod/OPM/releases/latest/download/opm -o opm
chmod +x opm
# Search for plugins
./opm search "economics"
# Install plugin
./opm install Economics
# Update all plugins
./opm update --all
# Remove plugin
./opm remove Economics
# List installed plugins
./opm list
Essential Plugin Categories
Economy & Shops
| Plugin | Description | Configuration File |
|---|---|---|
| Economics | Complete economy system with currency | Economics.json |
| Shop UI | User-friendly shop interface | ShopUI.json |
| PlayerPoints | Reward points system | PlayerPoints.json |
| Vending Machines | Enhanced vending machine features | VendingMachine.json |
| ATM System | Banking and ATM functionality | ATM.json |
Player Management
| Plugin | Description | Key Features |
|---|---|---|
| Friends | Friend system with permissions | Share tools, build permissions |
| Clans | Clan system with territories | Clan wars, shared resources |
| Kits | Starter kits and reward kits | Timed kits, permission-based |
| Teleportation | TPA, home, and warp systems | Cooldowns, costs, permissions |
| Player Database | Enhanced player data tracking | Playtime, statistics, history |
Server Enhancement
| Plugin | Description | Performance Impact |
|---|---|---|
| AutoDoors | Automatic door opening/closing | Low |
| BetterChat | Enhanced chat features | Very Low |
| Death Notes | Combat logging and analytics | Low |
| Grid Spawn Manager | Control entity spawning | Medium |
| Heli Control | Customize helicopter behavior | Low |
Plugin Configuration
Configuration File Structure
{
"PluginSettings": {
// Example: Economics plugin configuration
"Economics": {
"Settings": {
"StartingBalance": 1000,
"CurrencyName": "Scrap",
"CurrencySymbol": "$",
"EnableATM": true,
"ATMCost": 100,
"InterestEnabled": false,
"InterestRate": 0.01,
"InterestInterval": 86400,
"PayDayAmount": 50,
"PayDayInterval": 3600
},
"Permissions": {
"economics.use": true,
"economics.admin": "economics.admin",
"economics.atm": "economics.atm"
},
"Messages": {
"Balance": "Your balance: {0} {1}",
"Paid": "You paid {0} {1} to {2}",
"Received": "You received {0} {1} from {2}",
"InsufficientFunds": "Insufficient funds!"
}
}
}
}
Essential Configuration Files
- oxide/config/oxide.json - Core Oxide configuration
- oxide/config/oxide.lang - Language and message customization
- oxide/config/oxide.permissions - Permission system configuration
- oxide/config/oxide.covalence - API and framework settings
- Plugin-specific .json files - Individual plugin configurations
Permission System
# Oxide Permission Commands
oxide.grant user # Grant permission to player
oxide.grant group # Grant permission to group
oxide.revoke user # Revoke permission
oxide.show user # Show user permissions
oxide.usergroup add # Add user to group
oxide.usergroup remove # Remove user from group
# Common permission examples
economics.use # Use economy system
kit.use.starter # Use starter kit
teleport.tpa # Request teleport
clan.create # Create a clan
friends.add # Add friends
Performance Optimization
Plugin Performance Guidelines
| Metric | Acceptable Range | Warning Signs | Optimization |
|---|---|---|---|
| Plugin Count | 20-50 plugins | 80+ plugins | Remove unused plugins |
| Hook Usage | Minimal hooks | Excessive OnEntitySpawn | Use conditional hooks |
| Memory Usage | < 500MB total | > 1GB plugin memory | Monitor with oxide.stats |
| Update Rate | 1-5Hz per plugin | 20+ Hz updates | Increase update intervals |
| Database Queries | Async, batched | Synchronous queries | Use Oxide's async API |
Monitoring Plugin Performance
# Oxide performance commands
oxide.perf # Show plugin performance stats
oxide.stats # Detailed plugin statistics
oxide.track start # Start performance tracking
oxide.track stop # Stop and show results
oxide.plugins find slow # Find slow-performing plugins
oxide.hooks list # List hooks used by plugin
# Example output of oxide.perf:
Plugin Name | Calls/sec | Avg Time | Total Time
---------------------------------------------------------
BetterChat | 2.1 | 0.4ms | 12.5s
Economics | 0.8 | 1.2ms | 8.7s
AutoDoors | 15.3 | 0.1ms | 4.2s
Clans | 1.2 | 2.3ms | 15.8s # High avg time!
Optimization Configuration
{
"Oxide": {
"Performance": {
"HookTimeWarning": 100, // Warn if hook takes >100ms
"MaxHookTime": 500, // Disable hook if >500ms
"PluginUpdateRate": 1.0, // Default update rate (Hz)
"EntityUpdateRate": 0.5, // Entity update rate
"MaxFrameTime": 16.67, // Max ms per frame (60 FPS)
"GCCollection": {
"Enabled": true,
"Interval": 300, // Run GC every 5 minutes
"ForceFull": false
}
},
"Logging": {
"LogLevel": "Info", // Debug, Info, Warning, Error
"LogToFile": true,
"MaxFileSize": 10485760, // 10MB max log file
"MaxArchiveFiles": 5
}
}
}
Popular Plugin Setups
PvP Server Setup
# Essential PvP Plugins
1. CombatLog/DeathNotes - Combat analytics
2. BetterChat - Enhanced chat for team coordination
3. RaidAlert - Notifications for base raids
4. TeamManager - Team system with sharing
5. InstaCraft - Faster crafting for PvP focus
6. NoDecay - Disable building decay
7. QuickSmelt - Faster smelting
8. StackSizeController - Custom stack sizes
9. SkinBox - Weapon and skin management
10. AntiOfflineRaid - Protection during offline
Roleplay Server Setup
# Essential RP Plugins
1. Economics - Currency system
2. ShopUI/NPCVendors - Shopping systems
3. Jobs/Professions - Job system with rewards
4. VehicleLicense - Vehicle ownership system
5. BuildingGrades - Enhanced building permissions
6. DiscordChat/ReportSystem - Communication
7. PlayerTitles - Custom titles and ranks
8. EventManager - Scheduled server events
9. Furniture - Additional decorative items
10. Radio - In-game radio system
Minigames Server Setup
# Minigame Plugins
1. Arena - PvP arenas with matchmaking
2. GunGame - Progressive weapon game mode
3. HideAndSeek - Classic hide and seek
4. Race - Vehicle racing system
5. Spleef - Last man standing arena
6. Paintball - Team-based paintball
7. Jail - Prison roleplay minigame
8. MurderMystery - Detective game
9. BattleRoyale - Last man standing
10. Parkour - Jumping/obstacle courses
Troubleshooting Common Issues
Plugins not loading after update
Clear oxide/plugins directory and reinstall plugins. Verify Rust and Oxide version compatibility. Check oxide/logs/oxide.log for loading errors.
"Hook failed to load" errors
Update plugin to latest version. Check plugin compatibility with current Rust version. Remove conflicting plugins. Verify hook registration in plugin code.
High server lag with plugins
Use oxide.perf to identify slow plugins. Reduce plugin update rates. Disable unnecessary hooks. Consider dedicated server with more CPU cores.
Permission system not working
Verify permission names match plugin documentation. Check oxide/config/oxide.permissions file. Use oxide.show user <player> to debug. Ensure proper group assignments.
Plugin configuration not saving
Check file permissions on oxide/config/ directory. Verify JSON syntax is valid. Ensure plugin has write access. Check for disk space issues.
Database errors with plugin data
Verify database connection strings in config. Check SQLite file permissions. For MySQL, ensure server is running and accessible. Backup and regenerate database if corrupted.
Advanced Configuration
Custom Plugin Development Setup
# Development environment setup
1. Install Visual Studio / VS Code with C# extensions
2. Install Oxide.Rust.dll as reference
3. Create plugin template:
using Oxide.Core;
using Oxide.Core.Plugins;
namespace Oxide.Plugins
{
[Info("MyPlugin", "Author", "1.0.0")]
[Description("My custom Rust plugin")]
class MyPlugin : RustPlugin
{
void Init() { Puts("Plugin loaded!"); }
void OnPlayerConnected(BasePlayer player)
{
SendReply(player, "Welcome to the server!");
}
}
}
4. Compile to DLL and place in oxide/plugins/
5. Test and debug using oxide.reload <plugin>
Web Panel Configuration
{
"Web": {
"Enabled": true,
"Port": 28016,
"Host": "0.0.0.0",
"SSL": {
"Enabled": false,
"CertificatePath": "/path/to/cert.pem",
"CertificatePassword": ""
},
"Authentication": {
"Enabled": true,
"Username": "admin",
"Password": "secure_password",
"SessionTimeout": 3600
},
"Features": {
"PluginManagement": true,
"PlayerManagement": true,
"ServerControl": true,
"ConfigurationEditor": true,
"RealTimeMonitoring": true
}
}
}
Database Configuration
{
"Database": {
"Provider": "sqlite", // Options: sqlite, mysql, litedb
"ConnectionString": {
"sqlite": "Data Source=oxide/data/oxide.sqlite;Version=3;",
"mysql": "Server=localhost;Database=oxide;Uid=rust;Pwd=password;Port=3306;",
"litedb": "Filename=oxide/data/oxide.db;Connection=shared"
},
"MySql": {
"Pooling": true,
"MaximumPoolSize": 100,
"ConnectionTimeout": 30,
"CommandTimeout": 30
},
"Backup": {
"Enabled": true,
"Interval": 86400, // Daily backups
"Retention": 7, // Keep 7 backups
"Compression": true
}
}
}
Best Practices
Plugin Management
- Start minimal: Add plugins gradually, testing performance impact
- Regular updates: Keep plugins updated for compatibility and security
- Backup configurations: Backup oxide/config/ before major changes
- Document changes: Maintain changelog of plugin additions/removals
- Test thoroughly: Test plugins on staging server before production
Performance Optimization
- Monitor regularly: Use oxide.perf weekly to identify slow plugins
- Limit hooks: Disable unnecessary event hooks in plugin configs
- Batch operations: Use timers instead of per-frame updates
- Memory management: Monitor plugin memory usage with oxide.stats
- Database optimization: Use indexes and query optimization for plugins
Security Considerations
- Source verification: Only install plugins from trusted sources
- Permission auditing: Regularly review oxide.permissions file
- Web panel security: Use strong passwords and SSL for web interface
- Regular backups: Backup plugin data and configurations
- Update promptly: Security patches for plugins and Oxide framework
Next Steps
- Configure Rust server settings
- Optimize Rust server performance
- Learn essential Rust admin commands
- Avoid common admin mistakes
- Browse other game server guides
Managed Rust Server Hosting: Supercraft provides optimized Rust servers with pre-configured Oxide/uMod, automatic plugin updates, and expert support for custom game modes and large player counts.