Jump to content
Featured framework
Carbon for modern Rust servers
Fast, self-updating, and built for performance with seamless in-game plugin and server management.
1,500+ servers powered by Carbon
sale
$19.99 $14.99
AdminWarn is designed for situations where players clearly violate server rules or require a direct and serious warning. With the latest update, an optional popup warning mode has been added alongside the mandatory acknowledgment GUI. This allows admins to send clean, non-intrusive messages displayed at the top of the screen. News: To avoid disrupting gameplay (such as PvP), you can use: /warnpopup <SteamID> <message> /warnpopupall <message> The core purpose of AdminWarn remains unchanged: forcing players to acknowledge warnings. Each mandatory warning includes a single confirmation button, ensuring the player has read and accepted it. Acknowledgment events are tracked via Discord webhook logs, including whether the warning was confirmed while the player was online or after reconnecting.   AdminWarn is built for manual use only. It is not an automated warning system. All warnings are intentionally sent by admins using commands.   At the same time, the system works intelligently in the background: - Warnings sent to offline players are stored and automatically shown when they next join, even days later. - For online players, warnings remain active until acknowledged, then are automatically cleared. - All data is fully wipe-aware and automatically cleaned on server wipes.   Each warning includes built-in in-game sound effects. No external or custom audio files are used. This is not a chat message. Warnings are delivered as visual UI elements that require acknowledgment or appear as optional popup notifications. Even if a player closes the game, mandatory warnings will reappear on the next login until confirmed. No movement restrictions are applied.   Warnings can be sent via: - RCON - Server console - In-game admin console (F1) 🚀 Performance: AdminWarn is built with an optimized and efficient code structure, making its presence virtually unnoticeable on the server. It runs smoothly during long uptimes and maintains stable hook memory and performance values under normal server conditions. 🔄 Wipe Behavior: - Restarts: Data preserved (approved warnings are auto-deleted for data optimization) - Server wipe: All warning data automatically cleared - No manual cleanup needed (Most of the time, it is not necessary) 🔧 Commands Chat & Rcon: Note: Player names are not unique and may include different alphabets or special characters. To avoid ambiguity, using Steam64ID is strongly recommended when sending warnings. warn <SteamID> <message> warn <PlayerName> <message> warn <SteamID1>,<SteamID2>,<SteamID3> <message> warn <Name1>,<Name2>,<Name3> <message> warnall <message> warnpopup <SteamID> <message> warnpopup <PlayerName> <message> warnpopup <SteamID1>,<SteamID2>,<SteamID3> <message> warnpopup <Name1>,<Name2>,<Name3> <message> warnpopupall <message> 🔐 Permissions Oxide/Carbon oxide.grant group admin adminwarn.admin c.grant group admin adminwarn.admin 📊 Discord Webhook Logging - Player name/steamid and SteamURL - Warning message / Timestamp - Read status (online/after reconnect) - Logs warning sending - Logs individual warning acknowledgements 📁 Config: {   "Warning sound": "assets/prefabs/building/wall.frame.shopfront/effects/metal_transaction_complete.prefab",   "Clear data on wipe": true,   "Discord Webhook URL": "https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks",   "Discord Log Enabled": true,   "Log Global Warnings (warnall)": true,   "Log Warning Sent (single + multi)": true,   "Show Date in GUI": true,   "Show logo in warning GUI": true,   "Logo size (px) — local image should be a square PNG, recommended 75-120": 90,   "Use local images (false = use Web URL below)": true,   "Web image URL for logo (128x128 transparent PNG recommended, used only when Use local images is false)": "",   "Popup duration (seconds)": 10 }  
5.0
Custom Smelt Item Custom Smelt Item is an all-in-one plugin that allows you to add smeltable items, fuel items, and freely set the processing speed of each furnace. Create a unique gameplay experience with new smelting recipes, fuel items, and smelting speed adjustments! Compatible with Oxide. Installing this mod will change the smelting system from the vanilla version.                                   ⚠️Note This data includes "Custom Smelt Item" and "Custom Smelt Item Experimental." Please install only one of them. "Custom Smelt Item" functions as a stable version, while "Custom Smelt Item Experimental" functions as a Experimental version. "Custom Smelt Item Experimental" allows you to set additional foods, but please make sure you understand how to use this mod before using it. If there are many reports of bugs caused by incorrect use, we will discontinue releasing the Experimental version. Custom Smelt Item Experimental will turn off the visuals of food places in campfires, etc. Read below for instructions on how to use it.     ■ Custom Smelting Items - Set any item to be smelted - Freely configure input/output items - Set processing time for each item - Set output amount per processing - Support for skinned items (SkinID) - Custom name settings for output items - Item type classification for each furnace type (ore, oil) ■ Custom Fuel System - Add any item as fuel - Set burn time for each fuel - Set by-product output (e.g., wood → charcoal) - Adjust by-product drop rate - Support for skinned fuel items ■ Furnace Speed Multiplier Individual speed settings for each furnace type(Custom Smelt Item) - Furnace - Legacy Furnace - Large Furnace - Electric Furnace - Small Oil Refinery Notice : The speed cannot be adjusted for any other types. The speed for all other types is set to 1. This setting is to adjust the interaction between fuel and cooking time. (Custom Smelt Item Only)                                   You can fully customize the config, adding refined items, fuel items, refinement speed, and more. *Please do not delete default items from the settings.   Custom Smelting Item { "Smelting Patterns": [ { "ItemType": "oil", ///ore" (for furnaces) or "oil" (for refineries) "InputItem": "crude.oil", ///Input item short name "InputItemSkinId": 0, ///Input item skin ID "OutputItem": "lowgradefuel", ///Output item short name "OutputItemSkinId": 0, ///Output item skin ID "OutputItemName": null, ///Custom display name for the output item (null for default) "RequiredTime": 30, ///Smelting time (seconds) "OutputAmountPerProcess": 3 ///Output amount per 1 }, { "ItemType": "oil", "InputItem": "diesel_barrel", "InputItemSkinId": 0, "OutputItem": "lowgradefuel", "OutputItemSkinId": 0, "OutputItemName": null, "RequiredTime": 180, "OutputAmountPerProcess": 150 }, { "ItemType": "ore", "InputItem": "metal.ore", "InputItemSkinId": 0, "OutputItem": "metal.fragments", "OutputItemSkinId": 0, "OutputItemName": null, "RequiredTime": 10, "OutputAmountPerProcess": 1 }, { "ItemType": "ore", "InputItem": "sulfur.ore", "InputItemSkinId": 0, "OutputItem": "sulfur", "OutputItemSkinId": 0, "OutputItemName": null, "RequiredTime": 7, "OutputAmountPerProcess": 1 }, { "ItemType": "ore", "InputItem": "hq.metal.ore", "InputItemSkinId": 0, "OutputItem": "metal.refined", "OutputItemSkinId": 0, "OutputItemName": null, "RequiredTime": 20, "OutputAmountPerProcess": 1 }, { "ItemType": "ore", "InputItem": "can.tuna.empty", "InputItemSkinId": 0, "OutputItem": "metal.fragments", "OutputItemSkinId": 0, "OutputItemName": null, "RequiredTime": 20, "OutputAmountPerProcess": 10 }, { "ItemType": "ore", "InputItem": "can.beans.empty", "InputItemSkinId": 0, "OutputItem": "metal.fragments", "OutputItemSkinId": 0, "OutputItemName": null, "RequiredTime": 25, "OutputAmountPerProcess": 15 }, { "ItemType": "ore", "InputItem": "honeycomb", "InputItemSkinId": 0, "OutputItem": "honey", "OutputItemSkinId": 0, "OutputItemName": null, "RequiredTime": 3, "OutputAmountPerProcess": 1 }, { "ItemType": "ore", "InputItem": "techparts", "InputItemSkinId": 0, "OutputItem": "metal.refined", "OutputItemSkinId": 0, "OutputItemName": null, "RequiredTime": 120, "OutputAmountPerProcess": 10 }, { "ItemType": "ore", "InputItem": "sheetmetal", "InputItemSkinId": 0, "OutputItem": "metal.fragments", "OutputItemSkinId": 0, "OutputItemName": null, "RequiredTime": 180, "OutputAmountPerProcess": 150 }, { "ItemType": "ore", "InputItem": "scrap", "InputItemSkinId": 0, "OutputItem": "metal.fragments", "OutputItemSkinId": 0, "OutputItemName": null, "RequiredTime": 15, "OutputAmountPerProcess": 10 } ], "Fuel Patterns": [ { "FuelInputItem": "wood", ///Fuel item short name "FuelInputItemSkinId": 0, ///Fuel item skin ID "FuelOutputItem": "charcoal", ///By-product item (null if none) "FuelOutputItemSkinId": 0, ///By-product skin ID (default is 0) "FuelOutputItemName": null, ///Custom by-product Display name "FuelOutputAmountPerProcess": 1, ///By-product amount per fuel consumed "FuelOutputChance": 0.7, ///By-product generation probability (0.0-1.0) "FuelBurnTime": 10 ///Burn time per fuel (seconds) }, { "FuelInputItem": "lowgradefuel", "FuelInputItemSkinId": 0, "FuelOutputItem": null, "FuelOutputItemSkinId": 0, "FuelOutputItemName": null, "FuelOutputAmountPerProcess": 0, "FuelOutputChance": 0.0, "FuelBurnTime": 80 }, { "FuelInputItem": "coal", "FuelInputItemSkinId": 0, "FuelOutputItem": null, "FuelOutputItemSkinId": 0, "FuelOutputItemName": null, "FuelOutputAmountPerProcess": 0, "FuelOutputChance": 0.0, "FuelBurnTime": 180 }, { "FuelInputItem": "charcoal", "FuelInputItemSkinId": 0, "FuelOutputItem": null, "FuelOutputItemSkinId": 0, "FuelOutputItemName": null, "FuelOutputAmountPerProcess": 0, "FuelOutputChance": 0.0, "FuelBurnTime": 60 }, { "FuelInputItem": "cloth", "FuelInputItemSkinId": 0, "FuelOutputItem": null, "FuelOutputItemSkinId": 0, "FuelOutputItemName": null, "FuelOutputAmountPerProcess": 0, "FuelOutputChance": 0.0, "FuelBurnTime": 30 }, { "FuelInputItem": "plantfiber", "FuelInputItemSkinId": 0, "FuelOutputItem": null, "FuelOutputItemSkinId": 0, "FuelOutputItemName": null, "FuelOutputAmountPerProcess": 0, "FuelOutputChance": 0.0, "FuelBurnTime": 120 } ], "Oven Speed Multipliers": { ///Furnace Smelt Speed "Furnace": 1.0, "Legacy Furnace": 1.0, "Large Furnace": 2.0, "Electric Furnace": 2.0, "Small Oil Refinery": 3.0 } }   Custom Smelt Item Experimental { "Can Cook In Furnace": false, ///Can food be cooked in a furnace? "Smelting Patterns": [ { { "ItemType": "food", ///"ore" or "oil" or "food" "InputItem": "mushroom", "InputItemSkinId": 0, "OutputItem": "apple", "OutputItemSkinId": 3347673417, "OutputItemName": "Cooked Mushroom", "RequiredTime": 30, "OutputAmountPerProcess": 1 }, { "ItemType": "food", "InputItem": "seed.corn", "InputItemSkinId": 0, "OutputItem": "apple", "OutputItemSkinId": 3154577332, "OutputItemName": "Popcorn", "RequiredTime": 30, "OutputAmountPerProcess": 1 } ... ], "Fuel Patterns": [ { "FuelInputItem": "wood", "FuelInputItemSkinId": 0, "FuelOutputItem": "charcoal", "FuelOutputItemSkinId": 0, "FuelOutputItemName": null, "FuelOutputAmountPerProcess": 1, "FuelOutputChance": 0.7, "FuelBurnTime": 10 }, ... ], "Oven Speed Multipliers": { "Furnace": 1.0, "Legacy Furnace": 1.0, "Large Furnace": 2.0, "Camp Fire": 1.0, "Cursed Cauldron": 1.0, "Skull Fire Pit": 1.0, "Stone Fireplace": 1.0, "Hobo Barrel": 1.0, "Barbeque": 2.0, "Cooking Workbench": 2.0, "Electric Furnace": 2.0, "Small Oil Refinery": 3.0 } }   ■ Configuration Option Details ItemType: Item type: "ore" (for furnaces) or "oil" (for refineries) InputItem: Input item short name InputItemSkinId: Input item skin ID OutputItem: Output item short name OutputItemSkinId: Output item skin ID OutputItemName: Custom display name for the output item (null for default) RequiredTime: Refining time (seconds) OutputAmountPerProcess: Output amount per unit   ■ Fuel Pattern Settings FuelInputItem - Fuel item short name FuelInputItemSkinId - Fuel item skin ID FuelOutputItem - By-product item (null if none) FuelOutputItemSkinId - By-product skin ID (default is 0) FuelOutputItemName - Custom by-product name FuelOutputAmountPerProcess - By-product amount per fuel consumed FuelOutputChance - By-product generation probability (0.0-1.0) FuelBurnTime - Burn time per fuel (seconds)   Important Notes   - Food items (raw meat, fish, etc.) cannot be set as smelting items in Custom Smelt Items, as they maintain vanilla cooking behavior. - Custom Smelt Item Only : Furnace speed cannot be adjusted for other types. All other types have the speed set to 1. This setting is to adjust the interaction between fuel and cooking time. - The same item cannot be set as both a smelting item and a fuel item. - The same item cannot be assigned to multiple item types (ore + oil). - Fuel settings can only be used for smelting. Vehicle fuel consumption settings cannot be configured. - The fuel used for vehicles cannot be customized with this mod. - Please note that compatibility with other mods is not supported.   ⚠️⚠️⚠️Important: How to Use Custom Smelt Items (Experimental)⚠️⚠️⚠️   To stop using this mod and keep the server running, you must remove all custom food items from the input slots of the cookable ovens. Before removing this mod, be sure to run the server console command (or reinstall the mod and then run the server console command again). Failure to perform this step will prevent the server from starting. Also, absolutely do not save the server in this state; it will corrupt the server save data. Target Type Campfire Cursed Cauldron Fireplace Hobo Barrel BBQ Cooking Workbench   Console Command : removefood When you run the command, a confirmation message will appear. Enter "y" if you agree. Then, remove this mod.         VOID / NINJA WORKS DISCORD  :  https://discord.gg/U8uxePjSyA   MADE IN JAPAN    
0.0
sale
This is a custom package designed by us, featuring 210 unique bases and a specialized loot setup for five different 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. This MEGA PACK is an upgraded version of the FullWiped-110 Bases + Loot Pack we previously offered. If you've already purchased the FullWiped-110 Bases + Loot Pack, you only need to buy the expansion pack, which includes 100 new bases ranging from Easy to Hard. Get it here:  https://codefling.com/bases/raidable-bases-pack-100-bases-expanded-package-from-easy-to-hard 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: 🏡70 Easy Bases            +🗡️Base_Loot Tables   (Easy "Vanilla" and "Enhanced" tables included) 🏡60 Medium Bases       +🗡️Base_Loot Tables   (Medium "Vanilla" and "Enhanced" tables included) 🏡60 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.   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 Mega Pack & Loot Tables (210 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 fullwipedeasy31 fullwipedeasy32 fullwipedeasy33 fullwipedeasy34 fullwipedeasy35 fullwipedeasy36 fullwipedeasy37 fullwipedeasy38 fullwipedeasy39 fullwipedeasy40 fullwipedeasy41 fullwipedeasy42 fullwipedeasy43 fullwipedeasy44 fullwipedeasy45 fullwipedeasy46 fullwipedeasy47 fullwipedeasy48 fullwipedeasy49 fullwipedeasy50 fullwipedeasy51 fullwipedeasy52 fullwipedeasy53 fullwipedeasy54 fullwipedeasy55 fullwipedeasy56 fullwipedeasy57 fullwipedeasy58 fullwipedeasy59 fullwipedeasy60 fullwipedeasy61 fullwipedeasy62 fullwipedeasy63 fullwipedeasy64 fullwipedeasy65 fullwipedeasy66 fullwipedeasy67 fullwipedeasy68 fullwipedeasy69 fullwipedeasy70 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 fullwipedmed31 fullwipedmed32 fullwipedmed33 fullwipedmed34 fullwipedmed35 fullwipedmed36 fullwipedmed37 fullwipedmed38 fullwipedmed39 fullwipedmed40 fullwipedmed41 fullwipedmed42 fullwipedmed43 fullwipedmed44 fullwipedmed45 fullwipedmed46 fullwipedmed47 fullwipedmed48 fullwipedmed49 fullwipedmed50 fullwipedmed51 fullwipedmed52 fullwipedmed53 fullwipedmed54 fullwipedmed55 fullwipedmed56 fullwipedmed57 fullwipedmed58 fullwipedmed59 fullwipedmed60 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 fullwipedhard31 fullwipedhard32 fullwipedhard33 fullwipedhard34 fullwipedhard35 fullwipedhard36 fullwipedhard37 fullwipedhard38 fullwipedhard39 fullwipedhard40 fullwipedhard41 fullwipedhard42 fullwipedhard43 fullwipedhard44 fullwipedhard45 fullwipedhard46 fullwipedhard47 fullwipedhard48 fullwipedhard49 fullwipedhard50 fullwipedhard51 fullwipedhard52 fullwipedhard53 fullwipedhard54 fullwipedhard55 fullwipedhard56 fullwipedhard57 fullwipedhard58 fullwipedhard59 fullwipedhard60 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. Thank you!  ❤️    
3.7
$24.99
Skinner! The unrivaled no.1 performance skinning plugin. Skin any item in the game with a unique skinbox giving you live skinning, auto skinning and skin sets. Thanks for everyone who has given feed back through the duration of the beta release. Skinner 3.0 is finally here! Visual overhaul! - with dynamic UI menus for permission based player menus Automatic skin filtering and dev modes for new TOS Permission based skin sets Team share skins! Auto unlock owned skins! and More!!! Live Skinning - Skin items in place without moving them Auto import - Automatically import and use all game approved skins Skin Sets - Create a variety of different skin sets for any item Skin Requests - Allows players to request and Admins to accept new skins in game Auto Skins - Automatically apply selected skins to every item that enters your inventory     Skinner 2.0 offers unrivaled performance in plugin efficiency. Our standard testing shows runtime results were 60x faster and memory usage was 200x more efficient than the closest peforming plugin.   SkinMenu Commands: /Skin or /S  - Live skin any item in your inventory by selecting a skin you wish to apply /SkinCraft or /Sc - Create multiple skin sets for use in other functions such as skinauto or skinteam /Skinitem or /Si - Skin a deployable item you are looking at ingame. Args - Spectify 1, 2 or 3 to automatically use a skin set. Automatic Commands: /Skincon or /scon - sets all items in a container you are looking at to your default craft set Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. /Skininv or /sinv - sets all items in your inventory to your default craft set Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. /Skinauto or /Sauto - Automatically apply selected skins to every item that enters your inventory based off your skin sets. Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. /Skinteam or /st - sets all items in your inventory and your teams to your default craft set Args - Optional, spectify 1, 2 or 3 to automatically use a skin set. Toggle - Use /skinteam toggle to opt in or out of the team skin set /SkinBase - Allows you to skin all deployables in your base to your default skincraft skins. Args - Optional, specify item name to filter items being skinned example: /Skinbase sleepingbag to only skin sleeping bags. /SkinAll Command - Skin all the items in all the containers in your base. Args - Optional, specify item by shortname example:   /SkinAll rifle.ak to only skin ak47's. Skin Import Commands: /Skinimport or /sip - Import custom workshop skins Args - WorkshopID example: /Skinimport 2397648701   /Colimport or /cip - Import custom workshop collection using /skinimport collectionID Args - Collection ID example: /Colimport 2921147807   /Skinrequest or /Sr - Request a skin to be added to skinner, requested skins will show in the /Skinrequests UI for approval Args - WorkshopID example: /Skinrequest 2397648701   /Skinrequests or /Srs - Opens the the skinner menu with a box of skins awating approval Button Usage - Select an option and remove the skin to enact the process Try - Recieve a copy of an item with that skin Approve - Adds the skin from the menu to the imported skins list Deny - Removes the skin Note: All chat commands are universal meaning they can be used via the console, rcon(for import commands) and can be customized via the configuration. Player Permissions: Skinner.default - enables /skin command Skinner.items - enables /skinitem command Skinner.craft - enables /skincraft command Skinner.skinauto - enables /skinauto command Skinner.skincon -  enables /skincon command Skinner.skininv - enables /skininv command Skinner.skinbase - for use of the /skinbase command Skinner.skinteam - Allows the use of the /skinteam command Skinner.skinall - for the use of the /skinall command Skinner.skinrequest - enables /skinrequest Cooldowns Permissions: Cooldown settins can be adjusted via the plugin config. Applying the cooldown permission example skinner.default30 will enforce cooldowns on those with the permission. If no cooldown permission is applied no cooldowns will be enforced. If multiple cooldown perms are assigned to a single player they fastest cooldown will be used. "Command based cooldowns ('permission' : 'command' seconds": { "Default30CD": { "skin": 30.0, "skinitem": 30.0, "skincraft": 30.0, "skincon": 30.0, "skininv": 30.0, "skinteam": 30.0, "skinbase": 60.0, "skinall": 60.0 } Admin Permissions: Skinner.import – enables /Skinimport,   /Colimport and /Skinrequests Skinner.bypassauth -   bypasses the building auth requirement when using /Skinitem Skinner.permskintry - enables try feature when using /Skinrequests Warning: trying a skin will make a copy of that item. Only give this perm to admins who are allowed to spawn items. Other Permissions: Skinner.skinautotoggled - applied when a player disables skinauto Skinner.skinteamblock - applied when a player disables team skins Skinner offers multiple ways of importing skins including via the config and through commands: Importing via the config: To import skins via the config insert workshopIDs into the imported skins list as per the code snippet below, once finished reload skinner and the shortname and displayname fields will be automatically populated. You can add extra skins at any stage using this method. "Imported Skins List": { "861142659": {}, "2617744110": {} },   Optionally entire workshop skin collections can be added to conifg, each item skin is automatically imported to your imported skins list on plugin load.   "Import Skin collections (steam workshop ID)": [496517795,2921147807], Importing via commands: Commands can be used to edit the config options for imported skins and collections via RCON, chat commands and the f1 console.   Commands include: /Skinimport WorkshopID /Colimport CollectionID Importing via Skin Requests: Players can requests skins to be added to the game using the skinrequests feature. By using the command /skinrequest WorkshoID a skin gets automatically uploaded to the skin requests box. Admins with the skinner.import permission can open the requests box with the /skinrequests command. Skins from the request box can then be "tried" approved or denied. Each skin requested can be logged to discord using the webhook   in the config. Importing from other plugins: Skinner now has a tool for windows to import data from skinbox, xskins and skincontroller. Simply select your json data file with imported skins into the tool and copy the new imported skins list into the skinner config. https://github.com/Whispers88/SkinDataConverter/releases/tag/Main   Note: The  "Imported Skins (skinid : 'shortnamestring', skinid2 : 'shortnamestring2'": {}" is now redundant and automatically converted to imported skins list. { "Skin Commands (skin items in you inventory": [ "skin", "s", "skinbox", "sb" ], "Skin Items Commands (skin items you have already placed": [ "skinitem", "si", "skindeployed", "sd" ], "Set default items to be skinned": [ "skincraft", "sc" ], "Automatically set all items in you inventory to your default skins": [ "skininv", "sinv" ], "Automatically set all items a container to your default skins": [ "skincon", "scon" ], "Automatically skin all deployables in your base": [ "skinbase", "skinbuilding" ], "Automatically skin all items in your base": [ "skinall", "sa" ], "Automatically skin all items that are moved into you inventory": [ "skinauto", "sauto" ], "Skin your teams inventories with your skin set": [ "skinteam", "st" ], "Request workshop skins via workshop ID": [ "skinrequest", "sr" ], "Approve workshop skin requests": [ "skinrequests", "srs" ], "Set your selected skin set": [ "skinset", "ss" ], "Import Custom Skins": [ "skinimport", "sip" ], "Import Workshop Collection Command": [ "colimport", "cip" ], "Skin Request Notification Discord Webhook": "", "Custom Page Change UI Positon anchor/offset 'min x, min y', 'max x', max y'": [ "0.5 0.0", "0.5 0.0", "198 60", "400 97" ], "Custom Searchbar UI Positon anchor/offset 'min x, min y', 'max x', max y'": [ "0.5 0.0", "0.5 0.0", "410 635", "572 660" ], "Custom Set Selection UI Positon anchor/offset 'min x, min y', 'max x', max y'": [ "0.5 0.0", "0.5 0.0", "250 610", "573 633" ], "Auto import approved skins": true, "Remove player data after inactivity (days)": 14, "Apply names of skins to skinned items": true, "Add Search Bar UI": true, "Use on itemcraft hook (skin items after crafting - not required when using skinauto)": false, "Override spraycan behaviour": false, "Use spraycan effect when holding spraycan and skinning deployables": true, "Blacklisted Skins (skinID)": [], "Blacklisted Itemms (itemID)": [], "Import Skin collections (steam workshop ID)": [], "Command based cooldowns ('permission' : 'command' seconds": { "Default30CD": { "skin": 30.0, "skinitem": 30.0, "skincraft": 30.0, "skincon": 30.0, "skininv": 30.0, "skinteam": 30.0, "skinbase": 60.0, "skinall": 60.0 } }, "Imported Skins List": {} } //Get all Cached skins public Dictionary<int, List<ulong>> GetAllCachedSkins() { return _cachedSkins; } //Check if skin is a Redirect item public bool IsRedirectID(ulong uID) { return HasMask(uID); } //Convert Redirect ID to item ID public int RedirectIDtoItemID(ulong uID) { return (int)UnsetMask(uID); } //Get a list of skins for a particular item public List<ulong>? GetSkinsItemList(int itemid) { _cachedSkins.TryGetValue(itemid, out List<ulong>? cachedSkins); return cachedSkins; }      
5.0
sale
$32.99 $22.90
Well rounded shop, with various features. It's standalone plugin which is compatible with WelcomePanel, HumanNpc. This plugin also supports selling commands, wipe block, no escape, sales, permission access.   Multi-currency support Use different currencies for different items. Economics and ServerRewards (RP) is supported as well as scrap or any other ingame item.     Restrictions Combat, raid, spawn and building block supported alongside with  basic cooldowns and wipe block.   NoEscape is required for combat and raid block.       Appearance   Simple and clean design to ensure smooth user experience for your players.   Additionally Shop can be inserted into WelcomePanel to achieve "all in" server panel.   Customization Widely customizable and feature rich Shop which will  fit all needs of your community.         Field Tested Plugin made by experienced developer,  tested by hundreds of server owners and used by some big organizations.       Discord   Customer support available on discord,   Installation - unzip downloaded package and place Shop.cs file into your plugin folder. - after succesfuly loading the plugin, data folder oxide/data/Shop will be generated - take data files provided in plugin package and drop them into your Shop data folder After finishing these steps your shop is ready to used.         Server Currency   If you don't wish to use ingame items as currency make sure you use either Economics or ServerRewards as you currency management as only those two plugins are compatible with Shop. Default currency setting is Economics ("eco"), if you wish to change it navigate to "oxide/data/Shop/Items.json", open this file in some text editor (VSC recommended) and simply select "eco" and mass replace for desired value. (video here) "eco" for Economics "rp" for ServerRewards "scrap" or any other ingame item   Shop Categories To remove, change or add new categories open "oxide/data/Shop/Categories.json" file. There you will find all categories alongside with items lists. If you wish to remove certain items from category, just head over to item list and delete from there.   Items Changing prices In "oxide/data/Shop/Items.json" you will find every item with their properties, to quick search for specific items press "CTRL + F".  By leaving BuyPrice or SellPrice at 0 you will disable selling or buying of said item. Due to multi-currency support prices can be set only in whole numbers, no decimals. To offset for this, you can set minimal amount requirement. For example instead of selling one piece of wood for 0.01$ you can set minimal amount of  100x wood for 1$.   Removing items If you wish to remove some items from Shop, you can do that directly in  "data/Shop/Categories.json" file. Removing items from "Items.json" is not needed as they have no effect unless they are listed in some category. Adding new items To add new item you must first head over to "Items.json" data file and create new entry by copy pasting some of the existing ones. Once done with that you can add the  item into category. To add multiple versions of same item can be created by simply adding unique tag behind shortname, for example "rifle.ak{1}",  "rifle.ak{2}", etc...   Commands Adding new commands Commands can be create at "data/Shop/Commands.json". Plugin can only run server side console commands and then parse steam id or player name with tags {steamid} and {playername}. There are two examples shown in default data file. Server side console commands are common thing and almost all plugins utilize them. Listing commands in categories Simply type in one of your command names into category item list like this "cmd/yourCommandName". Slash cmd in front of command name is there to make difference between ingame item and command.   Cooldowns These are very basic, cooldown is triggered when buy/sell action is triggered. By using minimal amount requirement for items you can manage how much player buy and how often. Cooldowns are managed in "data/Shop/Cooldowns.json". Default data file contains two example of cooldowns but it's simply shortname and amount of seconds.     Restrictions Raid and Combat Block Managed by NoEscape plugin, option to enable these two block can be found in config file. Building Block Prevents players from using shop while they are building block, option can be found in config file. Spawn Block Prevents players from using shop after they respawn, amount of seconds can be set in config file, 0 = disabled. Wipe Block Prevents players from buying specific items after wipe. Settings are located in "data/Shop/ItemsWipeBlock.json", similar as cooldowns.   Sales By Permission (config file) Discount on every item in the shop assigned by permission, multiple permission can be created with their own discount values. By Category (categories data file) Discount for every item within specified category. By Item Discount for specific item in the shop. If item is already in discounted category, higher discount will be applied.   WelcomePanel integration To integrate this plugin into WelcomePanel simply use one of the four configs included in download package. These config were premade for each WelcomePanel template (goes from 1 to 4). In case you have own  highly customized layout for WelcomePanel you will have to adjust "Layout Container" in Shop config file by yourself.                  
4.9
$29.99
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 (14 contracts), Daily (16 contracts), Weekly (14 contracts) and Wipe (6) 50 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, plant, harvest, cloning 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"] } 🌱 Plant Requires the player to plant any or specified seeds Configuration (excludes common objective fields): type - Always "Plant" amountRequired - An integer value greater than 0 items - List of seed shortnames. Leave empty for any seed. Example (excludes common objective fields): { "type": "Plant", "amountRequired": 100, "items": ["seed.corn", "@berries_seed"] } 🌾 Harvest Requires the player to harvest any or specified plants. Configuration (excludes common objective fields): type - Always "Harvest" amountRequired - An integer value greater than 0 items - List of seed shortnames. Leave empty for any seed. source - One of Any, World or Planted Any = Any plant | World = Natural plants | Planted = Player-planted plants Example (excludes common objective fields): { "type": "Harvest", "amountRequired": 100, "items": ["mushroom", "@berries"], "source": "World" } 🍃 Cloning Requires the player to clone any or specified plants. Configuration (excludes common objective fields): type - Always "Cloning" amountRequired - An integer value greater than 0 items - List of clone shortnames to get. Leave empty for any clone. Example (excludes common objective fields): { "type": "Cloning", "amountRequired": 100, "items": ["clone.hemp", "@berries_clone"] }   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
5.0
AI-Powered Anti-Cheat & Moderation Galium: the automated anti-cheat & moderation platform for Rust organizations Detection, intelligence, and enforcement, automated and unified in one organizational dashboard. Galium reads live, server-side gameplay to catch cheaters, teamers and rule-breakers from the way they play, then enforces automatically, 24/7, across every server you run. No client install. Works alongside EAC. Request Access Join Discord 40,000+ players monitored live 2021 protecting Rust since 24/7 automated enforcement Your browser does not support the video tag. One automated layer over your whole operation Galium is an anti-cheat at its core, designed to detect behavioral abuse through live production signals, risk modeling, and automated enforcement workflows. Everything runs server-side, so there is no client for players to install or tamper with, and detection runs off your game server without taxing your tick rate at peak population. It analyzes four live behavioral signal streams in real time, and acts the moment a player crosses the line you set: Combat Aim, recoil & hit patterns Movement Speed, flight & position Chat, voice & signs AI toxicity & NSFW Teams Cooperation & grouping Automated Pillar 01 Server-side anti-cheat Galium flags the full range of Rust cheats from live gameplay, not from the player's machine, from blatant aimbot to the subtle no-recoil that slips past everything else. Every flagged player carries a single risk score and tier, so your staff review who matters first. Detects in real time Aimbot, triggerbot & aim assistance No-recoil & no-spread Spinbot, flyhack & speedhack Scripting & automation Risk scoring & tiers One risk score per player, not per detection Severity tiers prioritize who to review first Explainable & auditable, never black-box Weighting refined through years of real outcomes Automated Pillar 02 Teaming detection, in 3D Teaming beyond your group limit is the hardest rule on Rust to police, and the easiest to hide. Galium surfaces the relationships behind it and maps who is actually cooperating with whom, so you can act on evidence instead of suspicion. ✓ Flags cooperation that exceeds your group limit ✓ Player-to-player, player-to-clan & clan-to-clan scoring ✓ Weighted by interaction and proximity over time Teaming on the 3D map · by RankEval Automated Pillar 03 AI Moderation Toolkit One AI-driven toolkit reads everything players type, say and draw. Language models score chat, speech models transcribe and judge voice, and computer vision scans every spray and sign. It acts in-game the moment something crosses the line, without a moderator in the loop. Chat AI toxicity scoring + word filters Auto-mutes offenders instantly Every action logged to Discord Voice AI transcribes voice in real time Flags toxic & abusive players Optional auto-enforcement & logs Images AI vision scans every spray & sign Flags NSFW & offensive imagery Auto-removed, no manual review Automated enforcement that never sleeps Detection only matters if something happens next. Build no-code rules (trigger, condition, action) and Galium bans, mutes, kicks or alerts the moment a player crosses your threshold, across every server, 24/7. ✓ No-code automation rules: trigger → condition → action ✓ Bans, mutes, kicks and alerts fire automatically, 24/7 ✓ Two-way BattleMetrics ban sync ✓ Full Discord moderation bot, with actions & alerts posted live ✓ Ban history, mute history, evidence linkage & full audit trails From a single server to a whole organization Run one server or fifty. Galium fits both, and grows with you. Where most plugins stop at a single server, Galium gives every player one identity, one risk score and one enforcement history that follows them across everything you run. ✓ One player identity across your entire org ✓ Risk follows the player, not the server they join ✓ Behavioral profiles persist beyond wipe cycles ✓ Staff actions are fully traceable across teams No silos. No per-server blind spots. One structured organizational view. Plugs into the tools you already run Discord A full moderation bot with live alerts, actions and logs in your server. BattleMetrics Two-way ban sync keeps enforcement consistent everywhere. RankEval Player-position tracking and the 3D teaming map. Automated moderation at scale starts here If you operate Rust servers and need cross-server cheat detection, teaming intelligence and automated enforcement that runs itself, and Galium is the infrastructure to support it. Request Access Join Discord See every feature in detail at galium.gg/features Automated Rust anti-cheat since 2021 · 40,000+ players monitored live · Built by CyberSynthetics Solutions LLC
5.0
Welcome to "Decay: The Last Haven," a custom map for the game RUST that immerses players in a post-apocalyptic world where survival is a luxury. This expansive map, with a size of 4500, boasts around 70,000 prefabs, creating a rich and detailed environment. It's fully compatible with BetterNPC plugins(Config for bots in the  file), and Train Homes, featuring three stations for the plugin. The map showcases a double-track surface railway, offering two metro entrances with separate branches for spawning trains, complemented by an intricate underground railway system. The layout includes evenly spaced monuments to optimize the FPS load for clients, ensuring smooth gameplay. Players can find custom building spots in the subway, marked as 'XU' on the minimap, amidst a network of bridges that are navigable by tugboats. The map's design incorporates a multitude of rivers, allowing tugboats and other water transport to access any point on the map with ease. For those seeking a strategic advantage, the map presents custom monuments in ample quantity for a comfortable and engaging gaming experience. Builders will appreciate the custom sites, indicated by 'X' on the minimap, while the heart of the map features fresh water and lush vegetation, ideal for farmers. Explorers can discover a large number of small settlements and standalone buildings, not marked on the road map, offering hidden gems throughout the landscape. Adventurous players can delve into underwater farm zones, denoted by 'O' on the minimap, and explore the depths of an underwater laboratory. To add to the excitement, the map is equipped with ziplines, providing a thrilling way to traverse this desolate yet captivating world. "Decay: The Last Haven" is not just a map; it's a testament to the resilience of humanity in the face of desolation, offering a sanctuary for those brave enough to claim it. Features: Map size:  4500; Prefabs count:  ~65K; Compatible with BetterNPC plugins (Config for bots in the  file) & Train Homes ( 3 stations for plug-in ); Double-track surface railway with 2 entrances to the metro with separate branches for spawn trains; Underground railway; Evenly spaced monuments to spread the FPS load of client; Custom places for building in the subway (XU on the minimap); A lot of bridges ( The tugboat passes ); A large number of rivers, tugboats and other water transport can pass to any point on the map; Designed custom monuments in sufficient quantity for a comfortable game; Custom building sites (X on the minimap); Fresh water and vegetation for farmers are in the center of the map; A large number of small settlements/single buildings not marked on the road map by road; Underwater farm zones (O on the minimap); Underwater Laboratory; Ziplines. Custom monuments: Nuclear Cargo; Settlement; Bandit Settlement; Wood Industry; Industrial Settlement; Office Area; Reverpost; Shorpek; Warehouse Settlement; Bandit Ship; Slave Ship; Rebel Ship; RW Station; A large number of small settlements/single buildings not marked on the road map by road; A lots custom places to build a base. ( "X"/"XU"  on map  ); Underwater farm zones ( "O" on map ). Monuments: Combined Outpost; Launch Site; The Dome; Ziggurat; PowerPlant; JunkYard; Harbor; Airfield; Arctic Research Base; Desert Military Base; Ferry Terminal; Large fishing village; Oxum`s Gas Station; Abandoned supermarket; Fishing villages; Lighthouses; Satellite Dish; Nuclear Missile Silo; Water Treatment Plant; Train Yard; Giant Excavator Pit; Underwater laboratory; Ranch; Underground railway; Quarries(HQM,Stone, Sulfur); Large oilrig; Oilrig. My Discord: shemov A password is attached to the map.  You can edit it.
5.0
$29.99
Introducing Total Control – The Ultimate Rust Server Admin Tool     Total Control is a powerful full GUI admin plugin for Rust servers. Whether you run hardcore PvP or relaxed PvE, Total Control gives you complete live control over every major system directly in-game, with zero config files or reloading after changes.     📅 Dynamic Schedule System: •Plan your entire wipe and let the plugin do the work for you. •Create up to 5 scheduled sets (plus the default) Automatically change gather rates, stack sizes, smelting, rewards, PvE/PvP mode, raid protection, and more at exact dates and times. •Use real-world time or server time. •Enable only the pages you want for each set everything else stays on your default settings. •Run your server exactly how you want.   ⚒️ Gather Rates & Stack Sizes: •Full control over every item (ore, plants, crates, quarries, excavator, etc.) Quick multiplier buttons or type exact values. •Category multipliers with individual item overrides. •Add or remove any item instantly with chat commands.   🔥 Smelting & Cooking: •Adjust speed, charcoal output, fuel usage, and resource output for every furnace type. •Full control over the Mixing Table and Cooking Workbench.   🎁 Rewards System: •Reward players for gathering, killing animals/NPCs/players, destroying barrels, emptying crates, Bradley/Heli loot, and playtime. •Support for Scrap, Economics, and ServerRewards (use any or all three) Optional UI Notify integration with custom message styles.   ⚙️ Settings Page: •Auto or voted night skip. Time freeze, custom day/night lengths, and server date. •PvE/PvP mode switching (manual or timed). •Full raid protection (manual or timed). •Offline raid protection (with adjustable cooldown timer). •Option to disable shotgun traps, flame turrets, auto turrets, and SAM sites.   Any admin with the correct permission can open the Total Control GUI with /tc and modify everything, without requiring data file access or plugin reload. Ideal for administrators worldwide.   🔑 Permissions & Commands: Permission: TotalControl.OpenGui   Chat Commands: /tc  Open the GUI /addgather <shortname> /removegather <shortname> Add/Remove items to GatherRates page. /addstack <shortname> /removestack <shortname> Add/Remove items to StackSize page. /addreward <shortname or prefab> /removereward <shortname or prefab> Add/Remove items to Rewards page. /raid help    /raid list  List all excluded prefabs from Raid Protection. /raid include <shortname | itemID | prefabID> /raid exclude <shortname | itemID | prefabID>   Add/Remove items to or from Raid Protection.   /raid include <building.grade prefabID> /raid exclude <building.grade prefabID>  Add/Remove Building blocks to or from Raid Protection.   (Shortnames list: https://www.corrosionhour.com/rust-item-list)     💬 Join the Community Stay up to date, get support, make suggestions, report bugs, or promote your server. 🔗 https://discord.gg/AkwHUs8Qma  
5.0
sale
$41.95 $31.95
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!
5.0
Highest Rated
Top-rated picks trusted and loved by the community.
Trending Files
Popular picks members are downloading the most right now.
Great Deals
Discounted picks, limited-time deals, and sale items worth grabbing now.
Latest Reviews
See what customers are saying about their experience with files.
It's great. The only improvement would be if custom items could be added as rewards. That feature would earn the 5th star
I haven't even had to really edit anything yet. The random weather cycle(s) is absolutely perfect and already adding a heavy layer of immersion to my server. Love this mod absolutely worth the $14.99 
I’m honestly beyond impressed with this plugin. The level of quality, attention to detail, and overall functionality completely exceeded my expectations. Everything works smoothly, the setup process was straightforward, and you can clearly see how much effort and professionalism went into development. I’ve tested many plugins before, but this one genuinely stands out. It saves time, performs flawlessly, and adds exactly the kind of features I was looking for. I can confidently say I’m
Amazing Plugin!  A bit of work getting it all setup, cusomisied with loot tables, and kits for the NPC's etc/ but once its done, its an aboslute blast! I'm added a Prim Raid to mine, NPC with bows an eoka's, and also a Hell Raid mode with 9 waves with MLRS rockers on each, with difficulties everywhere inbetween.  So much fun, and great companion for the raidable bases plugin to give a PVE server both Raiding and being Raided.     
Very easy to pick up if you have used similar tools in the past. What I made in editor reflected cleanly in game without needing to adjust anything.  The app is full of tools and options to make exactly what you want.  Dev is very welcoming & fast to respond. Nice work! I am looking forward to see this continue to improve. 
This is a fun map! We're running BetterNpc and raidable bases on it. These guys always get an update out in reasonable time frame too! Going to buy another one of their maps and add Train Homes. Great job guys, Love the custom monuments!

About Us

Codefling is the largest marketplace for plugins, maps, tools, and more, making it easy for customers to discover new content and for creators to monetize their work.

Downloads
2.6m
Total downloads
Customers
11.4k
Customers served
Files Sold
163.1k
Total sales
Payments
3.5m
Processed total
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.