Featured framework
Carbon for modern Rust servers
Fast, self-updating, and built for performance with seamless in-game plugin and server management.
1,400+
servers powered by Carbon
ServerPanel adds a player information menu to your server, where you can both share important and useful information with your players and integrate your plugins into it!
🌟 Features
User-Friendly Interface: Intuitive GUI for easy navigation and interaction.
Economy Integration: Supports various economy plugins for seamless financial management.
Dynamic Menu Categories: Organize functionalities into customizable categories for better user experience.
Extensive Configuration Options: Almost every aspect of the plugin can be customized, including messages, colors, sizes, fonts, tion.
Auto-Open Menu: Automatically displays the menu upon player connection, configurable per server settings.
Block Settings: Control access to the menu during building, raiding, or combat situations to enhance gameplay balance.
Multiple Economy Head Fields: Display various economic metrics such as balance, server rewards, and bank information.
Permission Management: Fine-tune permissions for different user roles to control access to features.
Localization Support: Easily translate and customize all messages for different languages.
Performance Optimized: Designed to minimize server lag while providing rich functionality.
Customizable Hooks: Integrate with existing economy systems using customizable hooks for adding, removing, and displaying balances.
Editor Position Change: Admins can now change editor positions with a simple click, choosing between left, center, or right alignments.
Command Enhancements: Commands are now processed with multiple arguments separated by "|", enabling bulk command processing.
🎮 Commands
/info – open menu
/sp.install (or) /welcome.install – open installer menu
sp.migrations – console command for updating plugin data structure when upgrading to new versions. Automatically creates backups before making changes.
sp.migrations list – shows available migrations and whether they need to run
sp.migrations run <version> – runs specific migration (e.g., "1.3.0")
sp.migrations run <version> force – forces migration even if not detected as needed
🛡️ Permissions
serverpanel.edit – allows players to edit the plugin settings and open the edit menu
serverpanelinstaller.admin - required to access the plugin installation functions
🎥 Video
🖼️ Showcase
Templates
Template V1
Template V2
Template V3
Template V5
Editor
Installer
🧪 TEST SERVER
Join our test server to view and experience all our unique features yourself!
Copy the IP Address below to start playing!
connect 194.147.90.239:28015
📊 Update Fields
ServerPanel supports dynamic update fields that can be used in your templates to display real-time information. These fields are automatically updated and can be used in text components, headers, and other interface elements.
Player Information
{online_players} – Number of currently online players
{sleeping_players} – Number of sleeping players
{all_players} – Total number of players (online + sleeping)
{max_players} – Maximum server capacity
{player_kills} – Player's kill count (requires KillRecords, Statistics, or UltimateLeaderboard)
{player_deaths} – Player's death count (requires KillRecords, Statistics, or UltimateLeaderboard)
{player_username} – Player's display name
{player_avatar} – Player's Steam ID for avatar display
Economy
{economy_economics} – Economics plugin balance
{economy_server_rewards} – ServerRewards points
{economy_bank_system} – BankSystem balance
Note: Economy fields are fully customizable in "oxide/config/ServerPanel.json" under "Economy Header Fields". You can add support for any economy plugin by configuring the appropriate hooks (Add, Balance, Remove). Custom keys can be created and used in templates just like the default ones.
Server Information
{server_name} – Server hostname
{server_description} – Server description
{server_url} – Server website URL
{server_headerimage} – Server header image URL
{server_fps} – Current server FPS
{server_entities} – Number of entities on server
{seed} – World seed
{worldsize} – World size
{ip} – Server IP address
{port} – Server port
{server_time} – Current server time (YYYY-MM-DD HH:MM:SS)
{tod_time} – Time of day (24-hour format)
{realtime} – Server uptime in seconds
{map_size} – Map size in meters
{map_url} – Custom map URL
{save_interval} – Auto-save interval
{pve} – PvE mode status (true/false)
Player Stats
{player_health} – Current health
{player_maxhealth} – Maximum health
{player_calories} – Calorie level
{player_hydration} – Hydration level
{player_radiation} – Radiation poisoning level
{player_comfort} – Comfort level
{player_bleeding} – Bleeding amount
{player_temperature} – Body temperature
{player_wetness} – Wetness level
{player_oxygen} – Oxygen level
{player_poison} – Poison level
{player_heartrate} – Heart rate
Player Position
{player_position_x} – X coordinate
{player_position_y} – Y coordinate (height)
{player_position_z} – Z coordinate
{player_rotation} – Player rotation (degrees)
Player Connection
{player_ping} – Connection time in seconds
{player_ip} – Player's IP address
{player_auth_level} – Authorization level (0=Player, 1=Moderator, 2=Admin)
{player_steam_id} – Steam ID
{player_connected_time} – Connection start time
{player_idle_time} – Idle time (HH:MM:SS)
Player States
{player_sleeping} – Is sleeping (true/false)
{player_wounded} – Is wounded (true/false)
{player_dead} – Is dead (true/false)
{player_building_blocked} – Is building blocked (true/false)
{player_safe_zone} – Is in safe zone (true/false)
{player_swimming} – Is swimming (true/false)
{player_on_ground} – Is on ground (true/false)
{player_flying} – Is flying (true/false)
{player_admin} – Is admin (true/false)
{player_developer} – Is developer (true/false)
Network & Performance
{network_in} – Network input (currently shows 0)
{network_out} – Network output (currently shows 0)
{fps} – Server FPS
{memory} – Memory allocations
{collections} – Garbage collections count
Usage Example:
You can use these fields in any text component like: "Welcome {player_username}! Server has {online_players}/{max_players} players online."
🔧 API Documentation for Developers
ServerPanel provides an API for plugin developers to integrate their plugins into the menu system.
Required Methods
API_OpenPlugin(BasePlayer player) - Main integration method that returns CuiElementContainer
OnServerPanelClosed(BasePlayer player) - Called when panel closes (cleanup)
OnServerPanelCategoryPage(BasePlayer player, int category, int page) - Called when category changes (cleanup)
OnReceiveCategoryInfo(int categoryID) - Receives your category ID
Integration Example
[PluginReference]
private Plugin ServerPanel;
private int _serverPanelCategoryID = -1;
private void OnServerInitialized()
{
ServerPanel?.Call("API_OnServerPanelProcessCategory", Name);
}
private void OnReceiveCategoryInfo(int categoryID)
{
_serverPanelCategoryID = categoryID;
}
private void OnServerPanelCategoryPage(BasePlayer player, int category, int page)
{
// Cleanup when player switches categories
}
private CuiElementContainer API_OpenPlugin(BasePlayer player)
{
var container = new CuiElementContainer();
// Create base panels (required structure)
container.Add(new CuiPanel()
{
RectTransform = {AnchorMin = "0 0", AnchorMax = "1 1"},
Image = {Color = "0 0 0 0"}
}, "UI.Server.Panel.Content", "UI.Server.Panel.Content.Plugin", "UI.Server.Panel.Content.Plugin");
container.Add(new CuiPanel()
{
RectTransform = {AnchorMin = "0 0", AnchorMax = "1 1"},
Image = {Color = "0 0 0 0"}
}, "UI.Server.Panel.Content.Plugin", "YourPlugin.Background", "YourPlugin.Background");
// Add your plugin's UI elements here
container.Add(new CuiLabel
{
RectTransform = {AnchorMin = "0.1 0.8", AnchorMax = "0.9 0.9"},
Text = {Text = "Your Plugin Interface", FontSize = 16, Align = TextAnchor.MiddleCenter, Color = "1 1 1 1"}
}, "YourPlugin.Background", "YourPlugin.Title");
// Add buttons, panels, etc. using "YourPlugin.Background" as parent
return container;
}
private void OnServerPanelClosed(BasePlayer player)
{
// Cleanup when panel closes
}
Header Update Fields
API_OnServerPanelAddHeaderUpdateField(Plugin plugin, string updateKey, Func<BasePlayer, string> updateFunction) - Registers a per-player string provider for a header placeholder. Returns true on success.
API_OnServerPanelRemoveHeaderUpdateField(Plugin plugin, string updateKey = null) - Unregisters a specific updateKey for your plugin, or all keys for your plugin when updateKey is null. Returns true on success.
Usage Example
[PluginReference]
private Plugin ServerPanel;
private void OnServerInitialized()
{
// Register a dynamic header field for each player
ServerPanel?.Call("API_OnServerPanelAddHeaderUpdateField", this, "{player_kdr}", (Func<BasePlayer, string>)(player => GetKdr(player)));
}
private string GetKdr(BasePlayer player)
{
// Compute and return the value to display in the header for this player
return "1.23";
}
Using in UI: Place your key (e.g., {player_kdr}) directly in Header Field texts. The value will be updated per player using your function.
📚 FAQ
Q: Why can't I open the menu?
A: Make sure that the plugin is installed and activated on your server. If the problem persists, contact the server administrator.
Q: How do I enable Expert Mode? (disables automatic template updates)
A: In the data file "Template.json", turn on the "Use an expert mod?" option:
"Use an expert mod?": true,
P.S. "Template.json” is located in the "oxide/data/ServerPanel" directory (if you use Oxide) or in the "carbon/data/ServerPanel" directory (if you use Carbon)
Q: I see black images with Rust logo or get error 429 when loading images. What should I do?
A: These issues occur when there are problems downloading images from the internet. To fix this, enable Offline Image Mode which will use local images instead:
Enable the mode in config:
Open "oxide/config/ServerPanel.json" (or "carbon/config/ServerPanel.json" for Carbon)
Set "Enable Offline Image Mode": true
Set up the images:
Create folder "TheMevent" in "oxide/data" (or "carbon/data" for Carbon)
Download PluginsStorage (click "CODE" → "Download ZIP")
Extract the ZIP and copy all contents to the "TheMevent" folder
Reload the plugin:
Type o.reload ServerPanel (Oxide) or c.reload ServerPanel (Carbon)
Note: If using a hosting service, you may need to use their file manager or FTP to upload the files.
Q: Does ServerPanel work only with Mevent's plugins?
A: Currently, ServerPanel integrates seamlessly with Mevent's plugins (Shop, Kits, Daily Rewards, etc.). However, other developers can use the provided API to integrate their plugins into the menu system. The plugin system is designed to be extensible for third-party integrations.
Q: Why do integrated plugins (Shop, Kits) have different window sizes?
A: Different plugins may use different templates for integration. Make sure all your integrated plugins use the same template version (V1, V2, etc.) that matches your ServerPanel template. Update the template in each plugin to ensure consistent sizing.
Q: The panel displays differently for different players. How can I make it show the same on everyone's screen?
A: This issue occurs when players have different UI scale settings. To fix this and ensure consistent display for all players:
Open the "Template.json" file located in "oxide/data/ServerPanel" (or "carbon/data/ServerPanel" for Carbon)
Find the "Parent (Overlay/Hud)" setting in the "Background" section
Change the value from "Overlay" to "OverlayNonScaled"
Save the file and restart your server or reload the plugin
Q: How can I change the video displayed in the ServerPanel interface to my own custom video?
A: Yes, you can replace the default video with your own! You need to find and modify the command:
serverpanel_broadcastvideo [your_video_url]
Replace [your_video_url] with the direct link to your video. For best compatibility, we recommend hosting your video on imgur.com.
Q: My custom images are not loading or show as blank/question marks. What image hosting should I use?
A: For custom images, we recommend using imgbb.com for image hosting. Avoid Imgur and services without direct access to the image. For the most reliable experience, use Offline Image Mode with local images instead.
Q: How can I make plugin UIs open outside of the ServerPanel menu instead of inside categories?
A: You can configure buttons to execute chat commands that open plugin UIs independently. To do this:
In your button configuration, set "Chat Button": true
Set the "Commands" field to "chat.say /command" (replace "command" with the actual plugin command)
Example: To open the Cases plugin outside the menu:
"Chat Button": true
"Commands": "chat.say /cases"
This will execute the command as if the player typed it in chat, opening the plugin's interface independently rather than within the ServerPanel menu.
Q: Text in V4 template is shifting or sliding out of place. How can I fix this?
A: This issue occurs when text width isn't properly configured. ServerPanel provides "TITLE LOCALIZATION" settings to control text width for categories and pages:
Open the ServerPanel editor (click the "ADMIN MODE" button to open the edit menu)
Select the category or page you want to edit (click to "EDIT CATEGORY" or "EDIT PAGE" button)
In the editor, find the "TITLE LOCALIZATION" section
For each language (en, ru, etc.), you'll see three columns:
LANGUAGE - The language code
TEXT - The localized text content
WIDTH (px) - The width setting in pixels
Adjust the "WIDTH (px)" value to match your text length. Longer text requires larger width values
Save your changes and test in-game
Tip: Start with a width value around 100-150 pixels for short text, and increase it for longer titles. You can adjust this value until the text displays correctly without shifting.
This is a custom package created by us, featuring 110 unique bases and a specialized loot setup tailored for five difficulty levels, ranging from Easy to Nightmare.
Note: The building skins in the package showcase images may differ from the spawned bases or use the default building skin.
Warning: The Raidable Bases plugin requires the Copy Paste plugin to function. You must install both for this bases pack to work.
🔗 Raidable Bases (Paid): https://codefling.com/plugins/raidable-bases
🔗 Copy Paste (Free): https://umod.org/plugins/copy-paste
This Raidable Bases Pack & Loot Tables package includes:
🏡30 Easy Bases +🗡️Base_Loot Tables (Easy "Vanilla" and "Enhanced" tables included)
🏡30 Medium Bases +🗡️Base_Loot Tables (Medium "Vanilla" and "Enhanced" tables included)
🏡30 Hard Bases +🗡️Base_Loot Tables (Hard "Vanilla" and "Enhanced" tables included)
🏡10 Expert Bases +🗡️Base_Loot Tables (Expert "Vanilla" and "Enhanced" tables included)
🏡10 Nightmare Bases +🗡️Base_Loot Tables (Nightmare "Vanilla" and "Enhanced" tables included)
Beware: Our loot table package includes only the 5-tier loot tables within the Base_loot folder, ranging from easy to nightmare.
It does not include the loot tables from the Difficulty_Loot or Weekday_Loot folders.
With a total of 110 bases, this package focuses on simplicity and optimization.
Most bases are protected by turrets and traps, and each base is designed with player PC performance and server stability in mind.
VANILLA AND ENHANCED LOOT TABLES FOR RAIDABLE BASES
This package includes 10 different base loot table files, ensuring a well-structured and advanced configuration for every difficulty level, from Easy to Nightmare.
5 loot files for the Vanilla setup (Easy, Medium, Hard, Expert, Nightmare), offering a balanced loot experience with some junk items, staying close to a 1x rate.
5 loot files for the Enhanced setup (Easy, Medium, Hard, Expert, Nightmare), designed for modded servers with 2x, 3x, or higher gather rates, featuring cleaner loot tables with minimal junk and more valuable rewards.
📁 Installation Path:
All loot table files are intended for the /oxide/data/RaidableBases/Base_Loot directory.
⚠️ Setup Requirement: You must choose and install only one loot table setup at a time—either Vanilla or Enhanced. If you want to switch, you can replace the current files with the other set, but both cannot be active simultaneously.
For those exclusively seeking the loot table, we offer it as a standalone product: https://codefling.com/customizations/raidable-bases-loot-tables-pack
(Note: If you've purchased our Raidable Bases Pack & Loot Tables (110 Bases) package, there is no need to buy this separately.)
WARNING: TWO DIFFERENT INSTALLATION METHODS
(PLEASE READ BOTH AND APPLY ONLY THE ONE THAT FITS YOUR NEEDS)
INSTALLATION GUIDE 1:
(If you do not have a custom configuration and are not a professional in server configurations, choose this option. However, if you already have your own configuration and profile settings and do not wish to use the optional configs we provide—in other words, if you only need the bases and loot tables—use the second installation guide instead.)
Step 1: Place the Config File
From the extracted ZIP files, locate the config folder and find the RaidableBases.json file. Move it to the following directory:
📁 /serverfiles/oxide/config
Step 2: Place the Bases
From the extracted ZIP files, locate the copypaste folder and move it to the following directory:
📁 /serverfiles/oxide/data
Step 3: Place the Base_Loot Tables
From the extracted ZIP files, locate the Base_Loot folder and move it to the following directory:
📁 /serverfiles/oxide/data/RaidableBases
Important: If there are any existing JSON files inside this folder that are not part of our loot tables, delete them to ensure proper functionality.
Choose between Vanilla or Enhanced loot tables based on your preference.
If the folder is named "Base_Loot (Enhanced loot)", remove the text in parentheses so that the correct folder name is simply: "Base_Loot" (Otherwise, the loot tables will not work properly.)
Step 4: Place the Profiles Folder
From the extracted ZIP files, locate the profiles folder and move it to the following directory:
📁 /serverfiles/oxide/data/RaidableBases
Why Are Profiles Important?
The profiles folder contains crucial settings that allow you to:
✔️ Enable/disable the dome
✔️ Enable/disable NPCs
✔️ Adjust the number of lootable items
These are just a few examples—there are dozens of important settings that directly affect how raid bases function. The config file alone is not enough—these files play a major role in customizing your raid bases.
⚠️ I strongly recommend reviewing each difficulty setting (Easy to Nightmare) inside the profiles folder and adjusting them based on your needs.
Step 5: Restart the plugin via RCON:
o.reload RaidableBases
INSTALLATION GUIDE 2:
(Use this installation method if you do not want to use our configurations and instead prefer to use your own config files and your own /oxide/data/RaidableBases/Profiles configurations.)
In this case, you only need to add the bases. To do this, use the following commands in RCON:
Step 1:
You can add bases one by one or in bulk.
After executing the commands in RCON, the bases will be registered inside the Profiles configuration.
If you do not want to deal with these adjustments, it is recommended to use Installation Guide 1 instead.
A- Example RCON commands:
rb.config add "Easy Bases" fullwipedeasy1
rb.config add "Hard Bases" fullwipedhard1
B- Commands to Integrate Raid Bases in Bulk via RCON:
rb.config add "Easy Bases" fullwipedeasy1 fullwipedeasy2 fullwipedeasy3 fullwipedeasy4 fullwipedeasy5 fullwipedeasy6 fullwipedeasy7 fullwipedeasy8 fullwipedeasy9 fullwipedeasy10 fullwipedeasy11 fullwipedeasy12 fullwipedeasy13 fullwipedeasy14 fullwipedeasy15 fullwipedeasy16 fullwipedeasy17 fullwipedeasy18 fullwipedeasy19 fullwipedeasy20 fullwipedeasy21 fullwipedeasy22 fullwipedeasy23 fullwipedeasy24 fullwipedeasy25 fullwipedeasy26 fullwipedeasy27 fullwipedeasy28 fullwipedeasy29 fullwipedeasy30
rb.config add "Medium Bases" fullwipedmed1 fullwipedmed2 fullwipedmed3 fullwipedmed4 fullwipedmed5 fullwipedmed6 fullwipedmed7 fullwipedmed8 fullwipedmed9 fullwipedmed10 fullwipedmed11 fullwipedmed12 fullwipedmed13 fullwipedmed14 fullwipedmed15 fullwipedmed16 fullwipedmed17 fullwipedmed18 fullwipedmed19 fullwipedmed20 fullwipedmed21 fullwipedmed22 fullwipedmed23 fullwipedmed24 fullwipedmed25 fullwipedmed26 fullwipedmed27 fullwipedmed28 fullwipedmed29 fullwipedmed30
rb.config add "Hard Bases" fullwipedhard1 fullwipedhard2 fullwipedhard3 fullwipedhard4 fullwipedhard5 fullwipedhard6 fullwipedhard7 fullwipedhard8 fullwipedhard9 fullwipedhard10 fullwipedhard11 fullwipedhard12 fullwipedhard13 fullwipedhard14 fullwipedhard15 fullwipedhard16 fullwipedhard17 fullwipedhard18 fullwipedhard19 fullwipedhard20 fullwipedhard21 fullwipedhard22 fullwipedhard23 fullwipedhard24 fullwipedhard25 fullwipedhard26 fullwipedhard27 fullwipedhard28 fullwipedhard29 fullwipedhard30
rb.config add "Expert Bases" fullwipedexp1 fullwipedexp2 fullwipedexp3 fullwipedexp4 fullwipedexp5 fullwipedexp6 fullwipedexp7 fullwipedexp8 fullwipedexp9 fullwipedexp10
rb.config add "Nightmare Bases" fullwipednight1 fullwipednight2 fullwipednight3 fullwipednight4 fullwipednight5 fullwipednight6 fullwipednight7 fullwipednight8 fullwipednight9 fullwipednight10
Step 2: Place the Base_Loot Tables
From the extracted ZIP files, locate the Base_Loot folder and move it to the following directory:
📁 /serverfiles/oxide/data/RaidableBases
Important: If there are any existing JSON files inside this folder that are not part of our loot tables, delete them to ensure proper functionality.
Choose between Vanilla or Enhanced loot tables based on your preference.
If the folder is named "Base_Loot (Enhanced loot)", remove the text in parentheses so that the correct folder name is simply: "Base_Loot" (Otherwise, the loot tables will not work properly.)
Step 3: Restart the plugin via RCON:
o.reload RaidableBases
EXTRA IMPORTANT INFORMATIONS:
We do not use a dome, NPCs, or arena walls around raid bases on our servers, and in the ZIP file we provided, these features are also disabled by default. If you want to enable them, you will need to adjust the settings accordingly.
For example, to enable the dome, follow the steps below:
Navigate to:
/oxide/data/RaidableBases/Profiles
Open the files inside the Profiles folder with a text editor.
Locate the following settings:
(This is already set to false because it is required for markers to appear on the map.)
"Spawn Silently (No Notification, No Dome, No Map Marker)": false,
"Create Dome Around Event Using Spheres (0 = disabled, recommended = 5)": 0,
Change the value from 0 to 5 as shown below:
"Create Dome Around Event Using Spheres (0 = disabled, recommended = 5)": 5,
Additionally, the loot amount for bases varies depending on the difficulty level (easy, medium, hard, expert, and nightmare). You can adjust this setting in the same Profiles location according to your needs:
"Amount Of Items To Spawn": 210,
For example, in medium bases, this value is set to 210, which determines the total number of items that will appear in crates, furnaces, and the cupboard.
Our current configuration is specifically adjusted to prevent players from feeling overwhelmed by massive buildings right after a wipe. We have configured Maintained Events accordingly to ensure a balanced experience.
In our setup:
- Timed events and purchasable events are disabled.
- After a wipe, easy bases will start spawning 30 minutes later.
- Nightmare bases will begin spawning 48 hours (2 days) later.
Imagine starting the game with just a torch in hand and immediately encountering a nightmare base on the shore.
You’d likely quit the game right away—this setting is crucial for us to avoid such scenarios.
Configuration Example: serverfiles/oxide/config
"Maintained Events": {
"Always Maintain Max Events": true,
"Max Maintained Events": 30,
"Enable X Hours After Wipe (0 = immediately)": {
"Easy": 0.5,
"Medium": 1.0,
"Hard": 3.0,
"Expert": 24.0,
"Nightmare": 48.0
All of our bases from Easy to Nightmare are equipped with turret protection.
If you do not want turrets to spawn in your raidable bases on your server, you can use the following method.
Go to the file path /data/RaidableBases/Profiles, open the JSON files inside with a text editor, and apply the following:
"Kill These Prefabs After Paste": [
"assets/prefabs/npc/autoturret/autoturret_deployed.prefab",
"autoturret_deployed"
],
If you are satisfied with this package, you can support us by leaving a 5-star review on the site where you purchased it. Your feedback motivates us to continue improving and providing even better configurations for dedicated server owners like you.
Please leave a review here: https://codefling.com/bases/raidable-bases-pack-loot-tables-110-bases?tab=reviews
Thank you! ❤️
Support: FULLWIPED DISCORD
Galium — Anti-Cheat & Moderation Platform for Rust Organizations
Detection, intelligence, and enforcement — unified in one organizational dashboard.
Galium is a production anti-cheat service operating since 2022, built for Rust server organizations that need structured moderation at scale — across multiple servers, multiple staff teams, and high player volume.
Not a single plugin.
Operational infrastructure for Rust organizations.
Request Access Join Discord
Your browser does not support the video tag.
What Galium is
Galium is an anti-cheat at its core — designed to detect behavioral abuse through live production signals, risk modeling, and enforcement workflows.
Ahead of public launch, that proven detection foundation expanded into a full moderation and management platform — giving organizations one place to run their entire operational stack:
✓
Anti-cheat detection & risk scoring
✓
Teaming violation detection
✓
Toxicity and chat moderation
✓
Mute & ban management (history, reasons, evidence, traceability)
✓
Staff management & role-based permissions
✓
Organization & server management
✓
Automation rules and operational tooling
✓
Integrations (BattleMetrics + ecosystem-ready)
Galium doesn't replace "one feature."
It replaces fragmentation — plugins, spreadsheets, Discord-only logging, and inconsistent enforcement across servers.
Reputation and production history
Galium has been running in real competitive Rust environments since 2022 — refined through actual enforcement scenarios, edge cases, and the operational realities of moderating at scale.
Over years of production usage, Galium has:
✓
Processed millions of behavioral signals
✓
Evolved risk weighting through real-world outcomes
✓
Prioritized explainability and auditability, not black-box actions
✓
Maintained enforcement consistency across wipes, servers, and staff teams
This launch is not a new experiment — it's the public release of infrastructure that's already been proven in production.
Built for organizations, not single servers
Most "anti-cheat plugins" operate per server. Galium operates at the organization level. That means:
✓
One player identity across your entire org
✓
Risk follows the player, not the server they join
✓
Behavioral profiles persist beyond wipe cycles
✓
Policies and enforcement stay consistent across your infrastructure
✓
Staff actions and decisions are fully traceable across teams
No silos. No per-server blind spots. One structured organizational view.
Unified moderation control center
Galium centralizes your moderation stack into one dashboard — so your team can move fast without losing control.
Threat & moderation tools
Behavioral analytics and risk overview
Teaming detection and investigative context
Prioritized cases based on severity, frequency, and recency
Enforcement & logging
Ban history, mute history, and action timelines
Evidence linkage and structured reasons
Full audit trails across staff actions
Organization operations
Server management and org configuration
Staff roles, permissions, and governance
Subscription and infrastructure controls
Automation & integrations
Automation rules for repeatable enforcement
Sharing agreements and org-level controls
BattleMetrics integration + integration-ready architecture
Performance and infrastructure mindset
Galium is designed for high-population, high-activity environments.
✓
Detection and analysis are designed to avoid server-side performance degradation
✓
Signal processing and intelligence are built to scale with organizational concurrency
✓
Operational clarity is maintained even under peak load
✓
Performance integrity stays preserved — while visibility and enforcement improves.
Structured moderation at scale starts here
If you operate multiple Rust servers and require centralized visibility, cross-server risk intelligence, and controlled enforcement — Galium provides the infrastructure to support it.
Request Access Join Discord
Production anti-cheat since 2022 • Built for Rust server organizations
The RankEval Leaderboard System
Modular, extensible, and designed for Rust's most competitive environments.
From wipe-based PvP ladders to multi-server team tracking, RankEval powers the most advanced leaderboard system in Rust.
Get Started Browse Servers
Your browser does not support the video tag.
🏆 Leaderboards
At the heart of RankEval is a powerful, customizable leaderboard engine.
Track 178 Unique Player Statistics
From kill/death ratios to building and farming efficiency, we process them through our proprietary rating algorithm to generate fair, flexible rankings.
You can configure leaderboards for different modes and filter, rank, and embed them based on your community's needs.
Visualize performance live with Event Maps™, a real-time heatmap showing player positions, hotspots, and PvP activity as it happens. Perfect for post-wipe analysis, staff review, and community engagement.
🔄
Wipe Mode
Resets stats every server wipe
👥
Team Mode
In depth clan/team metrics available
∞
Lifetime Mode
Persist your data across wipes and servers
📍
Event Maps™
Heatmaps & player position tracking
General Overview
Your browser does not support the video tag.
Event Maps™
Your browser does not support the video tag.
☁️ Cloud Control Panel
Every RankEval deployment is managed through a powerful web-based control panel.
Complete Control Over Your System
You can manage every aspect of your RankEval deployment from a single, intuitive interface.
✓
Create custom leaderboards for each server or org
✓
Define stat weightings, rating types, and layout options
✓
Enable or disable modules like team scoring or event tracking
✓
Assign roles and access control per org or server
No two configs are the same — and you don't need to touch a line of code.
Your browser does not support the video tag.
Ready to power the most advanced leaderboard system in Rust?
Join our community of server owners who trust RankEval for their competitive gaming needs.
Get Started Now Browse Servers
Trusted by 200+ Rust organizations worldwide • Built for competitive gaming
$49.90
The map is made in a post-apocalyptic style: fog, abandoned scientific bases, anomalous fields, subways, caves and secret bunkers. Players are waiting for dangerous locations, caves, ruined cities and closed doors, behind which you can find valuable resources.
The island has become a testing ground for experiments at the Cobalt Research Institute. After the accident at the power reactor, the terrain changed: anomalies appeared, the space became unstable, and research was urgently stopped. Scientists have disappeared, laboratories are empty, technology has gone crazy.
Now the island is full of dangers and mysteries. Something continues to work underground, and abnormal zones are growing and being transferred. Those who ventured to explore the area find artifacts and traces of what led to the disaster.
Every step here is a choice between prey and death.
But the deeper you go, the more you feel that this place is going to disappear or explode... very soon.
Features:
Prefab Count: ~58к prefabs
Size: 4500
A lot of interesting locations to explore
Railway
Places for the construction of foundations in the form of unusual rocks, caves, landscape and icebergs
Custom plugin Map Skinner (by Adem)
Custom plugin Npc Moving Control (by Adem)
Custom plugin Emission (by Adem)
Custom plugin Artifacts (by Adem)
Custom plugin Anomalies (by Adem)
Profile BetterNPC
Realistic zombies on the map
The atmosphere of the apocalypse
This map is constantly supported and updated for the current version of the game with all updates!
Description of Plugins:
Emission - Once every 2 - 4 hours, a timer message appears and a large-scale change in the weather and effects occurs, radiation begins to spread, the screen shakes, trees fall and the effects of this event appear. Players need to find shelter underground or in their house (the higher the building level, the less radiation damage will be).
Commands for plugins:
/emissionstart
/emissionstop
Anomalies - There are 4 types of Anomalies on the map, they appear after the end of the Emission. 1 anomaly is electrical (damage is inflicted on the player who is inside the anomaly, configured in the config), 2 anomaly is fiery (there are funnels in the radius, if you step on them, flames are released into the air, you can deactivate the anomaly by throwing a stone into the funnel, there is damage to the player), 3 anomaly is a bubble (in the radius of the bubbles breaks, if the player is too close to it, it will be thrown to the side or into the air, damage is caused only by the player falling), 4 anomaly - light (the most dangerous anomaly, when a blue ray appears, you need to turn away from it sharply, otherwise you will be blinded and a lot of damage will be done, it is configured in the config).
/spawnanomaly presetName - spawns an anomaly in a random position;
/killanomaly - destroys the anomaly closest to the player;
/killallanomalies - destroys all anomalies on the map;
/spawnanomalymypos presetName - will spawn an anomaly in your position
Artifacts - These are stones with some improvements to the player's characteristics, these are increased rates, lack of radiation, increased processing of components (increased extraction of resources from processing), HP recovery (takes away water and food). These artifacts only work in the player's fast slots and have their own HP, which is not repaired. These artifacts can only be found in anomalies with a metal detector in hand.
/giveartifact customShortName - give the artifact to yourself
giveartifact customShortName userId - give the artifact to the player with the userId
Map Skinner - we change this plugin skins on some objects installed on the map, for atmospheric effect.
Npc Moving Control - this plugin controls the radius of movement of the NPCs installed in the editor and changes their clothes to random hazmats.
These plugins were created for the map as a bonus. When evaluating the map itself, please do not touch on the topic of plugins. The map can work without these plugins.
Custom Monuments:
Icarus
Cultural Center
Zalesye
Orbita Station
Blocked Tunnel
Uranium Mining
Unfinished Scanner
Yanov Station
Hot Runner
Cemetery of Onlookers
Loners Cave
Radioactive Waste Storage
Anomaly Ribs
Startup Failure
Dead man Mine
Supply Depot
Dire Thicket
Vent
Distribution Substation
Danger Tunnel
Skladovsk
Dredger
Old Church
Secret Bunker
Cage
Machine Station
Repair Factory
interesting places to build a base marked X
Shelters for escape from radiation Emission, marked with the letter S
Monument Facepunch:
Launch Site
Missile Silo
Junkyard
Harbor 1 and 2
Arctic Research Base
Satellite Dish
Airfield
Bandit Camp
Outpost
Giant Excavator Pit
Water Treatment
Military Tunnel
The Dome
Sewer Branch
Ranch
Fishing Village 1,2,3
Lighthouse
Underwater Lab
Railway
HQM, Sulfur, Stone Quarry
Roadside Monument
RadTown
Water Well
Ziggurat
ExtraEvents can run multiple different and custom competitive events for players to win prizes; each event is highly configurable including chat/GameTip messages & items, commands, and/or kits rewards for one or more winners; regularly optimized to be as lightweight & efficient as possible; additional events and features planned.
The configuration may seem long but it's simply repetitive to allow for greater customization. ExtraEvents comes out of the box running a random event every 1-2 hours with a scrap reward of 100 for the top player and a participation reward of 10 scrap for everyone else who participates in the event! Custom events and rewards can be added.
Join my Discord for support and updates: https://discord.gg/teSffnDQ7N
Events Included
AnimalAnnihilation - Kill animals to win!
BarrelBreakers - Break barrels to win!
BerryBash - Gather wild berries to win!
BotBash - Kill bots to win!
CrateClash - Loot crates to win!
FishingFrenzy - Catch fish to win!
HempHunters - Gather wild hemp to win!
MushroomMadness - Gather wild mushrooms to win!
OreWar - Mine ore nodes to win!
PlayerBattle - Kill players to win!
ResourceRumble - Collect resources to win!
RoadsignRun - Destroy roadsigns to win!
TreeTrimmers - Chop trees to win!
TunnelTussle - Kill tunnel dwellers to win!
UnderwaterWar - Kill underwater lab scientists to win!
Additional Events Included
HighQualBrawl - Collect high quality metal ore at 3x (configurable) the normal rate
MetalMash - Collect metal ore at 3x (configurable) the normal rate
ResourceRun - Collect resources at 2x (configurable) the normal rate!
StoneSmash - Collect stones at 3x (configurable) the normal rate
SulfurSpree - Collect sulfur ore at 3x (configurable) the normal rate
WoodWhirl - Collect wood at 3x (configurable) the normal rate
Custom Events Can Be Added!
Event Types
destroy - counts destroyed/killed NPCs, players, barrels, roadsigns, etc.
loot - counts looted crates & loot containers
collect - adds collected resources/entity amounts together (adds total number of entities collected [500 wood, 1000 metal.ore, 10 cloth, etc.])
dispense - counts collected resource/entity types (counts entity types distributed [wood = 1 point, metal.ore = 1 point, cloth = 1 point, etc.])
fish - counts caught fish or killed sharks
gather - Adds gathered resources/entity amounts together when picked up from the ground (adds total number of entities collected [10 cloth, 1 mushroom, 1 red.berry, etc.])
Permissions
extraevents.admin
Admin Commands (Console & Chat) (requires extraevents.admin permission)
extraevents start - Start random event manually (regardless of Minimum Players Online) [/extraevents start]
extraevents start EventName - Start event manually (case sensitive (uses Event key/identifier, not DisplayNames)) [/extraevents start EventName]
extraevents end - End current event [/extraevents end]
Player Chat Commands
/extraevents ui - Toggle the UI visibility
/extraevents image - Toggle event image visiblity independent from UI
/extraevents sound - Toggle event sounds
ADD CUSTOM EVENTS
"BoarBrawl": {
"Enable Event": true,
"Event Name": "BoarBrawl",
"Event Description": "Kill boar to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "destroy",
"Event Length (seconds)": 600,
"Event Entities": [
"boar"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.boarbrawl",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
}
Add extra winner positions to each event by adding to the Event Reward(s) [] group and extra Rewards by adding to the Item(s) [], Command(s) [], and Kits[] groups.
Example (First winner receives 100 Scrap, 1 Pookie, and 10,000 RP. Second winner receives 5,000 RP and Farm Kit)
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "{player_name} scored first place in the {event_name} event with {points_scored} points and won {rewards_list}!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Pookie",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "pookie.bear",
"Item Skin ID": 0,
"Min Item Amount": 1,
"Max Item Amount": 1
},
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": true,
"Command Probability %": 100,
"Command Display Name": "10,000 RP",
"Command": "sr add {player.id} 10000"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
},
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "{player_name} scored second place in the {event_name} event with {points_scored} points and won {rewards_list}!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": false,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": true,
"Command Probability %": 100,
"Command Display Name": "5,000 RP",
"Command": "sr add {player.id} 5000"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": true,
"Kit Probability %": 100,
"Kit Display Name": "Farm Kit",
"Kit": "farmkit"
}
]
}
]
FAQ
Q: Is there a limit to the number of custom events I can create?
Add as many custom events as you want! All custom "Event Types" and "Additional Event Types" must have a unique identifier (EX: "OreWar_Metal", "ResourceRumble_Stones", "ScarecrowSniper", etc.), must use the correct "Event Type" (EX: "dispense", "collect", "destroy", etc.), and must target the appropriate "Event Entities" (EX: "metal.ore", "stones", "scarecrow", etc.)
Q: Can I add custom Additional Event Types?
Yes! Same as the "Event Types" you can have as many "Additional Event Types" as you'd like, so long as they have a unique identifier (EX: "ResourceRun_Stones", etc.), use the correct "Event Type" (EX: "multiply"), and target the appropriate "Event Entities" (EX: "metal.ore", "stones", etc.)
Q: Is there a limit to the number of reward positions?
Nope, the sky is the limit! The plugin will automatically read any reward position you add to the Event Reward(s)[] group. Give rewards to the top 100 players if you want.
Q: Is there a limit to the number of items, commands, kits, etc. each player can win?
Again the sky is the limit! The plugin will read each item[], command[], kit[], etc. you add to the reward position as long as it is valid and enabled. Invalid items, commands, kits, etc. will be attempted and skipped on failure.
Q: Can I remove an entire event from the config file if I'm not using it?
No, if you remove an entire event from the configuration file it will re-add that event in its default state on reload. Use "Enable Event": false, to completely disable specific events.
Q: What is the ExtraEvents.data file? What does it do? Why can't I read it? Can I delete it?
The ExtraEvents.data file simply stores PlayerIDs for players who have disabled their event UIs & images and that is all. ExtraEvents uses an efficient ProtoBuf method of saving data to optimize performance (originally created by Google) which saves this file in binary and is why your average reader cannot compile it. If you delete the ExtraEvents.data file it will enable the UI and images for all of your players and they would have to disable it again manually.
Q: What is (r g b a)?
(r g b a) stands for (red green blue alpha[opacity]) and is a way of formatting colors, specifically for UI elements in our case. You can convert HEX (#FF0000) to RGBA (255 0 0 1.0) using online guides. Support for HEX and English colors coming soon. https://www.w3schools.com/colors/colors_hexadecimal.asp
Q: Can I add multiple images per event?
Sure, it will display any image you have in the Event Image(s)[] group.
Hooks for Developers
private void OnExtraEventStart(string eventIdentifier, string eventName, string eventDesc)
{
PrintWarning($"Event Identifier: {eventIdentifier} Event Start Name: {eventName} Event Desc: {eventDesc}");
}
private void OnExtraEventEnd(string eventIdentifier, string eventName, string eventDesc)
{
PrintWarning($"Event Identifier: {eventIdentifier} Event End Name: {eventName} Event Desc: {eventDesc}");
}
private void OnExtraEventWinnerItem(ItemDefinition item, BasePlayer winningPlayer)
{
PrintWarning($"Item Name: {item.displayName.english} Winner Name: {winningPlayer.displayName}");
}
private void OnExtraEventWinnerCommand(string command, BasePlayer winningPlayer)
{
PrintWarning($"Command: {command} Winner Name: {winningPlayer.displayName}");
}
private void OnExtraEventWinnerKit(string kitName, object kitSuccess, BasePlayer winningPlayer)
{
PrintWarning($"Kit: {kitName} Success: {kitSuccess} Winner Name: {winningPlayer.displayName}");
}
private void OnExtraEventParticipationItem(ItemDefinition item, BasePlayer winningPlayer)
{
PrintWarning($"Item Name: {item.displayName.english} Winner Name: {winningPlayer.displayName}");
}
private void OnExtraEventParticipationCommand(string command, BasePlayer winningPlayer)
{
PrintWarning($"Command: {command} Winner Name: {winningPlayer.displayName}");
}
private void OnExtraEventParticipationKit(string kitName, object kitSuccess, BasePlayer winningPlayer)
{
PrintWarning($"Kit: {kitName} Success: {kitSuccess} Winner Name: {winningPlayer.displayName}");
}
Default Config
{
"General Options": {
"Chat Prefix": "<color=purple>ExtraEvents:</color>",
"Chat Icon (Steam64 ID)": 76561199519603325,
"Minimum Players Online to Automatically Start Random Event": 3,
"Auto Random Event Start Time Min (seconds)": 3600,
"Auto Random Event Start Time Max (seconds)": 7200,
"Enable Console Messages": true,
"Enable Log File": true,
"Chat Command": "extraevents",
"Admin Permission": "extraevents.admin",
"All Events Permission (optional, overrides individual event permissions if enabled)": "extraevents.all"
},
"Event Types": {
"AnimalAnnihilation": {
"Enable Event": true,
"Event Name": "AnimalAnnihilation",
"Event Description": "Kill animals to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "destroy",
"Event Length (seconds)": 600,
"Event Entities": [
"chicken",
"stag",
"boar",
"wolf",
"wolf2",
"bear",
"polarbear",
"crocodile",
"panther",
"tiger",
"snake.entity"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.animalannihilation",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
},
"BarrelBreakers": {
"Enable Event": true,
"Event Name": "BarrelBreakers",
"Event Description": "Break barrels to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "destroy",
"Event Length (seconds)": 600,
"Event Entities": [
"loot-barrel-1",
"loot-barrel-2",
"loot_barrel_1",
"loot_barrel_2",
"oil_barrel"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.barrelbreakers",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
},
"BerryBlast": {
"Enable Event": true,
"Event Name": "BerryBlast",
"Event Description": "Gather wild berries to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "gather",
"Event Length (seconds)": 600,
"Event Entities": [
"black.berry",
"blue.berry",
"green.berry",
"red.berry",
"white.berry",
"yellow.berry"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.berryblast",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
},
"BotBash": {
"Enable Event": true,
"Event Name": "BotBash",
"Event Description": "Kill bots to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "destroy",
"Event Length (seconds)": 600,
"Event Entities": [
"Scientist",
"scientistnpc_roam",
"scientistnpc_patrol",
"scientistnpc_junkpile_pistol",
"scientistnpc_peacekeeper",
"scientistnpc_excavator",
"scientistnpc_full_any",
"scientistnpc_full_lr300",
"scientistnpc_oilrig",
"scientistnpc_cargo",
"scientistnpc_cargo_turret_any",
"scientistnpc_cargo_turret_lr300",
"scientistnpc_heavy",
"scientistnpc_full_shotgun",
"scientistnpc_outbreak",
"scarecrow",
"zombie",
"npc_underwaterdweller",
"npc_tunneldweller"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.botbash",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
},
"CrateClash": {
"Enable Event": true,
"Event Name": "CrateClash",
"Event Description": "Loot crates to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "loot",
"Event Length (seconds)": 600,
"Event Entities": [
"crate_basic",
"crate_elite",
"crate_normal",
"crate_normal_2",
"crate_normal_2_food",
"crate_normal_2_medical",
"crate_underwater_basic",
"crate_underwater_advanced",
"crate_tools",
"crate_mine",
"minecart",
"vehicle_parts",
"hiddenhackablecrate",
"codelockedhackablecrate",
"codelockedhackablecrate_oilrig",
"supply_drop",
"bradley_crate",
"heli_crate",
"crate_ammunition",
"crate_fuel",
"crate_medical",
"crate_food_1",
"crate_food_2",
"foodbox",
"loot_trash",
"trash-pile-1",
"tech_parts_1",
"tech_parts_2",
"wagon_crate_normal",
"wagon_crate_normal_2",
"wagon_crate_normal_2_food",
"wagon_crate_normal_2_medical",
"giftbox_loot",
"presentdrop",
"xmastunnellootbox",
"crate_basic_jungle"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.crateclash",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
},
"FishingFrenzy": {
"Enable Event": true,
"Event Name": "FishingFrenzy",
"Event Description": "Catch fish to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "fish",
"Event Length (seconds)": 600,
"Event Entities": [
"fish",
"fish.herring",
"fish.yellow_perch",
"fish.brown_trout",
"fish.anchovy",
"fish.sardine",
"simpleshark",
"fish.troutsmall",
"fish.catfish",
"fish.salmon",
"fish.orangeroughy"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.fishingfrenzy",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
},
"HempHunters": {
"Enable Event": true,
"Event Name": "HempHunters",
"Event Description": "Gather wild hemp to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "gather",
"Event Length (seconds)": 600,
"Event Entities": [
"cloth"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.hemphunters",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
},
"MushroomMadness": {
"Enable Event": true,
"Event Name": "MushroomMadness",
"Event Description": "Gather wild mushrooms to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "gather",
"Event Length (seconds)": 600,
"Event Entities": [
"mushroom"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.mushroommadness",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
},
"OreWar": {
"Enable Event": true,
"Event Name": "OreWar",
"Event Description": "Mine ore nodes to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "dispense",
"Event Length (seconds)": 600,
"Event Entities": [
"sulfur.ore",
"metal.ore",
"stones"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.orewar",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
},
"PlayerBattle": {
"Enable Event": true,
"Event Name": "PlayerBattle",
"Event Description": "Kill other players to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "destroy",
"Event Length (seconds)": 600,
"Event Entities": [
"player"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.playerbattle",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
},
"ResourceRumble": {
"Enable Event": true,
"Event Name": "ResourceRumble",
"Event Description": "Collect resources to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "collect",
"Event Length (seconds)": 600,
"Event Entities": [
"sulfur.ore",
"metal.ore",
"hq.metal.ore",
"stones",
"wood",
"cloth",
"leather"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.resourcerumble",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
},
"RoadsignRun": {
"Enable Event": true,
"Event Name": "RoadsignRun",
"Event Description": "Destroy roadsigns to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "destroy",
"Event Length (seconds)": 600,
"Event Entities": [
"roadsign1",
"roadsign2",
"roadsign3",
"roadsign4",
"roadsign5",
"roadsign6",
"roadsign7",
"roadsign8",
"roadsign9"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.roadsignrun",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
},
"TreeTrimmers": {
"Enable Event": true,
"Event Name": "TreeTrimmers",
"Event Description": "Chop trees to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "dispense",
"Event Length (seconds)": 600,
"Event Entities": [
"wood"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.treetrimmers",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
},
"TunnelTussle": {
"Enable Event": true,
"Event Name": "TunnelTussle",
"Event Description": "Kill tunnel dwellers to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "destroy",
"Event Length (seconds)": 600,
"Event Entities": [
"npc_tunneldweller"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.tunneltussle",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
},
"UnderwaterWar": {
"Enable Event": true,
"Event Name": "UnderwaterWar",
"Event Description": "Kill underwater lab scientists to win!",
"Event Type (destroy, loot, collect, dispense, fish, gather)": "destroy",
"Event Length (seconds)": 600,
"Event Entities": [
"npc_underwaterdweller"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.underwaterwar",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event Leaderboard": {
"Enable Leaderboard UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center",
"UI Player List Text Alignment (left, right, center)": "center",
"UI Pending Participation Message": "No one has played... yet."
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"No Participants": "No one participated in the <color=purple>{event_name}</color> event",
"Multiple Winners Notification Delay (seconds)": 4.0
},
"Event Reward(s)": [
{
"Enable Reward": true,
"Reward Probability %": 100,
"Reward Notification": {
"Enable Reward Notification": true,
"Only Send Reward Notification To Winning Player?": false,
"Reward Notification": "<color=purple>{player_name}</color> scored <color=purple>first place</color> in the <color=purple>{event_name}</color> event with <color=purple>{points_scored} points</color> and won <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Item(s) List": 999,
"Max Number from Item(s) List": 999,
"Randomize Item(s) List": false,
"Item(s)": [
{
"Enable Item": true,
"Item Probability %": 100,
"Item Display Name": "Scrap",
"Change Item Name to Item Display Name in Player Inventory": false,
"Item Shortname": "scrap",
"Item Skin ID": 0,
"Min Item Amount": 100,
"Max Item Amount": 100
}
],
"Command(s)": [
{
"Enable Command": false,
"Command Probability %": 100,
"Command Display Name": "VIP Role",
"Command": "oxide.usergroup add {player.id} vip"
}
],
"Kit(s) (plugin required)": [
{
"Enable Kit": false,
"Kit Probability %": 100,
"Kit Display Name": "PVP Kit",
"Kit": "pvpkit"
}
]
}
],
"Participation Reward": {
"Enable Participation Reward": true,
"Give Participation Reward to Event Reward(s) Winner(s)?": false,
"Participation Reward Probability %": 100,
"Participation Reward Notification": {
"Enable Participation Reward Notification": true,
"Only Send Participation Reward Notification To Participating Players?": false,
"Participation Reward Notification": "Everyone else who participated in the <color=purple>{event_name}</color> event received <color=purple>{rewards_list}</color>!",
"Separate {rewards_list} With Commas?": true
},
"Min Number from Participation Reward Item(s) List": 999,
"Max Number from Participation Reward Item(s) List": 999,
"Randomize Participation Reward Item(s) List": false,
"Participation Reward Item(s)": [
{
"Enable Participation Reward Item": true,
"Participation Reward Item Probability %": 100,
"Participation Reward Item Display Name": "Scrap",
"Change Item Name to Participation Reward Item Display Name in Player Inventory": false,
"Participation Reward Item Shortname": "scrap",
"Participation Reward Item Skin ID": 0,
"Participation Reward Min Item Amount": 10,
"Participation Reward Max Item Amount": 10
}
],
"Participation Reward Command(s)": [
{
"Enable Participation Reward Command": false,
"Participation Reward Command Probability %": 100,
"Participation Reward Command Display Name": "Participant Role",
"Participation Reward Command": "oxide.usergroup add {player.id} participant"
}
],
"Participation Reward Kit(s) (plugin required)": [
{
"Enable Participation Reward Kit": false,
"Participation Reward Kit Probability %": 100,
"Participation Reward Kit Display Name": "Farm Kit",
"Participation Reward Kit": "farmkit"
}
]
}
}
},
"Additional Event Types": {
"HighQualBrawl": {
"Enable Event": true,
"Event Name": "HighQualBrawl",
"Event Description": "Collect high quality metal ore at 3x the normal rate!",
"Event Type (multiply)": "multiply",
"Event Length (seconds)": 600,
"Event Multiplier": 3.0,
"Event Entities": [
"hq.metal.ore"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.highqualbrawl",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event UI": {
"Enable UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center"
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab"
}
},
"MetalMash": {
"Enable Event": true,
"Event Name": "MetalMash",
"Event Description": "Collect metal ore at 3x the normal rate!",
"Event Type (multiply)": "multiply",
"Event Length (seconds)": 600,
"Event Multiplier": 3.0,
"Event Entities": [
"metal.ore"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.metalmash",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event UI": {
"Enable UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center"
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab"
}
},
"ResourceRun": {
"Enable Event": true,
"Event Name": "ResourceRun",
"Event Description": "Collect resources at 2x the normal rate!",
"Event Type (multiply)": "multiply",
"Event Length (seconds)": 600,
"Event Multiplier": 2.0,
"Event Entities": [
"sulfur.ore",
"metal.ore",
"hq.metal.ore",
"stones",
"wood",
"cloth",
"leather"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.resourcerun",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event UI": {
"Enable UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center"
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab"
}
},
"StoneSmash": {
"Enable Event": true,
"Event Name": "StoneSmash",
"Event Description": "Collect stones at 3x the normal rate!",
"Event Type (multiply)": "multiply",
"Event Length (seconds)": 600,
"Event Multiplier": 3.0,
"Event Entities": [
"stones"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.stonesmash",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event UI": {
"Enable UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center"
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab"
}
},
"SulfurSpree": {
"Enable Event": true,
"Event Name": "SulfurSpree",
"Event Description": "Collect sulfur ore at 3x the normal rate!",
"Event Type (multiply)": "multiply",
"Event Length (seconds)": 600,
"Event Multiplier": 3.0,
"Event Entities": [
"sulfur.ore"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.sulfurspree",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event UI": {
"Enable UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center"
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab"
}
},
"WoodWhirl": {
"Enable Event": true,
"Event Name": "WoodWhirl",
"Event Description": "Collect wood at 3x the normal rate!",
"Event Type (multiply)": "multiply",
"Event Length (seconds)": 600,
"Event Multiplier": 3.0,
"Event Entities": [
"wood"
],
"Enable Event Permission": false,
"Event Permission": "extraevents.woodwhirl",
"Show UI And Notifications To Players Without Event Permission?": false,
"Event Image(s)": [
{
"Enable Image": true,
"Image URL": "https://avatars.cloudflare.steamstatic.com/9df6fd69fc80ebe9387bb7a58ff4ee01d092af11_full.jpg",
"Image Transparency (0.0 - 100.0)": 75.0,
"Image Anchors Min (x y)": "0.8 0.2",
"Image Anchors Max (x y)": "0.83 0.245"
}
],
"Event UI": {
"Enable UI": true,
"UI Anchors Min (x y)": "0.695 0.025",
"UI Anchors Max (x y)": "0.83 0.1975",
"UI Background Color (r g b a)": "255 255 255 0.2",
"UI Text Color (r g b a)": "255 255 255 1.0",
"UI Text Outline Color (r g b a)": "0 0 0 0.25",
"UI Text Alignment (left, right, center)": "center"
},
"Event Notifications": {
"Enable Chat Notifications": true,
"Event Chat Prefix": "",
"Event Chat Icon (Steam64 ID)": 0,
"Enable GameTip Notifications": false,
"GameTip Style (info OR alert OR error)": "info",
"GameTip Duration (seconds)": 3.0,
"Enable Event Upcoming Notification": false,
"Event Upcoming Delay (seconds) (time before event starts after Event Upcoming Notification)": 30,
"Event Upcoming": "The <color=purple>{event_name}</color> event will start in {upcoming_announcement_delay} seconds! <color=purple>{event_description}</color>",
"Event Starting": "The <color=purple>{event_name}</color> event has started! <color=purple>{event_description}</color>",
"Event Starting Sound": "assets/bundled/prefabs/fx/item_unlock.prefab",
"Event Ending": "The <color=purple>{event_name}</color> event has ended.",
"Event Ending Sound": "assets/bundled/prefabs/fx/item_unlock.prefab"
}
}
},
"Version": {
"Major": 1,
"Minor": 14,
"Patch": 0
}
}
PortalSystem
Fast travel that stays balanced for any Rust server.
PortalSystem adds placeable, name-linked portals that teleport players between a matching pair — while giving you full admin control over cooldowns, limits, costs, and sharing.
And yes: Map/Monument Portals are included too, so you can create fixed portals for hubs, events, monuments, arenas, and custom locations — perfect for building a real server travel network.
Perfect for: PvE, RPG/RP, Hub servers, Vanilla+, and PvP servers that want fast travel without abuse.
✨ Features
Portal Pair System (name linking): Portals link by name — only 2 portals can share the same name (A ↔ B). Use one to teleport to the other.
Player Portals (placeable item): Portals are placed from an item (configurable name + skin).
Includes anti-stack to prevent stacking/abuse.
Map / Monument Portals: Admins can place fixed portals on monuments / locations using /portal commands (great for hubs & travel routes).
Portal UI Menu: Clean UI to manage portal settings in-game (distance-limited to prevent remote abuse).
Sharing Modes: Set portals as Everyone / Only Me / My Team.
Optional clan logic (treat clanmates/allies as team) if enabled.
Access Mode: Set a portal to Entry / Exit / Both.
Teleport Cooldowns: Global cooldown + VIP overrides (permission → cooldown seconds).
Portal Limits: Default portal limit per player + optional permission limits (portalsystem.limit.X).
(Limit 0 = unlimited.)
Entry Costs (optional): Charge players to use portals via:
Items
Economics
ServerRewards
Includes a bypass permission for free entry.
Pickup System: Pickup with hammer right-click hold (configurable) with optional durability/HP behavior.
Portal Visual Options: Optional name text above portals + optional map marker support + optional placement indicator.
Loot Integration (optional): Add portal items to loot containers with configurable chances.
Map Portals (Custom Maps)
PortalSystem supports map-placed portals for custom maps, hubs, monuments, arenas, and event areas.
How to use
1. Enable it in config:
[Custom Maps] Enable map-placed portals from prefabs = true
2. Place any prefab on your map and set its Name to: portalsystem.<portal name>
(Prefix is configurable via [Custom Maps] Prefab name prefix (e.g. portalsystem.) — default: portalsystem.)
3. ✅ 2 portals with the same name will link (A ↔ B).
⚠️ Important:
Make sure you don’t break the prefab, and don’t add these portals as part of other prefabs.
💬 Commands
Player
/buyportal → Buy a portal (if enabled; Economics/ServerRewards).
/giveportal [amount] → Give yourself portal items.
/giveportal <player> [amount] → Give portal items to another player.
(Also available as console: giveportal <player> [amount].)
Admin
/spawnportal → Spawns a portal at your look position and opens its UI.
/portal add <name> → Add a Map/Monument Portal where you’re looking.
/portal remove → Remove the portal you’re looking at (monument).
/portal reset → Remove all portals on the current monument.
/portal edit → Edit the portal you’re looking at.
/portal list → List monument portals on the current monument.
/portal list all → List all monument portals (grouped by monument) in console.
📁 Example Configuration
🔐 Permissions
portalsystem.use → Use portals (teleport)
portalsystem.place → Place portals
portalsystem.give → Use /giveportal
portalsystem.spawn → Use /spawnportal
portalsystem.admin → Access /portal map/monument portal management
portalsystem.buy → Required for /buyportal (when enabled)
portalsystem.free → Free /buyportal purchase (bypass buy cost)
portalsystem.freeuse → Bypass entry cost when using portals (configurable)
portalsystem.limit.X → Extra portal limits via permission (example: portalsystem.limit.6)
VIP cooldown perms → whatever you define in the VIP cooldown override list
🔗 API
Item API_CreatePortalItem() // returns a ready-to-use portal item
BaseEntity API_SpawnPortal(Vector3 position, Quaternion rotation, string name) // spawns a portal entity at position/rotation and registers it (spawn portal)
🎯 Why Choose PortalSystem?
Because fast travel should be useful for players and controllable for admins.
PortalSystem gives you a clean paired portal system, plus Map/Monument Portals for hubs and events all while keeping things fair with cooldowns, limits, costs, and sharing rules.
Welcome to UltimateCases - the most exciting case opening experience for Rust servers! Give your players the thrill of unboxing rare items with beautiful roulette animations, create unlimited custom cases with unique rewards, and build a thriving economy through our advanced key exchange system. Whether you want to reward active players with free cases or monetize your server with premium loot boxes, UltimateCases has everything you need to keep players engaged and coming back for more!
⭐️ Why Choose UltimateCases?
Beautiful Unboxing Experience - Watch your players' excitement as they spin the roulette and discover their rewards! Customizable animations, rarity backgrounds, and sound effects create an unforgettable opening experience.
Easy Case Creation - No coding required! Use our in-game visual editor to create cases, add items, set prices, and configure everything you need. Edit cases on the fly without touching configuration files.
Monetize Your Server - Turn your server into a profitable venture with our key exchange system. Players can buy keys using any currency (Economics, ServerRewards, scrap, etc.) and you control the economy.
Reward Active Players - Keep players engaged with free cases! Set playtime requirements and cooldowns to reward your most dedicated community members.
Protect Your Economy - Advanced limits and restrictions prevent abuse. Set daily limits, lifetime limits, minimum playtime requirements, and block case opening during combat or raids.
Store Rewards Safely - Built-in inventory system stores all case rewards securely. Players can retrieve items when they're ready, with options to persist items across wipes.
Share the Excitement - Announce rare wins in chat and Discord! Customizable logging and webhook integration lets your community celebrate big wins together.
NPC Traders at Monuments - Spawn NPCs at monuments where players can exchange keys for currency. Perfect for creating trading hubs and encouraging exploration!
VIP Benefits - Reward your supporters with exclusive discounts on case opening and key exchange. Multiple VIP tiers with customizable benefits.
Works Everywhere - Seamlessly integrates with ServerPanel, supports all major economy plugins, and works with ImageLibrary for perfect image management.
💰 Key Exchange System
Turn any currency into case keys! Our flexible exchange system supports:
Multiple Currencies - Use Economics, ServerRewards, BankSystem, IQEconomic, or any item (scrap, sulfur, etc.) as currency for key exchange.
Bulk Discounts - Reward players who exchange more keys! Automatic discounts: 5% off for 10+ keys, 10% off for 25+ keys, 15% off for 50+ keys, 20% off for 100+ keys.
VIP Discounts - Give your supporters extra savings! Configure permission-based discounts (5%, 10%, 15%, 20%) with custom daily limits.
Daily Limits - Prevent abuse by limiting how many keys players can exchange per day. Perfect for controlling your server economy.
Monument NPCs - Spawn traders at monuments! Players can visit NPCs at lighthouse, outpost, or any monument to exchange keys. Fully customizable appearance and rates.
📦 Smart Inventory System
Never lose a reward again! Our inventory system stores all case rewards safely:
Secure Storage - All case rewards are automatically stored in your personal inventory, accessible anytime through the UI.
Wipe Protection - Choose whether items persist across server wipes or are cleared automatically. Perfect for seasonal rewards!
Safe Retrieval - Items can only be retrieved when it's safe - no retrieving during combat, raids, or building blocked situations.
Post-Wipe Cooldown - Optional cooldown after wipe before items can be retrieved, helping maintain server balance.
📬 Video Overview
🖼️ Showcase
Templates
Fullscreen Template
ServerPanel V1 Template
ServerPanel V2 Template
ServerPanel V4 Template
In-Game Editor
Monument Trader
How to get Keys?
🎮 Commands
/opencases or /cases - Opens the cases interface for players
/cases.trader - Chat command for managing Monument Traders (requires ultimatecases.edit permission)
/cases.trader create [currencyID] [defaultKeys] [prefab] - Create a new trader bot
/cases.trader start <botIndex> - Enter edit mode for a trader
/cases.trader move - Update trader position (requires edit mode)
/cases.trader rotate <angle> - Set trader rotation (requires edit mode)
/cases.trader save - Save and reload trader (requires edit mode)
/cases.trader cancel/stop - Cancel edit mode
/cases.trader list - Show all configured trader bots
/cases.trader teleport <botIndex> - Teleport to a trader bot location
/cases.trader help - Show help for trader commands
cases.give - Console/Rcon command for giving keys or cases to players (admin only)
cases.give <player> keys <amount> - Give keys to a player
cases.give <player> case <caseID> [amount] - Give case(s) to a player
Examples: cases.give PlayerName keys 100 or cases.give 76561198000000000 case 0 5
cases.convert - Console command for converting cases from old Cases plugin (requires UltimateCasesConverter plugin, admin only)
cases.convert - Convert all cases and add them to existing UltimateCases data
cases.convert true - Clear existing UltimateCases data before converting (fresh start)
🛡️ Permissions
ultimatecases.edit - Permission to edit cases, items, and modals using the in-game editor. Required to access all editor functions and manage Monument Traders.
ultimatecases.discount1 - 5% discount on case opening
ultimatecases.discount2 - 10% discount on case opening
ultimatecases.discount3 - 15% discount on case opening
ultimatecases.vip1 - 5% discount on key exchange, with optional custom daily limit
ultimatecases.vip2 - 10% discount on key exchange, with optional custom daily limit
ultimatecases.vip3 - 15% discount on key exchange, with optional custom daily limit
ultimatecases.vip4 - 20% discount on key exchange, with optional custom daily limit
Note: Additional permissions can be configured in the config file for demo mode and quick unbox mode. These are optional and can be left empty to disable the features.
📚 FAQ
Q: How do I open the Case Editor?
A: To open the Case Editor:
Make sure you have the ultimatecases.edit permission
Open the cases menu using /opencases or /cases
Look for the "EDIT" button in the header of the interface (usually in the top-right area)
Click the "EDIT" button to open the Case Editor
From here you can create new cases, edit existing cases, add items, configure prices, permissions, and all case settings
Q: How do I open the Item Editor?
A: To open the Item Editor:
First, open the Case Editor (see instructions above)
Select a case from the list or create a new case
In the case editor, you'll see a section for items
Click "ADD ITEM" or click on an existing item to edit it
The Item Editor will open where you can configure item type, chance, image, title, description, permissions, and all item-specific settings (weapons, contents, genes, etc.)
Q: How do I open the Modal Editor?
A: To open the Modal Editor:
Make sure you have the ultimatecases.edit permission
Open the cases menu and navigate to any modal window (like the keys exchange modal)
Look for the "EDIT" button that appears on modal windows when you have edit permission
Click the "EDIT" button to open the Modal Editor
From here you can edit modal content, text elements, images, buttons, and all modal settings
Q: How do I create a case?
A: It's super easy! Open the cases menu in-game, click the "EDIT" button in the header, then click "ADD CASE" in the Case Editor. Configure the case title, image, price, permission, and add items. No file editing needed!
Q: Can players get free cases?
A: Yes! Enable Free Case Settings for any case. Set minimum playtime (e.g., 2 hours) and cooldown (e.g., 24 hours). Players meeting requirements can open the case for free once per cooldown period.
Q: How do I set up key exchange?
A: Go to Exchange Settings in the config. Add currencies (Economics, ServerRewards, scrap, etc.), set exchange rates, configure discounts, and you're done! Players can exchange currency for keys instantly.
Q: What can I put in cases?
A: Almost anything! Add items (weapons with attachments, containers with contents, blueprints, plant seeds with genes), or execute commands when cases are opened. Full customization for every reward type.
Q: How do Monument Traders work?
A: Configure NPCs in Exchange Settings to spawn at monuments. Players can visit these NPCs to exchange keys for currency. Set the monument (lighthouse, outpost, etc.), NPC appearance, position, and exchange rate.
Q: Can I limit how many cases players can open?
A: Absolutely! Set daily limits (e.g., 5 cases per day), total lifetime limits (e.g., 50 cases total), minimum playtime requirements, and block opening for a period after server wipe.
Q: How does the inventory system work?
A: When players open cases, rewards go to their inventory automatically. Players can access inventory through the UI and retrieve items when ready. Configure whether items persist across wipes.
Q: Can I announce rare wins?
A: Yes! Enable chat announcements and Discord webhooks. Set rarity threshold (e.g., only announce items with 5% or lower chance), customize message format, and share the excitement with your community!
Q: How do I add UltimateCases to ServerPanel?
A: In ServerPanel, create a new category with Type: "Plugin", Plugin Name: "UltimateCases", Plugin Hook: "API_OpenPlugin". The plugin integrates seamlessly!
Q: Can I give VIP players discounts?
A: Yes! Configure permission-based discounts in Case Opening Discounts and Exchange Privilege Settings. Set different discount percentages for different VIP tiers.
Q: How do I configure the plugin config file?
A: The config file is located at oxide/config/UltimateCases.json (or carbon/config/UltimateCases.json for Carbon). Here's how to configure key settings:
Template Selection: Set "Template" to "Fullscreen", "V1", "V2", or "V4"
Commands: Modify "Open UI Commands" array to add custom command aliases
Key Exchange: Configure "Exchange Settings" → "Currencies" to add currencies (Economics, ServerRewards, items, etc.)
Roulette Duration: Set "Roulette Settings" → "Default Duration" (seconds) and "Quick Mode Duration"
Sound Effects: Enable/disable sounds in "Sound Effects" section and set effect prefab paths
Logging: Configure console, file, chat, and Discord logging in "Logging Settings"
Restrictions: Enable/disable case opening restrictions in "Restrictions Settings"
Inventory: Configure inventory settings in "Inventory settings" section
After editing, reload the plugin: o.reload UltimateCases (Oxide) or c.reload UltimateCases (Carbon).
Q: How do I set up LangAPI for multi-language support?
A: To enable LangAPI support:
Make sure LangAPI plugin is installed and loaded on your server
In UltimateCases config, set "Work with LangAPI?" to true
Create language files in oxide/lang/UltimateCases/ (or carbon/lang/UltimateCases/ for Carbon)
Create files like en.json, ru.json, etc. with translation keys
Use LangAPI's translation system to translate all plugin messages
Reload the plugin to apply changes
Example translation key structure:
{
"UI_Header_Title": "Ultimate Cases",
"UI_Content_ButtonOpen": "OPEN CASE",
"UI_Content_ButtonOpenFREE": "FREE",
...
}
Q: How do I set up Monument Traders using commands?
A: To create and configure Monument Traders:
Make sure you have ultimatecases.edit permission
Go to the monument where you want to spawn a trader (e.g., lighthouse, outpost)
In server console, use: cases.trader create [currencyID] [defaultKeys] [prefab]
currencyID - ID of the currency from Exchange Settings (0, 1, 2, etc.)
defaultKeys - Default number of keys per exchange (e.g., 1)
prefab - NPC prefab path (e.g., "assets/prefabs/npc/bandit/missionproviders/missionprovider_outpost_b.prefab")
Enter edit mode: cases.trader start <botIndex> (use cases.trader list to see bot indices)
Position yourself where you want the NPC to spawn
Update position: cases.trader move
Set rotation: cases.trader rotate <angle> (0-360 degrees)
Save: cases.trader save
The NPC will spawn automatically at the configured monument
Q: How do I configure custom economy plugins?
A: To use a custom economy plugin:
In config, find "Custom Economy Settings"
Set "Use Custom Economy" to true
Set "Type" to "Plugin"
Enter "Plugin Name" (exact name as it appears in plugins list)
Configure hooks:
"Plugin Hook Add" - Hook name for adding balance (e.g., "AddPoints", "Deposit")
"Plugin Hook Remove" - Hook name for removing balance (e.g., "TakePoints", "Withdraw")
"Plugin Hook Balance" - Hook name for checking balance (e.g., "CheckPoints", "Balance")
Test the hooks work correctly by checking plugin documentation
Reload the plugin
Q: How do I configure rarity backgrounds?
A: To set up rarity backgrounds:
In config, find "Rarity Settings" → "Rarity Backgrounds"
Add entries with chance ranges and images:
"Min" - Minimum chance percentage (e.g., 0)
"Max" - Maximum chance percentage (e.g., 1)
"Image" - Background image URL for case display
"Roulette Item Background Image" - Background image URL for roulette item display
Example: Legendary (0-1%), Epic (1-5%), Rare (5-15%), Uncommon (15-50%), Common (50-100%)
Items with drop chances within each range will display the corresponding background
Q: How do I configure Discord webhook logging?
A: To set up Discord webhook logging:
Create a Discord webhook in your Discord server (Server Settings → Integrations → Webhooks → New Webhook)
Copy the webhook URL
In config, find "Logging Settings" → "Discord"
Set "Enabled" to true
Paste webhook URL in "Webhook URL"
Configure options:
"Rare Threshold" - Only log items with chance ≤ X% (0 = log all items)
"Embed Color" - Decimal color code (e.g., 15844367 for gold)
"Title" - Embed title
"Show Player Avatar" - Display player avatar in embed
"Show Item Icons" - Display item icons in embed
"Group Items" - Group multiple items in single message
"Include Statistics" - Add statistics to embed
Reload the plugin
Q: How do I configure item rewards with weapons and attachments?
A: In the Item Editor:
Set "Type" to "Item"
Enter the weapon "ShortName" (e.g., "rifle.ak")
In "Weapon" section, set "Enabled" to true
Set "Ammo Type" (e.g., "ammo.rifle.explosive")
Set "Ammo Amount" (e.g., 128)
In "Content" section, set "Enabled" to true
Add attachments in "Contents" array:
"ShortName" - Mod shortname (e.g., "weapon.mod.lasersight")
"Condition" - Item condition (0-100)
"Amount" - Usually 1 for mods
"Position" - Slot index (-1 for auto-assignment)
Save the item
Q: How do I configure command rewards in cases?
A: To add command rewards:
In Item Editor, set "Type" to "Command"
In "Command (%steamid%)" field, enter your command
Use placeholders:
%steamid% - Player's Steam ID
%username% - Player's display name
%player.x% - Player's X coordinate
%player.y% - Player's Y coordinate
%player.z% - Player's Z coordinate
Multiple commands can be separated by | or line breaks
Example: "inventory.giveto %steamid% rifle.ak 1|oxide.usergroup add %steamid% vip"
Q: How do I enable Offline Image Mode?
A: To use local images instead of downloading from internet:
In config, set "Enable Offline Image Mode" to true
Create folder "TheMevent" in oxide/data (or carbon/data for Carbon)
Download PluginsStorage (click "CODE" → "Download ZIP")
Extract the ZIP and copy all contents to the "TheMevent" folder
Reload the plugin: o.reload UltimateCases (Oxide) or c.reload UltimateCases (Carbon)
Note: For custom images, place them in the "TheMevent" folder and reference them with the "TheMevent/" prefix (e.g., "TheMevent/MyImage.png").
Q: How do I configure demo mode and quick unbox mode?
A: Demo mode allows testing cases without spending keys, and quick unbox mode speeds up animations:
In config, find "Roulette Settings"
For demo mode: Set "Demo Mode Permission" to a permission name (e.g., "ultimatecases.demo") or leave empty to disable
For quick unbox: Set "Quick Unbox Permission" to a permission name (e.g., "ultimatecases.quick") or leave empty to disable
Set "Quick Mode Duration" (seconds) - how long the quick animation should last
Grant the permissions to players who should have access
Reload the plugin
Q: How do I configure case opening restrictions?
A: To prevent case opening in certain situations:
In config, find "Restrictions Settings"
Set "Enabled" to true
Enable/disable specific restrictions:
"Block During Combat" - Requires NoEscape plugin
"Block During Raid" - Requires NoEscape plugin
"Block in Building Blocked" - Blocks when player can't build
"Block While Swimming" - Blocks when player is swimming
"Block When Player is Wounded" - Blocks when player is wounded
"Block During Duel" - Requires Duel/Duelist plugin
"Block During Helicopter Flight" - Blocks when in helicopter
"Block When Player is Sleeping" - Blocks when player is sleeping
Reload the plugin
🧪 TEST SERVER
Join our test server to experience UltimateCases yourself!
Copy the IP Address below to start playing!
connect 194.147.90.147:28015
Ready to create the ultimate case opening experience? UltimateCases gives you all the tools you need to build excitement, reward players, and monetize your server. Start creating your first case today!
This is a carefully designed, atmospheric hub area built inside a natural rock basin. At the centre, there’s a large tree with bright pink blossoms, almost cherry blossom like. The tree acts as the visual focal point and gives the space a calm but slightly mystical feel.
Around the outer edge, embedded into the rock walls, are 13 evenly spaced glowing portal entrances. There is 5 more in the centre between several small water pools. Their consistent spacing makes the hub feel organized and easy to navigate.
The whole scene is enclosed by steep rocky cliffs with patches of greenery, giving it a secluded, almost hidden sanctuary vibe, perfect for a lobby where players gather before branching out into different modes.
Contracts allows you to create versatile quests/missions that rotate periodically.
Each contract can have one or more objectives, with multiple objective types to choose from. It doesn't stop there: each objective can be augmented with objective conditions, which add additional requirements in order to progress it. This allows you to define versatile and unique quests:
You could have quests as simple as "Kill 5 scientists"...
or a little bit more challenging quests like "Kill 5 scientists with an assault rifle"
or have crazy requirements like "Kill 5 scientists, with an assault rifle OR an MP5, between 25-50m away, while being below 20 HP, while wearing a bandana and riding a horse". The possibilities are endless!
Features
Highly customizable quests/missions to help you build your unique set of goals and control difficulty beyond just progression amounts required.
Control the flow and order of how contract objectives can be completed.
10+ objective types to vary gameplay across your server
10+ objective condition types to add as many layers of challenge that you want to your objectives
Customizable categories and their rotation period, with the possibility to disable rotations altogether and manually control when contracts rotate.
Clean UI for browsing and tracking contracts.
HUD to track contracts while playing.
Permission based features for your VIP members: Max active contracts globally, Max active contracts per category and Max HUD pins.
Event logging with JSONL format support
Powerful Web editor to make editing your configs a breeze and viewing insightful charts on your JSONL logs
Motivation
The motivation behind the plugin is to give players an evolving gameplay experience on your server with an urgency aspect, with the goal of improving player engagement. Instead of making hundreds of quests available from day 1 and achievable anytime during the wipe, I wanted players to have a sense of urgency and achievement when completing quests. I also didn't want to overwhelm players with hundreds of quests to choose from. Contracts solves this by letting you define any number of contracts and assign them to timed categories that will rotate through a portion of contracts on the period you set them to. The more contracts you have, the more variety you add, without adding the mental burden of choice.
Included
While you can discard and customize the contracts, categories and presets yourself, the plugin comes with:
4 categories: Hourly (11 contracts), Daily (13 contracts), Weekly (11 contracts) and Wipe (6)
41 contracts designed to touch just about every objective types and objective conditions available. These contracts' difficulty were designed for the category they were assigned to.
Permissions
All permissions listed here are the default ones. You can configure them in the config file of the plugin.
contracts.use - allows the player to use Contracts (open the menu, accept/complete contracts, etc.)
contracts.admin - allows the player to run admin commands (manually rotate categories, reset data, view cache debug info, etc.)
Max Active Contracts - Maximum amount of contracts the player can have at a time. Largest amount is used. (-1 for unlimited)
contracts.use - 3
contracts.vip - 5
contracts.admin - -1
Max Tracked Contracts - Maximum amount of contracts the player can pin in the HUD. Largest amount is used. (-1 for unlimited. 0 disables the HUD)
contracts.use - 2
contracts.vip - 5
contracts.admin - -1
Chat Commands
Note: While the "contracts" command is the default, it can be configured to be different name(s) in the config file!
/contracts - opens the contracts menu
/contracts hud - toggles the HUD
/contracts scale <0.5 - 1.0> - adjusts the plugin's UI element's scale. (default: 1.0)
This option is designed to be set to the same as the player's Rust UI scale, configurable under the Settings > User Interface menu. No action is required for players who left Rust default UI scale (1.0), but players with a smaller scale will have their initial UI much smaller than intended. Unfortunately, the plugin cannot read the player's Rust UI scale, so it will need to be set manually. You should inform your players about this so they get the best UI!
Console Commands
contracts.rotate_category <category_id> - trigger rotation for the specified category ID.
contracts.reset_all_progress - clears all player progress data
Debugging commands
contracts.debug.refresh.all - refresh all caches (clears and rebuilds them). This is normally only done on category rotation.
contracts.debug.cache.all - Print all caches info. Replace "all" with individual cache names: attackers, card_swipe, craft, damage, kill, loot, gather, heal, fishing, crate_hack
contracts.debug.hooks - Print the subscription status of hooks (enabled or disabled, depending on if any objective needs them)
contracts.debug.tainted_items - Print information about item taints (for the Loot objectives)
contracts.debug.clear_tainted_items - Clears all taints from the loot cache
contracts.debug.transfers - Print information about item transfers (for the Loot objectives). Normally, there should be zero transfers printed most of the time. Transfers are only meant to track items movement between containers (where they start and where they end) and then automatically get cleaned up.
contracts.debug.clear_transfers - Clears the transfers cache
Configuration
Contracts has 1 config file and 3 data files that you can edit for your needs, though the plugin comes with a generous amount of pre-defined contracts (generated when you first load the plugin).
oxide/config/Contracts.json
Command - The commands that can be used to interact with the plugin
Permissions - Set the permissions for features
Use Contracts Features - Permission required to use Contracts, open the menu, accept contracts and complete them.
Admin - Permission required to use admin commands
Max Active Contracts - Maximum amount of contracts the player can have at a time. Largest amount is used. (-1 for unlimited)
Max Tracked Contracts (HUD) - Maximum amount of contracts the player can pin in the HUD. Largest amount is used. (-1 for unlimited. 0 disables the HUD)
Rewards
Show Ineligible Rewards - When true, rewards that the player is not eligible to get upon completion are dimmed. When false, ineligible rewards are hidden from the menu.
Conditions
Condition Ordering - One of "Optimized" (default), "None" or "RootOptimized"
Optimized - The plugin will re-order conditions to execute from less computationally expensive to most
None - Condition ordering are kept as defined
RootOptimized - Only conditions at the first level are optimized, not the nested ones in AND and OR conditions
HUD
Anchor Min - The HUD's bottom left anchor position (see Oxide UI position)
Anchor Max - The HUD's top right anchor position (see Oxide UI position)
Collapse Direction - One of "TopLeft" (default), "TopRight", "BottomLeft" or "BottomRight"
TopLeft = Header is above tracked contracts. Toggle button is on the left.
TopRight = Header is above tracked contracts. Toggle button is on the right.
BottomLeft = Header is below tracked contracts. Toggle button is on the left.
BottomRight = Header is below tracked contracts. Toggle button is on the right.
Logging - collect logs on specified events (stored in oxide/logs/Contracts/<date> or carbon/logs/Contracts/<date>)
Mode - One of "None" (default), "JSONL" or "Text"
None = Disable logging
JSONL = Logs events in a structured format. JSONL is more efficient for large datasets than JSON because it doesn't require you to load the entire file into memory!
Text = Human readable text lines that you can configure with placeholders. Can also be used to create your own JSONL format, if the one provided is not preferred.
Retention Days - Log folders past this age will be deleted at plugin load time. Set to 0 to disable and never delete logs (not recommended).
Contract Accepted - occurs when the player accepts a contract
Enabled - whether or not to collect logs for this event
Format (Text Mode) - Log format to use when the logging mode is "Text". See Logging section below for {placeholders}.
Contract Completed - occurs when the player completes a contract.
Contract Claimed - occurs when the player claims the rewards on a contract.
Contract Abandoned - occurs when the player abandons a contract.
Reward Given - occurs once for each reward given when the player claims the contract
Rotation Started - occurs when a category rotates its contracts
Objective Completed - occurs when the player completes a contract objective
Version - The version of the config. Matches the plugin's version.
Default Configuration
{
"Command": ["contracts"],
"Permissions": {
"Use Contracts Features": "contracts.use",
"Admin": "contracts.admin",
"Max Active Contracts": {
"contracts.use": 3,
"contracts.vip": 5,
"contracts.admin": -1
},
"Max Tracked Contracts (HUD)": {
"contracts.use": 2,
"contracts.vip": 5,
"contracts.admin": -1
}
},
"Rewards": {
"Show Ineligible Rewards": true
},
"Conditions": {
"Condition Ordering": "Optimized"
},
"HUD": {
"Anchor Min": "0.0 0.60",
"Anchor Max": "0.135 0.87",
"Collapse Direction": "TopLeft"
},
"Logging": {
"Mode": "None",
"Retention Days": 30,
"Contract Accepted": {
"Enabled": false,
"Format (Text Mode)": "[{timestamp_local}] {player_name} ({player_id}) accepted contract {contract_name} ({contract_id}) in {category_name} ({category_id})"
},
"Contract Completed": {
"Enabled": false,
"Format (Text Mode)": "[{timestamp_local}] {player_name} ({player_id}) completed contract {contract_name} ({contract_id}) in {category_name} ({category_id}) in {duration}s"
},
"Contract Claimed": {
"Enabled": false,
"Format (Text Mode)": "[{timestamp_local}] {player_name} ({player_id}) claimed contract {contract_name} ({contract_id}) in {category_name} ({category_id})"
},
"Contract Abandoned": {
"Enabled": false,
"Format (Text Mode)": "[{timestamp_local}] {player_name} ({player_id}) abandoned contract {contract_name} ({contract_id}) in {category_name} ({category_id})"
},
"Reward Given": {
"Enabled": false,
"Format (Text Mode)": "[{timestamp_local}] {player_name} ({player_id}) received {reward_type} reward: {reward_detail} from contract {contract_name} ({contract_id})"
},
"Rotation Started": {
"Enabled": false,
"Format (Text Mode)": "[{timestamp_local}] Category {category_name} ({category_id}) rotated. Contracts: {contract_ids}."
},
"Objective Completed": {
"Enabled": false,
"Format (Text Mode)": "[{timestamp_local}] {player_name} ({player_id}) completed objective {objective_name} (#{objective_id}) in contract {contract_name} ({contract_id})"
}
},
"Version": {
"Major": 0,
"Minor": 5,
"Patch": 0
}
}
Contracts Website
The data files that follow this section don't have to be manually edited! Head to the Web Editor at https://www.rustcontracts.com , drop your data configs and start editing your configs in a convenient UI. The quality of the editor and its extensive features are on par with the quality of the plugin!
Website Features
Convenient UI: Edit all your contracts, categories and presets in a Web-based UI. No manual JSON editing required.
Rich Editing Experience: Validation, undo/redo from anywhere, ID refactoring, autocomplete fields, optional raw JSON editing and more QoL features.
Data Persistence: Save snapshots of your configs and restore or download them at a later time (data saved in your browser).
AI Generated Contracts: (experimental) Use OpenAI, Google or Anthropic's models to generate entire contracts from a prompt. (BYOK)
Command Palette: Easily navigate through contracts, categories, presets from anywhere in the editor through the command palette.
Stats: View your JSONL logs in pre-made charts to gain insights into your contracts, such as pacing and reward balance.
Data Files
Contracts has 3 types of data files meant to be configured by you (other data files are generated by the plugin, such as player progress, but not meant to be edited): Presets, Contracts and Categories.
oxide/data/Contracts/preset_data.json
Presets are lists of strings you can define to easily reference them in contracts. E.g: Instead of defining all the types of scientists for a kill contract, you can reference them with "@scientists"
presets - key/value pair where the key is the name of the preset and the value is a list of strings that the preset resolves to. You can mention other presets in a preset, but they must not have a circular reference
version - The version of the config. Matches the plugin's version.
Example presets:
{
"presets": {
"scientists": [
"scientist2.heavy",
"scientist2",
"scientist2.shotgun",
"scientistnpc_arena",
"scientistnpc_bradley",
"scientistnpc_bradley_heavy",
"scientistnpc_cargo",
"scientistnpc_cargo_turret_any",
"scientistnpc_cargo_turret_lr300",
"scientistnpc_ch47_gunner",
"scientistnpc_excavator",
"scientistnpc_full_any",
"scientistnpc_full_lr300",
"scientistnpc_full_mp5",
"scientistnpc_full_pistol",
"scientistnpc_full_shotgun",
"scientistnpc_heavy",
"scientistnpc_junkpile_pistol",
"scientistnpc_oilrig",
"scientistnpc_outbreak",
"scientistnpc_patrol",
"scientistnpc_patrol_arctic",
"scientistnpc_peacekeeper",
"scientistnpc_ptboat",
"scientistnpc_rhib",
"scientistnpc_roam",
"scientistnpc_roam_nvg_variant",
"scientistnpc_roamtethered"
],
"ballista": [
"ballista.static",
"ballista.mounted"
],
},
"version": {
"Major": 0,
"Minor": 2,
"Patch": 0
}
}
oxide/data/Contracts/contracts_data.json
This file holds all your contract definitions.
contracts - key/value pair where the key is the contract ID and the value is the contract definition
title - The title of the contract
description - Optional description for the contract
progressionType - One of "Independant" (default), "Sequential" or "Progressive"
Independant - objectives can be completed in any order simultaneously
Sequential - objectives must be completed in order from first to last. The locked objectives are visible.
Progressive - objectives must be completed in order from first to last. The locked objectives are hidden.
objectives - key/value pair where the key is the objective ID and the value is the objective definition
title - The objective title
description - Optional objective description
conditions - key/value pair where the key is the condition ID and the value is the condition definition
type - The type of the condition (see Objective Conditions below)
... more fields depending on the objective condition type (see Objective Conditions below)
type - Type of the objective (see Objective Types below)
... more fields depending on the objective type (see Objective Types below)
rewards - key/value pair where the key is the reward ID and the value is the reward defintion
title - Optional title for the reward (empty titles will use default names)
description - Optional description for the reward
eligiblePermissions - list of strings of permissions allowed to claim this reward
type - Type of the reward (see Contract Rewards below)
... more fields depending on the reward type (see Contract Rewards below)
version - The version of the config. Matches the plugin's version.
oxide/data/Contracts/contract_category_data.json
This file holds all your contract categories definitions.
categories - key/value pair where the key is the category ID and the value is the category definition
name - The category name
description - Optional category description
contractIds - List of all contract IDs defined earlier that are part of the category and will be rotated periodically
rotation
duration - Time in seconds that the rotation lasts (-1 = never rotates)
minContractsAmount - minimum number of contracts to include in the rotation
maxContractsAmount - maximum number of contracts to include in the rotation
maxActiveContracts - key/value pair where the key is the permission name and the value is a number indicating the maximum amount of contracts that can be active in this category for a given player (-1 for unlimited. defaults to -1). This works in conjunction to the config Max Active Contracts parameter. e.g:
"contracts.use": 1 - only 1 contract in this category can be active at a time
version - The version of the config. Matches the plugin's version.
Objective Types
Contracts currently support the following objective types, with additional types possible in the future! Objective types are intentionally kept simple with minimal configuration so that you can create more complex objectives with Objective Conditions. This section also details the additional fields to be added in the objectives definition of the contract (where it says "... more fields depending on the objective type").
☠️ Kill
Requires the player to kill one of the specified entities.
Configuration (excludes common objective fields):
type - Always "Kill"
amountRequired - An integer value greater than 0
entities - list of entities targeted by the objective. Can include presets.
Example (excludes common objective fields):
{
"type": "Kill",
"amountRequired": 50,
"entities": ["wolf", "boar", "@scientists"]
}
💔 Damage
Requires the player to damage one of the specified entities.
Configuration (excludes common objective fields):
type - Always "Damage"
amountRequired - An integer value greater than 0
entities - list of entities targeted by the objective. Can include presets.
Example (excludes common objective fields):
{
"type": "Damage",
"amountRequired": 5000,
"entities": ["wolf", "boar", "@scientists"]
}
🛠️ Craft
Requires the player to craft one of the specified items.
Configuration (excludes common objective fields):
type - Always "Craft"
amountRequired - An integer value greater than 0
items - list of items that count toward the objective's progression. Can include presets.
Example (excludes common objective fields):
{
"type": "Craft",
"amountRequired": 50,
"items": ["bandage", "@firearms"]
}
🪓 Gather
Requires the player to gather one of the specified items.
Configuration (excludes common objective fields):
type - Always "Gather"
amountRequired - An integer value greater than 0
items - list of items received from a gathered dispenser that count towards the objective's progress. Can include presets.
Example (excludes common objective fields):
{
"type": "Gather",
"amountRequired": 500,
"entities": ["wood", "metal.ore", "@ores"]
}
💳 Card Swipe
Requires the player to swipe cards of specified access levels.
Configuration (excludes common objective fields):
type - Always "CardSwipe"
amountRequired - An integer value greater than 0
accessLevels - list of access levels that count towards the objective's progress. Valid access levels are 1, 2 or 3
1 = Green | 2 = Blue | 3 = Red
Example (excludes common objective fields):
{
"type": "CardSwipe",
"amountRequired": 3,
"accessLevels": [1, 3]
}
🔟 Crate Hack
Requires the player to hack hackable crates.
Configuration (excludes common objective fields):
type - Always "CrateHack"
amountRequired - An integer value greater than 0
Example (excludes common objective fields):
{
"type": "CrateHack",
"amountRequired": 50
}
🐟 Fishing
Requires the player to catch any or specified types of fish.
Configuration (excludes common objective fields):
type - Always "Fishing"
amountRequired - An integer value greater than 0
fish - List of fishes that count towards the objective's progress. Leave empty for any. Can include presets.
bait - List of baits used to fish that count towards the objective's progress. Leave empty for any. Can include presets.
Example (excludes common objective fields):
{
"type": "Fishing",
"amountRequired": 50,
"fish": ["fish.salmon", "@rarefish"],
"bait": ["grub", "@rawmeat"]
}
❤️🩹 Heal
Requires the player to heal themselves and/or others by a specified amount of health
Configuration (excludes common objective fields):
type - Always "Heal"
amountRequired - An integer value greater than 0
items - List of healing items that can be used to count towards the objective's progress. Leave empty for any. Can include presets.
target - One of Any, Self or Others
Any = Heal anyone | Self = Heal self | Others = Heal others
Example (excludes common objective fields):
{
"type": "Heal",
"amountRequired": 100,
"items": ["bandage", "@advancedheals"],
"target": "Self"
}
📦 Turn In
Requires the player to give specified items to the plugin. Turned in items are removed from the inventory.
Configuration (excludes common objective fields):
type - Always "TurnIn"
amountRequired - An integer value greater than 0
items - List of items that count towards the objective's progress. Can include presets.
Example (excludes common objective fields):
{
"type": "TurnIn",
"amountRequired": 100,
"items": ["scrap", "@components"]
}
🔎 Loot
Requires the player to loot the specified items from the world. Looted items are not removed from the inventory, unlike turn in objectives.
Configuration (excludes common objective fields):
type - Always "Loot"
amountRequired - An integer value greater than 0
items - List of items that count towards the objective's progress. Can include presets.
Example (excludes common objective fields):
{
"type": "Loot",
"amountRequired": 100,
"items": ["scrap", "@components"]
}
Objective Conditions
Objective types on their own do not provide much configuration for variety by design. Objective conditions are what makes your objectives so customizable with many combination of conditions that can be applied on top of objective types. They are what makes your objectives challenging and versatile. This section also details the additional fields to be added in the objective conditions definition of the contract (where it says "... more fields depending on the objective condition type").
🔫 Weapon
Requires the player to use a specific weapon during an attack on an entity.
Configuration (excludes common objective condition fields):
type - Always "Weapon"
weapon - List of weapons that satisfy the condition. Can include presets.
Example (excludes common objective condition fields):
{
"type": "Weapon",
"items": ["grenade.molotov", "@primitiveweapons"]
}
🌙 Time of Day
Requires the player to progress the objective between set times.
Note: the plugin supports day wrapping. If your start time is "20:00" and end time is "06:00", then the plugin will understand it's between 8PM - 6AM.
Configuration (excludes common objective condition fields):
type - Always "TimeOfDay"
startTime - The minimum time of day. 24h format. e.g: "21:32"
endTime - The maximum time of day. 24h format. e.g: "06:00"
Example (excludes common objective condition fields):
{
"type": "TimeOfDay",
"startTime": "20:00",
"endTime": "06:00"
}
👕 Player Wear
Requires the player to wear specific clothing
Configuration (excludes common objective condition fields):
type - Always "PlayerWear"
items - List of wearable items that satisfy the condition. Can include presets.
requireAll - true = requires all items to be worn. false = require some items to be worn.
requireNaked - true = requires the player to wear nothing (items should be empty (i.e: [ ] ) ). false = use items list to determine the condition.
Example (excludes common objective condition fields):
{
"type": "PlayerWear",
"items": ["bandana", "@woodarmor"],
"requireAll": false,
"requireNaked": false
}
🐎 Player Mount
Requires the player to be mounted on specific entities (vehicles, horse, chairs, etc.)
Configuration (excludes common objective condition fields):
type - Always "PlayerMount"
mounts - List of mount entities that count satisfy the condition. Can include presets.
Example (excludes common objective condition fields):
{
"type": "PlayerMount",
"mounts": ["ridablehorse", "@chairs"]
}
♥️ Player Health
Requires the player to be between specific amount of HP.
Configuration (excludes common objective condition fields):
type - Always "PlayerHealth"
minHealth - Minimum amount of health required to satisfy the condition. -1.0 to ignore.
maxHealth - Maximum amount of health required to satisfy the condition. -1.0 to ignore.
Example (excludes common objective condition fields):
{
"type": "PlayerHealth",
"minHealth": -1.0,
"maxHealth": 30.0
}
💥 Min Damage Ratio
Requires the player to have done a minimum amount of damage when compared to the total damage done with others.
Currently, this is mostly only useful for the Kill objective, though it could be attached to a Damage objective if you have the need for it...
Configuration (excludes common objective condition fields):
type - Always "MinDamageRatio"
minDamageRatio - The minimum ratio of damage that the player needs to have on the victim to satisfy the condition. Between 0.0 and 1.0.
Example (excludes common objective condition fields):
{
"type": "MinDamageRatio",
"minDamageRatio": 0.5
}
↔️ Attack Distance
Requires the player's attack to occur between specified distance in meters.
Configuration (excludes common objective condition fields):
type - Always "AttackDistance"
minDistance - Minimum distance required to satisfy the condition. -1.0 to ignore.
maxDistance - Maximum distance required to satisfy the condition. -1.0 to ignore.
Example (excludes common objective condition fields):
{
"type": "AttackDistance",
"minDistance": 50.0,
"maxDistance": -1
}
&& And
Requires the player to satisfy all listed conditions inside the AND operator condition.
Note that this condition is useless when used at the top level of your conditions, because multiple conditions are already evaluated as an AND condition (i.e: all conditions within the objective's "conditions" list must be satisfied). It is only useful when placed inside a Not or an Or condition.
Configuration (excludes common objective condition fields):
type - Always "And"
conditions - key/value pair where the key is the condition ID and the value is a condition that needs to be satisfied. All conditions inside the And condition need to pass to satisfy this condition.
Example (excludes common objective condition fields):
{
"type": "And",
"conditions" {
"and_weapon_condition": {
"type": "Weapon",
"weapon": ["rifle.ak"]
},
"and_attackdistance_condition": {
"type": "AttackDistance",
"minDistance": -1.0,
"maxDistance": 10.0
}
}
}
|| Or
Requires the player to satisfy any of the listed conditions inside the OR operator condition.
Configuration (excludes common objective condition fields):
type - Always "Or"
conditions - key/value pair where the key is the condition ID and the value is a condition that needs to be satisfied. Any condition inside the Or condition need to pass to satisfy this condition.
Example (excludes common objective condition fields):
{
"type": "Or",
"conditions" {
"or_attackdistance1_condition": {
"type": "AttackDistance",
"minDistance": -1.0,
"maxDistance": 10.0
},
"or_attackdistance2_condition": {
"type": "AttackDistance",
"minDistance": 100.0,
"maxDistance": -1.0
}
}
}
🚫 Not
Requires the player to NOT satisfy the specified condition. (inverses the satisfaction requirement)
Configuration (excludes common objective condition fields):
type - Always "Not"
condition - The condition to NOT satisfy
Example (excludes common objective condition fields):
{
"type": "Not",
"condition" {
"type": "Weapon",
"weapon": ["@firearms"]
}
}
Contract Rewards
The following rewards can be distributed by the plugin. This section also details the additional fields to be added in the reward definition of the contract (where it says "... more fields depending on the reward type").
🏷️ Item
Grants the player a specified quantity of an item.
Configuration (excludes common reward fields):
type - Always "Item"
item - The item shortname
quantity - An integer value greater than 0
Example (excludes common reward fields):
{
"type": "Item",
"item": "scrap",
"quantity": 50
}
💲 Economics
Grants the player an amount of money. Requires the Economics plugin.
Configuration (excludes common reward fields):
type - Always "Economics"
amount - A decimal value greater than 0.0
Example (excludes common reward fields):
{
"type": "Economics",
"amount": 50.50
}
🎁 Server RP
Grants the player an amount of server rewards points. Requires the Server Rewards plugin.
Configuration (excludes common reward fields):
type - Always "ServerRewards"
amount - An integer value greater than 0
Example (excludes common reward fields):
{
"type": "ServerRewards",
"amount": 5
}
⌘ Command
Runs a parameterized command. Useful when the other rewards are not suitable and you need something custom. Technically, all above rewards can be achieved through a command reward.
Configuration (excludes common reward fields):
type - Always "Command"
command - The command to run on reward claim. You can add the following {placeholders} and the plugin will fill them during distribution:
{playerId} - The player's Steam ID
{playerName} - The player's Steam name
{qPlayerName} - The player's Steam name wrapped in "quotes"
{playerX} - The player's current X position, rounded to the nearest integer
{playerY} - The player's current Y position, rounded to the nearest integer
{playerZ} - The player's current Z position, rounded to the nearest integer
Example (excludes common reward fields):
{
"type": "Command",
"command": "say {playerName} is the top fisherman!"
}
Logging
When using Text formatting for logging, you can use {placeholders} to inject data into your logs. Each event type has their own placeholders. The following placeholders are always available:
timestamp_utc - yyyy-MM-dd HH:mm:ss timestamp using the UTC timezone
timestamp_local - yyyy-MM-dd HH:mm:ss timestamp using your server's local timezone
timestamp_iso - timestamp using the ISO format (same format used in JSONL)
time_utc - HH:mm:ss timestamp using the UTC timezone
time_local - HH:mm:ss timestamp using your server's local timezone
The following are additional fields per event type:
Contract Abandoned
player_id
category_id
contract_id
player_name
category_name
contract_name
Contract Accepted
player_id
category_id
contract_id
player_name
category_name
contract_name
Contract Claimed
player_id
category_id
contract_id
player_name
category_name
contract_name
Contract Completed
player_id
category_id
contract_id
player_name
category_name
contract_name
duration - the amount of time (in seconds) that passed since the player accepted the contract
Contract Expired
player_id
category_id
contract_id
player_name
category_name
contract_name
duration - the amount of time (in seconds) that passed since the player accepted the contract
Objective Completed
objective_type
player_id
category_id
contract_id
objective_id
player_name
category_name
contract_name
objective_name
Reward Given
reward_type
player_id
category_id
contract_id
reward_id
player_name
category_name
contract_name
reward_name
reward_detail - e.g: scraps x50 ; command ; $1000 ; 10 RP
amount - always 1 for commands
Rotation Started
category_id
contract_ids - comma separated list of contract IDs
category_name
API
This plugin does not currently expose an API. Let me know what you'd like to see in a future implementation!
Discord
Join the official Discord server for support, announcements and more! https://discord.rustcontracts.com
Highest Rated
Top-rated picks trusted and loved by the community.
-
$16.99
By David
-
$40.00$30.00By nivex
-
$29.99
By LosGranada
-
$29.99
By imthenewguy
-
$24.99
By Whispers88
-
$40.00$31.95By Mevent
-
Free
By Steenamaroo
-
$14.99
By AhigaO
-
$19.99$15.99By Fruster
-
$14.99
By David
-
$45.99
By Monster
-
$19.99$15.99By Fruster
-
$19.99
By ZEODE
Trending Files
Popular picks members are downloading the most right now.
-
$35.00
By KpucTaJl
-
$40.00
By The_Kiiiing
-
$25.00$18.75By Martian
-
$29.99
By Adem
-
By Scalbox
-
$40.00$31.95By Mevent
-
By 0xF
-
$40.00$30.00By nivex
-
$11.99
By imthenewguy
-
$29.99
By imthenewguy
-
Free
By Duff
-
$24.99
By Whispers88
Recently Updated
Recently improved files with fresh updates, fixes, and new content.
-
$29.99
By Vergbergler
-
$54.90
By Shemov
-
$49.95
By Niko
-
$21.00
By The_Kiiiing
-
$27.00
By Ionut Shiro
-
$10.00
By Ionut Shiro
-
$25.00
By Ionut Shiro
-
$30.00
By Ionut Shiro
-
$30.00
By Ionut Shiro
-
$18.00
By Ionut Shiro
-
$25.00
By Ionut Shiro
-
$9.00
Latest Reviews
See what customers are saying about their experience with files.
Happy to be the first to write a review for this plugin!
It's amazing! No need to try to communicate with a toxic player through public or voice chat. Now I can issue a warning using a simple command
Audible sound effect gives me confirmation that the player got the warning, and completely blocks them from doing anything until they hit the Acknowledge button
Really simple, but makes life 1000x easier
Lightweight, easy config, works well.
Super fun thx, just need an automatic spawn system needs to be created around Outpost and Bandit Camp. This will allow events to trigger on their own without requiring players to press the button manually.
Zeode hit it out of the park with this one!
This plugin is so flexible. Multiple ways you can implement it for your server. VIP rewards, store upgrade purchases, etc.
Adds another layer of playability to electricity on your server. You know RUST payers, they always want that next upgrade, so give them the ability to work towards that next level of efficiency in their electrical grid.
Thanks Zeode 👏
This is one of the best free maps around. Good layout, fun extra monuments to explore. it's a player favorite for sure.
Thx for this solid quality map!
Absolutely outstanding map.
Bwana Dik has been a fantastic addition to our LuffyRust 1000x server, and our players absolutely love it. The layout is well thought out, the pacing works perfectly for fast-action gameplay, and the overall craftsmanship really shows.
The map feels polished, balanced, and built with purpose. From the custom areas to the flow between monuments, roads, rails, and build locations, everything feels like it was designed to keep players engaged without feeling ov
very good sigma ligma bigma skibidi toilet 67 67 67 so good skibidi yes yes
Great Quality of Life plugin. This should be how Rust does it. Quick on any fixes needing down too! Thanks!!
What a beauty of a QoL plugin! No hassle, load it, equip the backpack and wonder how you played Rust for so long without this. Prompt and effective turnaround of fixes from the developer also. 5 stars!
Bought this a while back only just used it recently. Creator gave no support to the bugs. The plugin does not work correct. And like many other customers has reported he does not reply or seem to care. Granted it took me a long time to use I still paid money for this for it to be useless still. Would recommend purchasing from somewhere with better support and aftercare for their products.