Community collections
Collections curated by the community
Explore curated groups of files assembled by the community to help you discover tools and resources that work well together.
$24.99
Allows both PVE and PVP players to exist on a server at the same time. PVE players will have certain configurable protections and restrictions. You can have players use a command to flag themselves as PVP/PVE or you can assign it to them when they first spawn. If you have ZoneManager you can also designate specific zones to force player's to be PVE or PVP. Plugin is also compatible with SimpleStatus.
Note: Video is outdated, see documentation for a full list of new features!
Documentation:
A full readme including permissions, commands, and config options is available in this google doc link.
Disclaimer:
Like all of my plugins - this plugin is sold as is. I will be happy to take feature requests into consideration but make no guarantees about which ones get implemented. Please refer to the feature list before you make your purchase!
Developer API:
API Methods
// Returns the mode of the given entity. Also takes into account if the entity is in a forced mode zone.
string GetEntityMode(BaseEntity entity);
// Returns the group name for the given mode. For example if given 'pve' will return 'warmodepve'
string GetModeGroup(string modeId);
// Returns the target type for a given entity. Target types are the category that an entity falls into.
// For example, if given a BasePlayer entity, it will return 'players'. If given a horse entity is will
// return 'horses'.
string GetEntityTargetType(BaseEntity entity);
Hooks - place these in your plugin and WarMode will call them.
// Called when a player's mode has been updated or config changes have ocurred that may affect the mode.
private void WarMode_PlayerModeUpdated(string userid, string modeId)
// Used to override WarMode logic for taking damage.
// If true/false is returned then WarMode logic will be skipped. Return null to continue WarMode logic.
private object CanEntityTakeDamage(BaseCombatEntity target, HitInfo info)
// Used to override WarMode logic for targeting.
// If true/false is returned then WarMode logic will be skipped. Return null to continue WarMode logic.
private object CanEntityBeTargeted(BasePlayer target, BaseEntity attacker, bool skipVendingCheck)
// Used to override WarMode logic for triggering a trap.
// If true/false is returned then WarMode logic will be skipped. Return null to continue WarMode logic.
private object CanEntityTrapTrigger(BaseTrap trap, BasePlayer basePlayer)
// Used to override WarMode logic for looting an entity.
// If true/false is returned then WarMode logic will be skipped. Return null to continue WarMode logic.
private object CanEntityLoot(BasePlayer looter, BaseEntity target, bool skipVendingCheck)
FREE Extension Plugins:
War Mode Admin Panel
Use the /warmode.config or /wmc command to open a panel that allows admins to update mode rules in game without having to reload the pluign. Requires the warmode.admin permission to use.
I HIGHLY recommend you use this extension!
WarModeAdminPanel.cs
War Mode Spawn UI
Provides a UI that is shown to players when they first spawn that prompts them to choose whether they want to be PVP or PVE. Also supports custom modes. Localization and config options available. This can also be configured to appear when players use the /flag command.
WarModeSpawnUI.cs
War Mode Rules UI
Using the /rules command (which is configurable) players can see a list of what restrictions they have for their current mode. These ruling will update dynamically based on your config settings.
WarModeRulesUI.cs
War Mode Badges
Customizable UI elements that will appear on the player's HUD to indicate what their current mode is.
WarModeBadges.cs
$15.00
BoatControl is a Rust server plugin that completely enhances boat handling. When taking the helm, a user-friendly CUI interface appears, allowing players to raise/lower sails and anchors, start/stop engines, and switch navigation direction forward or backward.
The plugin also supports automatic reloading when the player has ammunition, cannon firing with configurable cooldown (or bypass via permission), and toggling all torches and lanterns without fuel consumption. Additionally, players can control navigation using W/S and fire cannons with the left mouse click.
Want to try it before you buy it?
You can try it by accessing the Staging server: connect staging.rustspain.com (provided the server is online, as it's my test server).
Video Update 1.0.0
Features
Displays a CUI interface when taking the helm that allows you to:
Raise / lower sails.
Raise / lower anchors.
Turn engines on / off.
Change the navigation direction forward / backward (engines and sails reverse accordingly).
Reload (if the player has ammunition in their inventory, with a permission to bypass this).
Fire cannons with a cooldown (or without it if you have the bypass permission).
Turn all torches and lamps on/off (In the settings you can decide whether you want them to consume fuel or not).
Allows enabling boat editing anywhere.
Blocks edit mode within safe zones.
Blocks the ability to activate the anchor within safe zones.
Allows you to view the list of authorized players (similar to BetterTC).
Sail Configuration System:
Displays a window similar to the config menu showing all sails placed on the boat.
Each sail shows its health amount below it.
Added a button that allows upgrading sails by levels (thrust power). Everything is configurable, including upgrade costs (in-game resources, RP, or Economy). This allows admins to add as many levels as they want in the config.
Engine Configuration System:
Displays a window similar to the config menu showing all engines placed on the boat.
Each engine shows its fuel amount and health below it.
Added the ability to refuel engines using fuel from the player’s inventory.
Added another button that allows upgrading engines by levels (fuel efficiency and engine power). Everything is configurable, including upgrade costs (in-game resources, RP, or Economy). This allows admins to add as many levels as they want in the config.
Important: There is a maximum speed limit in the game. I have been testing ways to increase the speed, but I still need to continue researching and testing to find the best way to increase it.
Automatic repair system:
If damage is received during repair, it will stop.
If the player runs out of materials in their inventory, it will stop.
If the player disconnects, it will also stop.
Note: The boat health system is unusual and does not work like a normal building, so the system simulates repairs at different points on the boat depending on the percentage of health lost. That is why you will not hear the actual damaged entity being repaired.
BetterTC Integration:
If you have BetterTC installed with version 1.6.2 or higher, the automatic Wallpaper placement system will be enabled.
Facepunch will add wallpaper support for Boats starting in March; you can test it meanwhile on staging.
You can also change the navigation direction using the W and S keys, and fire the cannons with the left mouse click.
I'm open to further improving this plugin over time. If you'd like to see any features integrated, please mention them in the discussion section.
Ideas I've tried but haven't been able to implement:
Modifying the build area (net size) to make it larger. It doesn't seem possible to change this.
Making the engines work without fuel consumption. I managed to do this in an initial test, but then FacePunch changed something and it's no longer possible. I'll try to see if I can adjust fuel consumption to make it more economical.
The maximum number of engines and sails cannot be increased. Or at least not easily; it could be done with commands and strange contraptions, but it wouldn't be entirely convenient.
Permissions
boatcontrol.use – Enables the functionality for the player when mounting the boat’s helm.
boatcontrol.bypassammo – Allows you to fire cannons without using real ammunition from your inventory. Free ammo! (not recommended to give to regular players)
boatcontrol.bypasscannoncooldown – Allows you to fire cannons with no cooldown. Maximum bombardment!
boatcontrol.edit allows enabling boat editing anywhere.
boatcontrol.cannonuse If the player doesn’t have it enabled, the option to control cannons won’t appear in the interface. Not having this permission will not block manual/vanilla use.
boatcontrol.authlist Shows the list of players authorized to the Boat, similar to BetterTC.
boatcontrol.deleteauth Allows authorized players to remove player permissions individually.
boatcontrol.sailconfig Allows players to open and manage the Sail Configuration menu for boats.
boatcontrol.sailupgrade Allows players to upgrade sails (thrust power) according to the configured upgrade levels.
boatcontrol.engineconfig Allows players to open and manage the Engine Configuration menu for boats.
boatcontrol.engineupgrade Allows players to upgrade engines (fuel efficiency and engine power) according to the configured upgrade levels.
boatcontrol.wallpaper Allows players to use the wallpaper placement system on boats. (Requires BetterTC version 1.6.2 or higher.)
boatcontrol.repair Allows players to use the automatic boat repair system.
boatcontrol.repair.nocost Allows players to repair boats without consuming materials
Dynamic repair permissions (speed adjustment) Allows admins to grant specific permissions defined in the config to adjust boat speed limits.
Commands
It currently has no chat or console commands.
Configuration
DEFAULT CONFIGURATION
{
"Enable WASD Direction": true,
"Enable Cannon Fire Key (Left Mouse Button)": true,
"Cannon Aim Step (degrees per click)": 5.0,
"Cannon Fire Cooldown": 5.0,
"Cannon Crew": {
"Enable": true,
"Names": [
"Seaman",
"Deckhand",
"Bosun",
"Gunner",
"Quartermaster",
"Navigator",
"Sailor",
"Crewman",
"Mate",
"Boatswain",
"Cannoneer",
"Buccaneer",
"Mariner",
"Sea Dog",
"Old Salt"
],
"Health": 100.0,
"MaxCannons": 0,
"Wear": {
"burlap.shirt": 1380044819,
"burlap.trousers": 1380047706,
"burlap.shoes": 2215057317,
"hat.boonie": 965553937
},
"RequireOperate": true,
"ToggleCrewCooldown": 30.0,
"NoCorpse": true
},
"Lights": {
"Enable Light Toggle Key (R)": true,
"Light Toggle Cooldown": 1.0,
"Require Fuel For Lights": false,
"Light Items (shortnames)": [
"tunalight",
"lantern",
"torchholder",
"largecandles",
"smallcandles",
"jackolantern.angry",
"jackolantern.happy",
"chineselantern",
"chineselanternwhite"
]
},
"Impact Force Physics": {
"Enable Impact Physics": true,
"Impact Force (default: 100, range: 50-500)": 100.0,
"Enable Debug Logging": false
},
"Alert Chat": true,
"Alert Notify Plugin": false,
"Notify: select what notification type to be used": {
"error": 0,
"info": 0
},
"Color Prefix Chat": "#f74d31",
"GUI": {
"GUI Windows Belt": {
"BG Color Primary": "0.10 0.15 0.10 1",
"BG Color Secundary": "0.2 0.30 0.2 0.80",
"Button Active Color": "0.2 0.6 0.2 0.80",
"Button Inactive Color": "0.2 0.30 0.2 0.80",
"OffsetMin": "-200 15",
"OffsetMax": "181 79",
"AnchorMin": "0.5 0",
"AnchorMax": "0.5 0"
},
"GUI Windows Info": {
"BG Color Primary": "0.10 0.10 0.10 0.8",
"BG Color Secundary": "0.2 0.30 0.2 0.80",
"Button Active Color": "0.2 0.6 0.2 0.80",
"Button Inactive Color": "0.2 0.30 0.2 0.80",
"OffsetMin": "-115 -100",
"OffsetMax": "115 100",
"AnchorMin": "0.902 0.8104",
"AnchorMax": "0.902 0.8104"
},
"GUI Windows Cannons Menu": {
"BG Color Primary": "0.10 0.15 0.10 1",
"BG Color Secundary": "0.2 0.30 0.2 0.80",
"Button Active Color": "0.2 0.6 0.2 0.80",
"Button Inactive Color": "0.2 0.30 0.2 0.80",
"OffsetMin": "-140 85",
"OffsetMax": "140 185",
"AnchorMin": "0.5 0",
"AnchorMax": "0.5 0"
}
},
"Show Info Window": true,
"Boat Edit Damage Cooldown (seconds)": 30.0,
"Block Anchor in Safe Zone": true,
"Block Boat Edit in Safe Zone": true,
"Config Version": "1.2.0",
"Repair Cooldown After Recent Damage (seconds)": 30.0,
"Cooldown Frequency Repair (larger number is slower)": {
"boatcontrol.use": 2.0,
"boatcontrol.vip": 1.0
},
"Repair Costs (ItemShortName: Amount per block/component)": {
"lowgradefuel": 4,
"wood": 75
},
"Engine Upgrades": {
"Enable Engine Upgrades": true,
"Upgrade Levels": [
{
"Level": 1,
"Display Name": "Tier 1",
"Fuel Efficiency Multiplier (1.0 = normal, 0.5 = half fuel consumption)": 0.9,
"Power Multiplier (1.0 = normal, 2.0 = double power)": 2.0,
"Upgrade Cost": {
"Resource Costs (ItemShortName: Amount)": {
"scrap": 100,
"lowgradefuel": 50
},
"ServerRewards Points": 0,
"Economics Money": 0.0
}
},
{
"Level": 2,
"Display Name": "Tier 2",
"Fuel Efficiency Multiplier (1.0 = normal, 0.5 = half fuel consumption)": 0.8,
"Power Multiplier (1.0 = normal, 2.0 = double power)": 4.0,
"Upgrade Cost": {
"Resource Costs (ItemShortName: Amount)": {
"scrap": 250,
"lowgradefuel": 100,
"metal.fragments": 300
},
"ServerRewards Points": 0,
"Economics Money": 0.0
}
},
{
"Level": 3,
"Display Name": "Tier 3",
"Fuel Efficiency Multiplier (1.0 = normal, 0.5 = half fuel consumption)": 0.65,
"Power Multiplier (1.0 = normal, 2.0 = double power)": 8.0,
"Upgrade Cost": {
"Resource Costs (ItemShortName: Amount)": {
"scrap": 500,
"lowgradefuel": 200,
"metal.fragments": 500,
"metal.refined": 25
},
"ServerRewards Points": 0,
"Economics Money": 0.0
}
},
{
"Level": 4,
"Display Name": "Tier 4",
"Fuel Efficiency Multiplier (1.0 = normal, 0.5 = half fuel consumption)": 0.65,
"Power Multiplier (1.0 = normal, 2.0 = double power)": 16.0,
"Upgrade Cost": {
"Resource Costs (ItemShortName: Amount)": {
"scrap": 1000,
"lowgradefuel": 300,
"metal.fragments": 1500,
"metal.refined": 100
},
"ServerRewards Points": 0,
"Economics Money": 0.0
}
}
],
"Currency Type (Resources, ServerRewards, Economics)": "Resources"
},
"Sail Upgrades": {
"Enable Sail Upgrades": true,
"Upgrade Levels": [
{
"Level": 1,
"Display Name": "Tier 1",
"Thrust Multiplier (1.0 = normal, 2.0 = double thrust)": 1.5,
"Upgrade Cost": {
"Resource Costs (ItemShortName: Amount)": {
"scrap": 75,
"cloth": 100
},
"ServerRewards Points": 10,
"Economics Money": 0.0
}
},
{
"Level": 2,
"Display Name": "Tier 2",
"Thrust Multiplier (1.0 = normal, 2.0 = double thrust)": 2.0,
"Upgrade Cost": {
"Resource Costs (ItemShortName: Amount)": {
"scrap": 150,
"cloth": 200,
"leather": 50
},
"ServerRewards Points": 15,
"Economics Money": 0.0
}
},
{
"Level": 3,
"Display Name": "Tier 3",
"Thrust Multiplier (1.0 = normal, 2.0 = double thrust)": 2.5,
"Upgrade Cost": {
"Resource Costs (ItemShortName: Amount)": {
"scrap": 300,
"cloth": 300,
"leather": 100,
"metal.fragments": 200
},
"ServerRewards Points": 20,
"Economics Money": 0.0
}
},
{
"Level": 4,
"Display Name": "Tier 4",
"Thrust Multiplier (1.0 = normal, 2.0 = double thrust)": 3.0,
"Upgrade Cost": {
"Resource Costs (ItemShortName: Amount)": {
"scrap": 600,
"cloth": 500,
"leather": 200,
"metal.fragments": 500
},
"ServerRewards Points": 30,
"Economics Money": 0.0
}
}
],
"Currency Type (Resources, ServerRewards, Economics)": "ServerRewards"
}
}
For any problem, doubt, suggestion or assistance do not hesitate to contact me by Discord ninco90
$32.99
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.
Hello! This is one of my largest base design packs yet.
It includes 210 unique bases, with over 30+ designs for every skill level (from starter to endgame).
This collection combines all my current individual packs into one ultimate bundle. If you have already purchased any of my previous packs, please check carefully before buying this one to avoid duplicate content. However, if this is your first time considering my designs, this pack is the perfect place to start!
Thank you in advance for your support, and I hope you enjoy building!
$14.99
TC Upgrades provides an efficient and optimized way to enhance your base directly from the Tool Cupboard. With this plugin, you can easily change building grades, switch building skins, repair structures or deployables, and even set up wallpapers on your base, streamlining your base management process.
⭐ Key Features
Multi-TC Support
Authorization List on Tool Cupboard
Upgrade Building Grades
Change Building Skins
Repair Structures and Deployables
Apply Wallpapers
Shows Required Upgrade materials
NEW! Change Doors skins from tc directly
Detailed Permissions
VIP Features
User-Friendly UI
🎉Game hosting perfected, that's Physgun
Join the thousands of server owners using Physgun to take their game server communities to the top.
🎬 Video Showcase
📜 Permissions
TCUpgrades.admin- Shows a UI Change button when in admin mode (command: /tcuadmin)
TCUpgrades.authlist - Shows Authorization list button on TC
TCUpgrades.upgrade - Shows upgrade button on TC
TCUpgrades.repair - Shows repair button on TC
TCUpgrades.skin - Shows skin button on TC
TCUpgrades.wallpaper - Shows wallpaper button on TC
TCUpgrades.upgrade.nocost - Allows player to use no resources when upgrading
TCUpgrades.repair.nocost - Allows player to use no resources when repairing
TCUpgrades.reskin.nocost - Allows player to use no resources when reskining
TCUpgrades.wallpaper.nocost - Allows player to use no resources when setting wallpaper
TCUpgrades.default - Allows player to use (wood, stone, metal, hqm & deploy)
TCUpgrades.wood
TCUpgrades.stone
TCUpgrades.metal
TCUpgrades.hqm
TCUpgrades.deploy
TCUpgrades.TCSkin - Allows player to use Tool Cupboard skins
TCUpgrades.WallandGates - Allows player to External Gate skins
TCUpgrades.DoorSkins - Allows player to place door skins
⚙️ Configurations
🗃️ Language EN
💬 Support
$9.99
Offline Raid Limiter
Stop Unfair Offline Raids in Their Tracks
Tired of seeing your Rust server overrun by offline raid abuse? Offline Raid Limiter steps in to restore balance and fair play. With powerful tracking and immediate damage blocking, your players can enjoy a more authentic Rust experience—and you can enjoy worry-free server management.
Key Benefits
Prevent Offline Raid Abuse
Daily + Per-Wipe raid limits
Run daily limits, wipe limits, or both at the same time (fully configurable).
Proximity-Based Tracking: Only counts raids when attackers are within range of a Tool Cupboard (TC), ensuring offline raid limits don’t trigger prematurely.
Smart Raid Session Management
Team & Additional Raider Tracking: Keeps tabs on individual players as well as entire teams—even if they leave and rejoin. Plus, if additional players jump into the same raid, their involvement is recorded.
Edge Case Handling: No more confusion or gaps in coverage if a defender goes offline mid-raid or when multiple attackers are involved. Offline Raid Limiter’s robust logic sorts out these scenarios seamlessly.
Instant Damage Blocking
Enforce Fair Play: Once a team or individual hits their daily offline raid quota, further damage is blocked automatically. That means no more sneaky workarounds or unstoppable raids.
Modded Server UI
In-Game Control: For modded servers, gain access to a simple in-game UI that displays raid history, player statistics, and real-time session data.
Player-Friendly Features: Grant permissions so your players can check their offline raid counts with the /orl.mystats command—helping everyone stay within the rules.
Detailed Alerts & Reporting
Discord Integration: Offline Raid Limiter sends comprehensive alerts to Discord, making admin oversight a breeze.
Export & Clear Sessions: Use /orl.export to log and share your entire raid history for deeper analysis, then wipe all sessions with a simple console command if you need a fresh start.
Designed for Vanilla & Modded Servers
Flexible Configuration: If you set your server to "Vanilla,” the plugin automatically disables UI and direct damage blocks, limiting itself to Discord notifications so admins can monitor raiding behind the scenes.
Seamless Integration: Works hand-in-hand with Rust’s existing frameworks and requires only the Simple Status & Image Library for certain UI elements.
Why Choose Offline Raid Limiter?
Enhanced Fairness: Players can’t take shortcuts with offline raids for easy loot.
Clear Oversight: Admins see exactly who’s raiding and how often, helping you enforce balanced gameplay.
Configurable & User-Friendly: Tailor the plugin to your server’s needs in just a few clicks, with plenty of documentation to guide you.
If you’re ready to level the playing field and protect your community from unfair offline raids, Offline Raid Limiter has you covered. Bring your Rust server to new heights of balance, transparency, and peace of mind!
Commands & Usage
Player Commands (permission based)
/orl.mystats — Shows your overall stats (daily + wipe, plus active limits).
/orl.mydaily — Shows your daily offline raids and daily limit.
/orl.mywipe — Shows your wipe offline raids and wipe limit.
Admin Commands
/orl.disable <hours> — Temporarily disables enforcement for X hours.
/orl.enable — Re-enables immediately.
/orl.clearall — Clears all stored raid sessions (and fully resets tracking).
/orl.clearplayer <SteamID64 or name> — Clears raids for a specific player/team.
/orl.export — Exports raid sessions to JSON via the debug webhook.
/orl.dailyall [top] — Shows a “top raiders” list for daily scope.
/orl.wipeall [top] — Shows a “top raiders” list for wipe scope.
/orl.dailyplayer <name/id> — Check a player’s daily count.
/orl.wipeplayer <name/id> — Check a player’s wipe count.
Damage / Raid Logic
OfflineRaidLimiter checks incoming damage to building blocks, doors, external walls, and more.
If a team or player has exceeded the daily offline raid limit, all further damage to offline bases is blocked—and you can optionally broadcast an alert to Discord.
Key Points to Note About Commands
Some commands differ depending on your permissions and server setup. For instance, if a player types /exportraidsessions in chat, it won’t work unless they have OfflineRaidLimiter.admin.
For "Vanilla” servers (as set in the config), UI, damage blocking, and certain other features may be disabled—so commands like clearraidsessions and clearraidsforplayer will still work, but may only be visible to server admins via console.
When Commands Might Defer
Cleanup Commands: If the plugin detects that some raid sessions are still "cooling down” (meaning the raid window hasn’t fully expired), the system may defer clearing them until the next pass. This prevents conflicts with currently active raids.
Blocking Logic: After the daily limit is reached, the blocking triggers immediately and remains in place until the next server reset or cleanup routine (depending on how you configure it).
$30.00
Fed up with the need to use multiple addons on my server for functions that players could execute from within the game, and considering the constant increase of new Skins for builds, I found myself dissatisfied with the limited supply of automatic upgrades on the market.
For this reason, I have reworked the most used TC-related features on my server into a single plugin, which has been enriched with ideas contributed by players and other Rust administrators.
All this under an attractive graphical interface, inspired by the item store of the game itself.
Video Update 1.5.0
Video Update 1.4.9
Video Update 1.4.0
Old Video
Features
AUTOMATIC CONSTRUCTION SKINS
With BetterTC your players will be able to improve their builds to any level of improvement, but they will also be able to choose their favorite Skin (if you enable it) completely free of charge or offering it to the VIPS on your server.
Update system: I have added a small system that checks for new skins to automatically add them to the configuration. When you install the plugin for the first time and once you obtain permission from bettertc.admin, you must click on "Check Update" so that it performs an internal check and adds all the skins and options that exist to date.
LIST OF AUTHORIZED PLAYERS
It allows players or simply the rest of the Staff to easily see which players are authorized in the locker. Except for the administrators themselves, if you activate it in the config. (I don't think any player needs to know that the admin was authorized in their locker to check something)
You can also allow authorizations to be deleted individually.
AUTOMATIC IMPROVEMENT SYSTEM
Allows your players to upgrade the grade of their bases automatically by obtaining resources directly from the TC. As long as they don't have RaidBlock (if you use NoEscape/RaidBlock plugin of course).
You can configure different speed levels and costs depending on the player's permission from the plugin's own settings. That is, you can have players improve a building every 5 seconds for free and VIPs can improve every 2 or 1... Use your imagination!
In addition, you can also calculate the cost of materials that will be required to carry out said improvement by clicking on the info button.
A new setting has been added to disable the Container skin's multi-color option. Disabling this option, which is enabled by default, will slightly improve frame rates in builds using this skin: Fewer colors = Better performance (FPS Client).
AUTOMATIC RESKIN OF EXTERNAL WALLS
The plugin also includes an automatic reskin system for external walls.
Previously, it was only compatible with standard stone external walls and their adobe variant. Now, it also includes the ability to switch wooden walls to Frontier and vice versa. Ice walls have also been added as a variant for stone.
If you place regular stone external walls (the usual ones), you can change their appearance to adobe or ice by clicking on the corresponding wall icon.
When changing the skin, the original wall's health will be preserved, so if it’s damaged, it won’t be fully restored. This prevents players from abusing the system.
Important:
I recommend using the system for external walls as an appearance modification system, not as an upgrade system. In other words, with the following configuration: "Only reskin on wall of the same grade": true
If you disable this parameter, you will be able to change from wood to stone, or vice versa, completely free of charge. Since the wall system doesn’t have a cost mechanism for players, I recommend keeping this option enabled.
AUTOMATIC REPAIR SYSTEM
Allows your players to repair their bases automatically by obtaining resources directly from the TC. As long as they don't have RaidBlock (if you use NoEscape of course). Now since version 1.4.0 it will also repair damaged objects such as doors, trapdoors, windows, boxes!
With configurable cooling system to prevent repair abuse during raids. ("Repair Cooldown After Recent Damage (seconds)": 30.0)
AUTOMATIC CONSTRUCTION DEGRADATION
It allows players to regret upgrading their huge base to metal and not being able to afford it anymore. Of course, it will charge them resources as if they improved it from 0. However, if you do not want to allow downgrade you can disable it from the config.
AUTOMATIC WALLPAPER PLACEMENT
Allows your players to place any available wallpaper in the game automatically based on the building type. Support for wallpapers on walls, ceilings, and floors.
Wallpapers are always kept up-to-date automatically. So if FacePunch adds new wallpapers, they will be instantly added to the list.
You'll also enjoy my exclusive wallpapers. Since update 1.5.0, you can also add and remove custom wallpapers with the following commands.
Chat Command:
Usage: /addwp <skinid> <Wall|Floor|Ceiling>,
Example: /addwp 3356517390 Wall,
Usage: /wpb (It allows you to place wallpapers on boats. To do this, you must first sit at the boat’s steering wheel.)
Console Command:
Usage: addwp <skinid> <Wall|Floor|Ceiling>,
Example: addwp 3356517390 Wall
I've added a new parameter to the config: "Wallpaper Damage": true Setting this parameter to false prevents wallpapers from being broken in melee or with ammunition. However, you can still break them with C4 or missiles. Blocking damage completely is more complex and, in my opinion, unnecessary.
In addition, with BetterTC you can place wallpapers on both sides of the walls, even if they are on the outside of the building, as it includes an option in the configuration to force this placement.
TC SKINS
Give your players the ability to change the appearance of their TC.
ALLOWS TO SAVE OLD ITEMS
A new configuration option has been added to allow saving items back to the TC.
"Allow items in TC inventory": {
"gunpowder": false,
"sulfur": false,
"sulfur.ore": false,
"explosives": false,
"diesel_barrel": false,
"cctv.camera": false,
"targeting.computer": false
}
CONSTRUCTION EFFECTS
Allows players to disable auto-build buff effects and reduces headaches.However, if you do not want to allow them to disable this, you can disable it from the config.
BETTER GUI
The plugin's interface has been programmed so that it maintains its size regardless of the interface scaling settings of each player.
It has also been taken into account that perhaps not everyone wants to enable all options for their players. Therefore, the buttons that appear at the top of the TC have been programmed so that if a player does not have permission for a specific function, instead of leaving the space empty, the buttons adapt their position automatically.
The player list GUI and construction SKINS have also been prepared with a pagination system if necessary.
95% of the images used in the plugin are loaded directly from the client side, thus optimizing the loading and rendering of the interface and reducing the use of Image Library.
Carbon Image Module support. If your server is running Carbon instead of Oxide, it will now use the built-in module instead of the Image Library.
Permissions
bettertc.admin Exclusive for Admin. It allows you to check if there are new skins to add. You will not appear in the list of authorized players if the option in the settings is activated.
bettertc.authlist Shows a button at the top of the TC to check which players are authorized.
bettertc.deleteauth Allows you to individually revoke an authorized player. You can give this permission to players if you want them to be able to delete individually.
bettertc.use It is the basic degree of use found in the configuration.
bettertc.vip It is the level of use for advanced that is found in the configuration. Depending on how you configure it, it makes players with this permission improve/repair/change skin faster. Or it simply costs them less resources.
bettertc.repair Displays a button on top of the TC to repair the build automatically.
bettertc.repair.nocost No explanation needed I think. (USE WITH CAUTION)
bettertc.reskin Allows players to change the skin of their build automatically. Imagine one day you upgrade your entire foundation to container and the next day you regret losing FPS and would like to leave it on normal metal.
bettertc.reskin.nocost No explanation needed I think.
bettertc.updefault Shows players the default upgrade options. Without SKINS.
bettertc.upskin Show players upgrade options with SKINS.
bettertc.upwall Allows players to change the skin of external walls.
bettertc.upgrade Permission to evade blocking of all items.
bettertc.upgrade.nocost No explanation needed I think. (USE WITH CAUTION)
bettertc.wallpaper Allows players to place Wallpaper.
bettertc.wallpaper.nocost No explanation needed I think. (USE WITH CAUTION)
bettertc.wallpaper.custom Display custom wallpapers to players with this permission.
bettertc.tcskinchange Allows players to change the TC skin.
bettertc.tcskindeployed Allows players to place TC with Skin.
Commands
Chat Command:
Usage: /addwp <skinid> <Wall|Floor|Ceiling>,
Example: /addwp 3356517390 Wall,
Console Command:
Usage: addwp <skinid> <Wall|Floor|Ceiling>,
Example: addwp 3356517390 Wall
Configuration
DEFAULT CONFIGURATION
{
"Check for updates when loading": true,
"Bypass DLC ownership check (⚠ only allowed on creative/test servers per Facepunch rules)": false,
"Use NoEscape Plugin": false,
"Use RaidBlock Plugin": true,
"GUI Buttons TC - Color Default": "0.3 0.40 0.3 0.60",
"GUI Buttons TC - Color Active": "0.90 0.20 0.20 0.50",
"GUI Buttons TC - OffsetMin": "280 621",
"GUI Buttons TC - OffsetMax": "573 643",
"GUI Buttons TC - AnchorMin": "0.5 0",
"GUI Buttons TC - AnchorMax": "0.5 0",
"Alert Gametip": true,
"Alert Chat": true,
"Alert Notify Plugin": false,
"Notify: select what notification type to be used": {
"error": 0,
"info": 0
},
"Color Prefix Chat": "#f74d31",
"Show Admin Auth List": false,
"Show SteamID Auth List": true,
"Upgrade Effect": true,
"Colour Selection MultiColor Option": false,
"Reskin Enable": true,
"Reskin Wall Enable": true,
"Only reskin on wall of the same grade": true,
"Reskin Wall TC Distance (Default: 100)": 100.0,
"Deployables Repair": true,
"Repair Cooldown After Recent Damage (seconds)": 30.0,
"Downgrade Enable": true,
"Downgrade only Owner Entity Build": false,
"Upgrade only Owner Entity Build": false,
"Upgrade / Downgrade only Owner and Team": true,
"Wallpaper Enable": true,
"Wallpaper placement Cost (Cloth)": 5,
"Wallpaper Damage": true,
"Wallpaper both sides": true,
"Force both sides including external sides": true,
"Cooldown Frequency Upgrade (larger number is slower)": {
"bettertc.use": 2.0,
"bettertc.vip": 1.0
},
"Cooldown Frequency Reskin (larger number is slower)": {
"bettertc.use": 2.0,
"bettertc.vip": 1.0
},
"Cooldown Frequency Repair (larger number is slower)": {
"bettertc.use": 2.0,
"bettertc.vip": 1.0
},
"Cooldown Frequency Wallpaper (larger number is slower)": {
"bettertc.use": 2.0,
"bettertc.vip": 1.0
},
"Cost Modifier for repairs": {
"bettertc.use": 1.5,
"bettertc.vip": 1.0
},
"Allow Items in TC Inventory": {
"gunpowder": false,
"sulfur": false,
"sulfur.ore": false,
"explosives": false,
"diesel_barrel": true,
"cctv.camera": true,
"targeting.computer": true
},
...
]
}
Bonus
KNOWN ISSUES
Random spawn of default (blue) wallpapers in constructions. If this happens on your server, it's likely because you have the TruePVE plugin or a similar one installed. Make sure to disable the configuration option that protects wallpaper damage in that plugin.
Instead, enable wallpaper damage protection in BetterTC. While it won't prevent 100% of the damage to wallpapers, it will significantly reduce it—especially from melee weapons.
For any problem, doubt, suggestion or assistance do not hesitate to contact me by Discord ninco90#6219
If you need me to configure everything from scratch, according to your tastes, for your server I can also do it for an additional fee. Although you should be able to configure everything yourself 😊
$24.99
Premium Item Skinning · Oxide + Carbon
SKINNER v3.1.6
Skin every item like it’s worth keeping — 60x faster, 200x leaner.
The unrivalled no.1 performance skinning plugin. Skin any item in the game with a unique skinbox — live skinning, auto skinning, and skin sets.
The numbers, not the noise
Measured, not marketed
Skinner 2.0 delivers unrivalled efficiency. In standard testing versus the closest performing plugin, runtime was 60x faster and memory use 200x more efficient.
What’s new in 3.0
Skinner 3.0 is here — a full visual overhaul with dynamic, permission-based UI menus.
✓Visual overhaul with dynamic, permission-based UI menus
✓Automatic skin filtering and dev modes for the new TOS
✓Permission-based skin sets
✓Team-share skins
✓Auto-unlock owned skins
Features
Everything skinner does
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 skin sets for any item.
Skin requests
Players request skins; admins approve them in game.
Auto skins
Apply selected skins to every item that enters your inventory.
Team share
Skin your whole team’s inventory from your own sets.
See it running
Live demo
Live-skin any item in your inventory.
Skin deployables you’re looking at.
Commands
Every command
Skin menu
/skin
/s, /skinbox, /sb
Live-skin any item in your inventory by picking a skin.
/skincraft
/sc
Build skin sets used by the auto, team, and base commands.
/skinitem
/si, /skindeployed, /sd
Skin a deployable you are looking at. Args: 1, 2 or 3 to use a skin set.
Automatic
/skincon
/scon
Skin every item in the container you are looking at. Args: 1/2/3 (optional).
/skininv
/sinv
Skin every item in your inventory. Args: 1/2/3 (optional).
/skinauto
/sauto
Auto-skin every item as it enters your inventory. Args: 1/2/3 (optional).
/skinteam
/st
Skin your inventory and your team’s. Args: 1/2/3. Use /skinteam toggle to opt in or out.
/skinbase
/skinbuilding
Skin all deployables in your base. Args: item filter, e.g. /skinbase sleepingbag.
/skinall
/sa
Skin all items in every container in your base. Args: shortname, e.g. /skinall rifle.ak.
/skinset
/ss
Set your currently selected skin set.
Import & requests
/skinimport
/sip
Import a custom workshop skin. Args: WorkshopID, e.g. /skinimport 2397648701.
/colimport
/cip
Import a workshop collection. Args: Collection ID, e.g. /colimport 2921147807.
/skinrequest
/sr
Request a skin be added — shows in the requests box. Args: WorkshopID.
/skinrequests
/srs
Open the approval box. Try = copy the item, Approve = add the skin, Deny = remove it.
Permissions
Grant exactly what you want
Player
skinner.default
/skin
skinner.items
/skinitem
skinner.craft
/skincraft
skinner.skinauto
/skinauto
skinner.skincon
/skincon
skinner.skininv
/skininv
skinner.skinbase
/skinbase
skinner.skinteam
/skinteam
skinner.skinall
/skinall
skinner.skinrequest
/skinrequest
Admin
skinner.import
Enables /skinimport, /colimport, and /skinrequests.
skinner.bypassauth
Skips the building-auth check when using /skinitem.
skinner.permskintry
Enables Try in /skinrequests. Trying a skin copies the item — admins only.
Auto-assigned
skinner.skinautotoggled
A player disables skinauto.
skinner.skinteamblock
A player opts out of team skins.
Cooldowns
Grant skinner.<command><seconds> (e.g. skinner.default30) to enforce the cooldowns set in the config. No cooldown permission = no cooldown. If a player has several, the shortest wins.
Importing skins
Five ways to add skins
Via config
Add workshop IDs to the Imported Skins List; reload and shortnames/display names auto-populate.
Via collections
Add whole workshop collection IDs; every skin imports automatically on load.
Via commands
/skinimport <WorkshopID> and /colimport <CollectionID> from chat, the F1 console, or RCON.
Via skin requests
Players /skinrequest; admins Try/Approve/Deny in the requests box. Requests log to a Discord webhook.
From other plugins
Convert data from SkinBox, xSkins, and SkinController with the SkinDataConverter tool, then paste into the config. Get the converter →
Configuration
Tune every behaviour
{
"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,
"Override spraycan behaviour": false,
"Use spraycan effect when holding spraycan and skinning deployables": true,
"Blacklisted Skins (skinID)": [],
"Blacklisted Items (itemID)": [],
"Import Skin collections (steam workshop ID)": [],
"Imported Skins List": {
"861142659": {},
"2617744110": {}
}
}
Developer API
Hook into Skinner
A small, stable surface for reading the cached skin data and resolving redirect items from your own plugin.
//Get all cached skins
public Dictionary<int, List<ulong>> GetAllCachedSkins() => _cachedSkins;
//Check if a skin is a redirect item
public bool IsRedirectID(ulong uID) => HasMask(uID);
//Convert a redirect ID to its item ID
public int RedirectIDtoItemID(ulong uID) => (int)UnsetMask(uID);
//Get the list of skins for an item
public List<ulong>? GetSkinsItemList(int itemid)
{
_cachedSkins.TryGetValue(itemid, out List<ulong>? cachedSkins);
return cachedSkins;
}
Watch
See Skinner in action
http://youtu.be/ewKlNILTwv8
Skin every item like it’s worth keeping.
The unrivaled no.1 performance skinbox for Rust — 60x faster, 200x leaner. Oxide + Carbon.
Join the Discord →
Skinner v3.1.6 · by Whispers88 · Oxide + Carbon · 5/5 from 50 reviews · 69 versions · on Codefling since March 2022
Rust CUI Editor
Visual Interface Designer for Rust
Stop writing UI code blindly. Design your CUI interfaces visually and export ready-to-use code in seconds.
What is this?
Rust CUI Editor is a desktop application for creating Rust game UI (CUI) interfaces using a visual drag-and-drop editor. Instead of writing dozens of lines of CuiHelper code and constantly reloading your plugin to see the result, you design everything visually and get clean, working code instantly.
Video demonstration 2.0.0 Version (At the moment the version is already newer with new features)
Elements
Panel
Image (URL/sprite)
Label (with outline)
Button
InputField
ScrollView
Countdown
Draggable
Slot
NeedsCursor / NeedsKeyboard
Layout
Horizontal Layout Group
Vertical Layout Group
Grid Layout Group
Content Size Fitter
LayoutElement
Visual
Drag elements on canvas
Resize with 8 handles
Multi-selection
Marquee select
Anchor/offset system
Element rotation
Inline text editing
Element locking
Alignment
Left / Center / Right
Top / Middle / Bottom
Stretch to parent
Match Width/Height
Distribute evenly
🆕 Find & Replace
Search and replace element properties across the entire project at once. No need to click through each element manually.
► Search by text content, color value, sprite, or material
► Filter results by element type
► Replace single matches or all at once
► Full undo support for bulk replacements
🆕 Inspect Element
Dedicated inspection window for any selected element. Shows all properties in structured form alongside the raw CUI JSON output.
► All component properties in one place
► Raw CUI JSON with one-click copy
► Useful for debugging and quick exports
► Opens with shortcut or right-click menu
🆕 Snapshots
Save named project states at any point and restore them without losing your current work. Snapshots are completely separate from undo history.
► Create named snapshots before risky changes
► Restore any snapshot at any time — current work is preserved
► Stored in a .snapshots folder next to the project file
► Independent from undo/redo stack
🆕 Wrap in Parent
You've built a header with a label and a close button, then realize you forgot to add a background panel behind them. Select all elements, right-click, Wrap in Parent — done. Nothing moves.
► Works with any selection of elements
► New parent is sized to the bounding box of the selection
► All anchors recalculate automatically
► Wrap into Panel, Button, Image, or ScrollView
🆕 Themes
Dark Theme
Default dark interface.
Easy on the eyes during long sessions.
Light Theme
Full light mode across all panels,
dialogs, and overlays. Toggle in settings.
🆕 Plugin Import
Load CUI elements directly from an existing .cs plugin source file. The parser reconstructs the full element tree for visual editing.
► Parses CuiHelper and CuiElementContainer patterns
► Resolves local variables and string constants
► Handles loops and repeated element generation
► Substitutes lang message references with preview text
► Works on any Oxide/Carbon plugin file
🆕 Built-in Reference
A built-in help system with searchable articles covering the entire CUI system. No need to leave the editor to look something up.
► Articles for every element type and property
► Covers layers, ScrollView, blur materials, anchors, offsets, fonts
► Shortcut reference with all editor hotkeys
► Live demo canvas inside each article
► One-click "Add to project" from any example
🆕 Performance Rewrite
Canvas
GPU rendering
Scene bitmap cache
Static layer cache
SKPicture cache
SKPaint pooling (50+ allocs/frame saved)
Text layout cache
Typeface cache
Pan without full re-render
Element Tree
Debounced rebuild on rapid changes
Bulk update batching
Fast flat selection cache O(n)
ThumbnailBrush cache
Detach() memory leak fixed
Color Picker
Real-time updates while dragging
Only the affected element redraws
No full scene invalidation
🆕 Live Preview
See your UI exactly as it appears in-game, right inside the editor. Every element is fully rendered with correct Rust scaling, colors, sprites, and fonts. No need to reload your plugin to check the result.
Rendering
Panels & Images
Labels with fonts
Rich Text support
Sprite tinting
FadeIn / FadeOut
Interactive
Button hover & press
ScrollView with inertia
Elastic bounce
Auto-hiding scrollbars
Live Countdown
Drag & Drop
Draggable elements
Slot filter matching
MoveToAnchor snap
Element swapping
KeepOnTop z-order
Tools
Element Inspector
Grid overlay
Outlines view
Auto-sync with editor
Screenshot to PNG
All CuiDraggableComponent properties are supported in preview: LimitToParent, MaxDistance, AllowSwapping, DropAnywhere, DragAlpha, ParentPadding, ParentLimitIndex, AnchorOffset, and more.
► Pick up Draggable elements and drop them into Slots
► Filter matching ensures only compatible elements snap
► Swap elements between occupied slots
► Inspector overlay shows element info on hover (shortcut: I)
► Grid and outline overlays for layout debugging (G / O)
► Background selector: dark, light, or any game screenshot
► Auto-sync keeps preview updated as you edit
► Export preview as PNG screenshot (S)
🆕 Smart Hook Generation
When your project uses Draggable or Slot elements, the export automatically generates ready-to-use hook methods with proper logic:
► OnCuiDraggableDrag with if/switch blocks for each draggable
► OnCuiDraggableDropped with switch by slot name
► Comments with accepted elements and filter values
► Works in both Snippet and Plugin export modes
🆕 Developer Tools
Professional plugin development toolkit with four dedicated tabs:
Plugin Settings
Author & version
Chat/console commands
Auto-show hooks
Permissions list
Plugin references
Generate Unload
Lang System
Multi-language support
Visual translation table
Per-element lang keys
lang.GetMessage() export
Canvas preview
ImageLibrary
Image key/URL table
Per-element ImageLib key
GetImage() helper
Auto OnServerInitialized
Auto plugin reference
Templates
Reusable code templates
Custom method generation
Placeholder system
Per-project settings
🆕 Localization System
Full multi-language support for your plugins. Assign lang keys to any text element, manage translations visually, and export with automatic lang.GetMessage() calls.
► Add unlimited languages (en, ru, de, fr, etc.)
► Visual translation table - edit all strings in one place
► Toggle between raw text and lang key per element
► Canvas shows resolved translations in real-time
► Exported code includes full LoadDefaultMessages with all languages
🆕 ImageLibrary Integration
Manage image assets directly in the editor. Define image keys and URLs, assign them to elements, and get clean export code with automatic ImageLibrary loading.
► Image key/URL table in Dev Tools
► ImageLib Key property on Image elements
► Export generates GetImage() helper method
► Plugin export auto-adds OnServerInitialized with image loading
► Automatic [PluginReference] ImageLibrary in export
🆕 Syntax Highlighting
► C# syntax highlighting in Export window
► JSON syntax highlighting in Export window
► Color-coded keywords, strings, numbers, comments
► Optimized for large code blocks
🆕 SVG Design Import
Import your designs directly from professional design tools:
Figma
export to SVG and import
Illustrator
Adobe AI/SVG support
Inkscape
free vector editor
Any SVG
standard format
► Automatic source detection optimizes parsing for each tool
► Smart layer hierarchy preservation
► Automatic element type detection (btn_, lbl_, img_, panel_)
► Correct parent-child coordinate conversion
🆕 Figma Plugin & Tools
New "Tools" folder included with the editor:
► CuiHelper Plugin for Figma - export designs directly to C# code
► Sample SVG designs - ready-to-import examples for testing and learning
► Documentation - setup guide for Figma plugin
🆕 Smart Resize Mode
Default Mode
Resize by changing Anchor values
Perfect for responsive layouts that
scale with screen size
Shift + Resize
Resize by changing Offset values
Perfect for pixel-perfect positioning
Orange handles indicate active mode
🆕 Inline Text Editing
► Double-click any text element to edit it directly on canvas
► No need to switch to the property panel, just click and type
► Press Enter or click outside to confirm changes
Guides, Grid & Smart Snapping
► Draggable guides from rulers
► Customizable grid with snap
► Smart guides - auto-snap to edges
► Distance indicators while dragging
Multiple Backgrounds
Preview your UI on actual game screenshots:
Game view Inventory Loot container Crafting Map Transparent
Export Formats
Generate ready-to-use code in three formats:
C# (CuiHelper)
container.Add(new CuiPanel {
RectTransform = {
AnchorMin = "0.3 0.3",
AnchorMax = "0.7 0.7"
},
Image = { Color = "0.1 0.1 0.1 0.9" }
}, "Overlay", "MyPanel");
JSON
[{
"name":"MyPanel",
"parent":"Overlay",
"components":[...]
}]
Full Plugin
Complete .cs file with:
• using statements
• class definition
• commands & permissions
• Lang & ImageLib integration
• all UI code
Import Existing Code
Already have CUI code? Import it!
► Paste JSON array
► Paste C# CuiHelper code
► Import from PSD files
► Import from SVG files (Figma, Illustrator, Inkscape)
► Import from .cs plugin source files
The editor parses your code and recreates all elements for visual editing.
Project Management
► Save/Load project files
► Multiple tabs for different projects
► Recent projects with thumbnails
► Per-project settings
► Close confirmation for unsaved changes
Property Editor
Full control over every element property:
► Position (anchors + offsets)
► Colors with Rust format (0-1 RGBA)
► Fonts and text alignment
► Sprite/material selection
► Outline settings
► Fade in/out animations
► Button commands
► Input field parameters
► ScrollView settings
► Rotation and pivot point
Element Hierarchy
► Layer-based structure (Overlay, Hud, HudMenu)
► Parent-child relationships
► Drag & drop reordering
► Visibility toggle
► Lock elements to prevent accidental edits
► Rename with double-click
► Hover a tree node to highlight it on canvas
Additional Tools
Measure Tool
measure distances on canvas
Style Picker
copy style between elements
Sprite Library
browse Rust sprites
Color Picker
Rust format preview
Quality of Life
► Unlimited undo/redo
► Copy/paste/duplicate elements
► Copy/paste style
► Keyboard shortcuts for everything
► Multiple preset resolutions
► Smooth multiplicative zoom
► Auto-fit canvas to window
► Dark and light themes
► English & Russian localization
► Automatic update notifications
System Requirements
► Windows 10/11
► .NET 8.0 Runtime (bundled)
Installation
1. Download and extract the archive
2. Run RustCUIEditor.exe
3. Start creating!
Questions or support issues?
Contact me via CodeFling messages.
$18.99
NPC traders & shops
Build a trader where you stand — the whole shop, in-game
Walk to a spot, type one command, and a named NPC vendor is standing there wearing your outfit. Everything after that — every lot, price, skin, stock counter and wipe limit — is edited by looking at him and clicking. No JSON, no reloads, no restart. Pin him to a monument and he finds the same corner on every new map.
17
Fields per lot
3
Economy plugins supported
99
Lots per single purchase
1
Required dependency — zero on Carbon
✓
The whole shop is built in-game — add, reorder, copy and delete lots by clicking
✓
Traders pinned to monuments — the same vendor at the same spot after every wipe
✓
Stock that refills on a timer — and survives a restart at the count it was on
✓
Sell items, currency or commands — kits and ranks are just another lot
✓
On the map like a vending machine — players see the vendor and what he sells
Video
See it in action
01 — The trader
A vendor that belongs to your map
Not a wooden box with a UI on it — a standing NPC with a name, an outfit and a place in the world.
Spawned where you stand, dressed like you
One command drops a trader at your feet, facing where you face, wearing a copy of your clothes and holding whatever is in your hands. Change your own outfit later and one button re-copies it onto him — another button hands the set back to you.
Pinned to a monument, not to coordinates
Spawn him inside Bandit Camp, Outpost or any monument and his position is stored relative to it. Next wipe, on a completely different map, he stands in exactly the same corner of that monument — no repositioning, no re-spawning.
Visible on the map, with his stock
Toggle the vending marker and the trader shows up on the map under his display name, with his item-for-item lots listed on the map screen — exactly like a vending machine, so players know where to go and what for.
Locked to a group, if you want
Give a trader a permission and only that group can open him — with your own refusal message instead of the default one. A VIP-only black market is one field.
Bulletproof, literally
Traders can't be shot, damaged, targeted by NPCs or destroyed, and they aren't written into the map save — so they never duplicate, never leave corpses and never end up as debris in your save file.
02 — Lots and pricing
Any price for anything
A lot is three item slots — what's sold, what it costs, and an optional second cost. Each slot can be a real item, a skinned item, or your server currency.
Two-item prices
Charge 500 metal and 20 scrap for one lot. Turn the second slot off with a single value when you don't need it.
Currency in either direction
Flip a slot to money and the lot is priced in ServerRewards, Economics or IQEconomic. Flip the sale slot to money instead and the trader buys from players — a scrap-to-cash buyback counter, same editor, no second plugin.
Skins, custom names, custom icons
Every slot takes a skin ID, so a skinned item is a different product with a different price. Override the display name, point the icon at any image URL, and attach a description of up to 2500 characters that players open with an info button.
Buy in bulk without spam-clicking
A per-lot multiplier from 1 to 99 with plus, minus and a typed field. It clamps itself to what the player can actually afford, what's left in stock and what their wipe limit allows, so the number on screen is always a purchase that will go through. Oversized results are split into proper stacks.
Permission discounts
Map any permission to a percentage. Discounted players see an OFF badge on the price and pay less on both price slots; stacked groups resolve to the single best discount.
Copy a lot, or a whole shop
Copy one lot or every lot at once, walk to another trader and paste. Reorder with arrows, delete with one click, and hit preview to see the shop exactly as a player will before you close it.
03 — Stock and limits
Scarcity you can schedule
An unlimited shop is a vending machine with extra steps. Two independent systems keep a trader from flooding your wipe.
Stock that ticks back up
Per lot: a maximum stock, a refill interval in seconds and how much comes back each interval. Sell out and the button turns grey with OUT OF STOCK until it recovers. Ten rockets an hour, and the first player there gets them.
Per-player wipe limits
A separate cap on how many of a lot each player may buy for the whole wipe, counted per skin. One VIP kit per person per wipe, enforced without a second plugin and reset automatically on the next map.
Counts survive a reboot
Remaining stock, refill timers and everyone's wipe counters are written on every server save and on unload. A restart doesn't hand out a fresh batch of rockets.
04 — Beyond items
Sell anything a command can do
Kits, ranks, teleports, cars, raid bases — if another plugin exposes a command, it's a lot.
Run it now, or wrap it as a gift
Put a command on a lot and choose: fire it the moment the purchase clears, or hand the player a wrapped present they can save, carry and unwrap whenever they want — the command runs on unwrap. Give it a name and an icon and it looks like a real product in their inventory. %steamid% is substituted for you.
A command on the trader himself
Fire a command every time a player opens a given trader — a greeting in chat, a quest check, a log line. Also keyed by Steam ID.
Item search that finds things
The item picker searches display names and shortnames as you type and shows icons, so filling a shop doesn't mean keeping a shortname list open on your second monitor.
Reliability
Built to be left alone
✓
Oxide and Carbon — on Carbon the built-in image database is used and no extra plugin is needed at all
✓
Nothing is written into the map save — traders are recreated from config on boot, so they can't duplicate or survive as junk entities
✓
Clean unload — every trader is removed, open interfaces are closed for all players and stock is saved first
✓
One editor at a time — while an admin has a shop open it's locked for everyone else, so two people can't overwrite each other's lots
✓
A missing monument disables its trader with a console warning instead of dropping him into the ocean
✓
Optional 1-second buy cooldown against double-clicks and click macros
Commands
Three admin commands, none for players
All three require the npcshop.admin permission. Players never type anything — they walk up to the trader and press use. Command names are configurable.
/settrader
Spawn a trader at your position, in your clothes
/remtrader
Look at a trader and delete him
/newtraderpos
Look at a trader to select him, walk to the new spot, then /newtraderpos update. cancel aborts, and /newtraderpos <display name> moves a trader by name from anywhere
npcshop.admin
Spawn, edit, move and remove traders
npcshop.vip
15% discount by default — rename it, change the number, or add as many discount tiers as you like
Hooks & API
For plugin developers
void OnNPCShopItemBuy(BasePlayer player, Item saleItem, Item priceItem, Item additionalPriceItem)
Fired after a successful item-for-item purchase, with the final amounts already multiplied and discounted. additionalPriceItem is null when the lot has no second price. Currency purchases don't raise it — track those through your economy plugin.
Questions
Before you buy
What do I need installed?
On Oxide, ImageLibrary — it's free and the plugin tells you in console if it's missing. On Carbon, nothing. MonumentFinder is optional and only needed for monument-pinned traders. An economy plugin (ServerRewards, Economics or IQEconomic) is optional and only needed for money prices; the right one is detected automatically.
Do my traders survive a wipe?
Yes. Traders, lots and prices live in the config, so they come back on the new map. Monument-pinned ones land in the right place automatically; free-standing ones keep their world coordinates and may need one /newtraderpos if the terrain changed. Stock counters and per-player wipe limits reset on a new map, which is the point of them.
Can players sell things to the trader?
Yes, in both forms. Item-for-item barter is what a lot does by default, and setting the sale slot to money turns the lot into a buyback: the player hands over items and gets currency.
Can I sell a kit, a rank or a teleport?
Anything that has a command. Either it runs immediately on purchase, or the player receives a named, custom-iconed present that runs it when unwrapped — which also makes the purchase tradeable between players.
How many traders and lots can I have?
No limit on either. The shop interface scrolls, and lots are reordered with arrow buttons.
Why don't all my lots show on the map marker?
The marker is a real vending-machine listing, and Rust's own format can only express one item for one item. Lots priced in currency, or with a second price item, are hidden from the marker — they work normally in the shop itself.
Can I run different shops for different groups?
Yes. Each trader takes its own permission and its own refusal message, so a VIP trader can stand next to the public one and simply refuse everyone else.
Do I ever have to edit the config file?
Only for server-wide settings: discount tiers, the currency icon, the buy cooldown, and a trader's access permission or greeting command. Everything about the goods themselves — lots, prices, skins, names, icons, stock, limits, descriptions — is done in-game.
Highest Rated
Top-rated picks trusted and loved by the community.
-
$16.99
By David
-
$40.00$30.00By nivex
-
$24.99
By LosGranada
-
$29.99
By imthenewguy
-
$40.00$31.95By Mevent
-
$24.99
By Whispers88
-
$14.99
By AhigaO
-
Free
By Steenamaroo
-
$19.99$15.99By Fruster
-
$14.99
By David
-
$45.99$39.09By Monster
-
$19.99
By Fruster
Trending Files
Popular picks members are downloading the most right now.
-
$40.00$31.95By Mevent
-
Free
By tofurahie
-
$40.00
By Steenamaroo
-
$29.99
By imthenewguy
-
$29.99
By Adem
-
$14.99
By beee
-
$49.99$39.99By Adem
-
$40.00$30.00By nivex
-
By realedwin
-
Free
By Steenamaroo
Great Deals
Discounted picks, limited-time deals, and sale items worth grabbing now.
-
$2.99$1.49By Gluman
-
$9.99$8.99By Ionut Shiro
-
$10.00$9.00By Ionut Shiro
-
$8.00$7.20By Ionut Shiro
-
$10.00$7.00By GTx
-
$12.99$8.99By Fruster
-
$15.00$13.50By Ionut Shiro
-
$7.00$6.30By Ionut Shiro
-
$5.00$4.25By Razor
-
$19.99$15.99By Fruster
-
$8.00$7.20By Ionut Shiro
-
$5.00$4.50By Ionut Shiro
Latest Reviews
See what customers are saying about their experience with files.
Each base feels methodically designed. The easier bases start out approachable, while the higher difficulty levels are designed to lure players into a false sense of security, only for them to instantly regret their decision when they’re sent back to the respawn button.
This provides a challenge that requires them to pay attention and think, keeping them engaged with your content, and helping with player retention long term.
This is an excellent map. My players had alot of fun and were engaged the entire time. The map has a great selection of monuments that encourages high-stakes PvP while providing plenty of build space. My players and I also did not have any kind of issues at all in regards to terrain glitches or anything else that could possibly go wrong with a custom map. Furthermore, the creator was very quick to answer any questions I had even after purchase.
Very good developer. I was initially skeptical and honestly didn't think this project would last, but I've been proven completely wrong. The developer consistently updates, maintains, and improves the plugin, and it's clear they genuinely care about its quality.
The plugin works like a charm—it's intuitive, well optimized, and incredibly easy to use. I ended up replacing the old Player Administration plugin from uMod with this one, and the difference is night and day. This plugin offers a m
I really enjoy this plugin. it makes beach living a bit more interesting.
Thank you for making this available.
Loot table doesnt work at all and thats the main thing i wanted and i have asked them for support months ago and am getting no help.
Didn't really think it through, or couldn't get the AI right. Items are now being placed in the hammer storage space, too. Super annoying.
They do indeed parachute down
Easy hassle-free plugin to keep server files in order. Very easy to use. Keep up the good work.
Super plugin, je vous la recommande Le DEV Répond vite. Super boulot.
One of the best Builders Map i ever played on. its super easy to nivagate and build. i just love this map so much