Dispatch
Dynamic dispatch system with modern UI and Notify integration
Description
Dispatch System for Rust (Oxide/uMod)
A fully dynamic and extensible dispatch system for Rust servers with a modern UI and Notify integration.
🎯 Features
- ✅ Fully dynamic - All dispatch types are loaded from the config
- ✅ Modern UI - Clean, user-friendly interface with a blur effect
- ✅ Notify Integration - Uses the Notify plugin for professional notifications
- ✅ Customizable Colors - All UI colors can be configured
- ✅ Permission System - Each category has its own permissions
- ✅ Discord Webhooks - Automatic notifications per category
- ✅ Marker System - Automatic map markers at the dispatch location
- ✅ Data Persistence - Dispatches are retained after a server restart
- ✅ Multilingual - German and English support
📋 Prerequisites
- Oxide/uMod for Rust
- Recommended: Notify Plugin for professional notifications
⚙️ Configuration
Add/Modify Dispatch Types
json
| 1 | { |
| 2 | “DispatchTypes”: { |
| 3 | “medic”: { |
| 4 | “permission”: “dispatch.medic”, |
| 5 | “webhook”: “https://discord.com/api/webhooks/xxx”, |
| 6 | “displayName”: “Medic”, |
| 7 | “color”: “#e74c3c”, |
| 8 | “notifyType”: 0 |
| 9 | }, |
| 10 | “police”: { |
| 11 | “permission”: “dispatch.police”, |
| 12 | “webhook”: “https://discord.com/api/webhooks/yyy”, |
| 13 | “displayName”: “Police”, |
| 14 | “color”: “#3498db”, |
| 15 | “notifyType”: 0 |
| 16 | } |
| 17 | } |
| 18 | } |
Parameters:
permission- Oxide permission for this dispatch typewebhook- Discord webhook URL (optional)displayName- Display name in the UIcolor- Hex color for the UI (#RRGGBB)notifyType- Notify plugin type (0=Info, 1=Error, 2=Success, 3=Warning, 4=Event)
Customize UI Colors
json
| 1 | { |
| 2 | “UI Settings”: { |
| 3 | “primaryColor”: “#2c3e50”, |
| 4 | “secondaryColor”: “#34495e”, |
| 5 | “accentColor”: “#3498db”, |
| 6 | “textColor”: “#ecf0f1”, |
| 7 | “successColor”: “#27ae60”, |
| 8 | “dangerColor”: “#e74c3c” |
| 9 | } |
| 10 | } |
Configure Notify Integration
json
| 1 | { |
| 2 | “Notify Integration”: { |
| 3 | “enabled”: true, |
| 4 | “useNotifyForMessages”: true, |
| 5 | “dispatchCreatedType”: 0, |
| 6 | “dispatchAcceptedType”: 2, |
| 7 | “dispatchClosedType”: 1, |
| 8 | “errorType”: 1, |
| 9 | “successType”: 2 |
| 10 | } |
| 11 | } |
Notify Types:
0= Info/Notification (blue)1= Error (red)2= Success (green)3= Warning (yellow/orange)4= Event (purple)
🎮 Commands
Player Commands
/dispatch- Opens the Dispatch UI
Admin Commands (via console)
dispatch.create <type> <message>- Creates a dispatchdispatch.accept <id>- Accepts a dispatchdispatch.close <id>- Closes a dispatch
🔐 Permissions
Basic Permissions
dispatch.use- Allows access to the dispatch UI
Dynamic Permissions (from config)
dispatch.medic- Sees and can accept medic dispatchesdispatch.police- Sees and can accept police dispatchesdispatch.taxi- Sees and can accept taxi dispatches
Example of how to assign permissions:
code
| 1 | o.grant group medics dispatch.use |
| 2 | o.grant group medics dispatch.medic |
📡 Discord Webhook Setup
- Create a webhook in your Discord channel
- Copy the webhook URL
- Paste it into the config for the corresponding dispatch type
Webhook Format:
code
| 1 | https://discord.com/api/webhooks/123456789/AbCdEfGhIjKlMnOpQrStUvWxYz |
🎯 Usage
Creating a Dispatch as a Player
- Open the UI with
/dispatch - Click on the desired dispatch type (e.g., “MEDIC”)
- Enter your message (max. 120 characters)
- Click “Send”
Accepting a dispatch as a dispatcher
- Open the UI with
/dispatch - View the active dispatches
- Click “Accept” for the desired dispatch
- The creator is notified
Closing a Dispatch
- Open the UI with
/dispatch - Click “Close” on your dispatch
- The marker is removed
🔌 API for Developers
Hook Methods
csharp
| 1 | // Called when a dispatch is created |
| 2 | void OnDispatchCreated(DispatchData dispatch) |
| 3 | |
| 4 | // Called when a dispatch is accepted |
| 5 | void OnDispatchAccepted(DispatchData dispatch, BasePlayer player) |
| 6 | |
| 7 | // Called when a dispatch is closed |
| 8 | void OnDispatchClosed(DispatchData dispatch, BasePlayer player) |
API Methods
csharp
| 1 | // Retrieve all active dispatches |
| 2 | List<DispatchData> API_GetActiveDispatches(string type = null) |
| 3 | |
| 4 | // Create a dispatch |
| 5 | bool API_CreateDispatch(ulong playerId, string type, string message) |
| 6 | |
| 7 | // Close a dispatch |
| 8 | bool API_CloseDispatch(int dispatchId) |
| 9 | |
| 10 | // Retrieve dispatch information |
| 11 | Dictionary<string, object> API_GetDispatchInfo(int dispatchId) |
Usage example:
csharp
| 1 | [PluginReference] private Plugin Dispatch; |
| 2 | |
| 3 | void CreateCustomDispatch() |
| 4 | { |
| 5 | var dispatches = Dispatch?.Call(“API_GetActiveDispatches”, “medic”); |
| 6 | |
| 7 | bool success = Dispatch?.Call<bool>(“API_CreateDispatch”, |
| 8 | player.userID, “medic”, “Need help at coordinates”) ?? false; |
| 9 | } |
🗺️ Marker System
- When a dispatch is created, a marker is automatically placed at the creator’s location
- The marker is visible to all players with the appropriate permission
- Markers are removed when the dispatch is closed
- Markers are automatically cleared when the server restarts
💾 Data Persistence
- All active dispatches are stored in
oxide/data/Dispatch/ActiveDispatches.json - Dispatches are preserved after a server restart
- Markers are recreated after a restart
🎨 UI Customization
The UI uses the following color scheme:
- Primary Color - Main background and header
- Secondary Color - Panel backgrounds
- Accent Color - Buttons and highlights
- Text Color - Main text color
- Success Color - Success messages and status
- Danger Color - Error messages and warnings
Each dispatch type also has its own color for visual differentiation.
🐛 Troubleshooting
Notifications are not displayed
- Make sure the Notify plugin is installed
- Check if the
notify.seepermission has been granted - If Notify is not available, messages will be displayed in the chat
Dispatches are not saved
- Check write permissions in the
oxide/data/Dispatch/folder - Check server logs for errors
UI isn’t displayed
- Check if the
dispatch.usepermission has been granted - Check server logs for UI errors
- Try
/dispatch.uiagain
Discord webhooks aren’t working
- Check if the webhook URL is correct
- Remove “your_webhook_here” from the config
- Check Discord server settings
📝 Changelog
Version 1.0.0
- Initial release
- Full Notify integration
- Dynamic dispatch system
- Modern UI with customizable colors
- Discord webhook support
- Marker system
- Data persistence
- API for developers
🤝 Support
If you have questions or encounter issues:
- Check the config file for errors
- Check the server logs (
oxide/logs/) - Make sure all permissions are granted
📜 License
This plugin is freely available for use on your Rust server.
❤️ load, run, enjoy
Sponsored

RCONtrol
Command your Rust server. Live WebRCON console, performance and player monitoring, quick actions, groups and permissions, and plugin management.
Visit site ↗$19.99
Views17
Downloads0
Purchases0
Rating★ 0.0
Version1.0.0
PlatformRust
CategoryPlugins
CompatibleOxide
Size53 KB
PublishedSep 1, 2026
UpdatedSep 2, 2026
✓ Reviewed for safety and integrity