Featured framework
Carbon for modern Rust servers
Fast, self-updating, and built for performance with seamless in-game plugin and server management.
1,800+
servers powered by Carbon
ServerPanel adds a player information menu to your server, where you can both share important and useful information with your players and integrate your plugins into it!
🌟 Features
User-Friendly Interface: Intuitive GUI for easy navigation and interaction.
Economy Integration: Supports various economy plugins for seamless financial management.
Dynamic Menu Categories: Organize functionalities into customizable categories for better user experience.
Extensive Configuration Options: Almost every aspect of the plugin can be customized, including messages, colors, sizes, fonts, tion.
Auto-Open Menu: Automatically displays the menu upon player connection, configurable per server settings.
Block Settings: Control access to the menu during building, raiding, or combat situations to enhance gameplay balance.
Multiple Economy Head Fields: Display various economic metrics such as balance, server rewards, and bank information.
Permission Management: Fine-tune permissions for different user roles to control access to features.
Localization Support: Easily translate and customize all messages for different languages.
Performance Optimized: Designed to minimize server lag while providing rich functionality.
Customizable Hooks: Integrate with existing economy systems using customizable hooks for adding, removing, and displaying balances.
Editor Position Change: Admins can now change editor positions with a simple click, choosing between left, center, or right alignments.
Command Enhancements: Commands are now processed with multiple arguments separated by "|", enabling bulk command processing.
🎮 Commands
/info – open menu
/sp.install (or) /welcome.install – open installer menu
sp.migrations – console command for updating plugin data structure when upgrading to new versions. Automatically creates backups before making changes.
sp.migrations list – shows available migrations and whether they need to run
sp.migrations run <version> – runs specific migration (e.g., "1.3.0")
sp.migrations run <version> force – forces migration even if not detected as needed
🛡️ Permissions
serverpanel.edit – allows players to edit the plugin settings and open the edit menu
serverpanelinstaller.admin - required to access the plugin installation functions
🎥 Video
🖼️ Showcase
Templates
Template V1
Template V2
Template V3
Template V5
Editor
Installer
🧪 TEST SERVER
Join our test server to view and experience all our unique features yourself!
Copy the IP Address below to start playing!
connect 194.147.90.239:28015
📊 Update Fields
ServerPanel supports dynamic update fields that can be used in your templates to display real-time information. These fields are automatically updated and can be used in text components, headers, and other interface elements.
Player Information
{online_players} – Number of currently online players
{sleeping_players} – Number of sleeping players
{all_players} – Total number of players (online + sleeping)
{max_players} – Maximum server capacity
{player_kills} – Player's kill count (requires KillRecords, Statistics, or UltimateLeaderboard)
{player_deaths} – Player's death count (requires KillRecords, Statistics, or UltimateLeaderboard)
{player_username} – Player's display name
{player_avatar} – Player's Steam ID for avatar display
Economy
{economy_economics} – Economics plugin balance
{economy_server_rewards} – ServerRewards points
{economy_bank_system} – BankSystem balance
Note: Economy fields are fully customizable in "oxide/config/ServerPanel.json" under "Economy Header Fields". You can add support for any economy plugin by configuring the appropriate hooks (Add, Balance, Remove). Custom keys can be created and used in templates just like the default ones.
Server Information
{server_name} – Server hostname
{server_description} – Server description
{server_url} – Server website URL
{server_headerimage} – Server header image URL
{server_fps} – Current server FPS
{server_entities} – Number of entities on server
{seed} – World seed
{worldsize} – World size
{ip} – Server IP address
{port} – Server port
{server_time} – Current server time (YYYY-MM-DD HH:MM:SS)
{tod_time} – Time of day (24-hour format)
{realtime} – Server uptime in seconds
{map_size} – Map size in meters
{map_url} – Custom map URL
{save_interval} – Auto-save interval
{pve} – PvE mode status (true/false)
Player Stats
{player_health} – Current health
{player_maxhealth} – Maximum health
{player_calories} – Calorie level
{player_hydration} – Hydration level
{player_radiation} – Radiation poisoning level
{player_comfort} – Comfort level
{player_bleeding} – Bleeding amount
{player_temperature} – Body temperature
{player_wetness} – Wetness level
{player_oxygen} – Oxygen level
{player_poison} – Poison level
{player_heartrate} – Heart rate
Player Position
{player_position_x} – X coordinate
{player_position_y} – Y coordinate (height)
{player_position_z} – Z coordinate
{player_rotation} – Player rotation (degrees)
Player Connection
{player_ping} – Connection time in seconds
{player_ip} – Player's IP address
{player_auth_level} – Authorization level (0=Player, 1=Moderator, 2=Admin)
{player_steam_id} – Steam ID
{player_connected_time} – Connection start time
{player_idle_time} – Idle time (HH:MM:SS)
Player States
{player_sleeping} – Is sleeping (true/false)
{player_wounded} – Is wounded (true/false)
{player_dead} – Is dead (true/false)
{player_building_blocked} – Is building blocked (true/false)
{player_safe_zone} – Is in safe zone (true/false)
{player_swimming} – Is swimming (true/false)
{player_on_ground} – Is on ground (true/false)
{player_flying} – Is flying (true/false)
{player_admin} – Is admin (true/false)
{player_developer} – Is developer (true/false)
Network & Performance
{network_in} – Network input (currently shows 0)
{network_out} – Network output (currently shows 0)
{fps} – Server FPS
{memory} – Memory allocations
{collections} – Garbage collections count
Usage Example:
You can use these fields in any text component like: "Welcome {player_username}! Server has {online_players}/{max_players} players online."
🔧 API Documentation for Developers
ServerPanel provides an API for plugin developers to integrate their plugins into the menu system.
Required Methods
API_OpenPlugin(BasePlayer player) - Main integration method that returns CuiElementContainer
OnServerPanelClosed(BasePlayer player) - Called when panel closes (cleanup)
OnServerPanelCategoryPage(BasePlayer player, int category, int page) - Called when category changes (cleanup)
OnReceiveCategoryInfo(int categoryID) - Receives your category ID
Integration Example
[PluginReference]
private Plugin ServerPanel;
private int _serverPanelCategoryID = -1;
private void OnServerInitialized()
{
ServerPanel?.Call("API_OnServerPanelProcessCategory", Name);
}
private void OnReceiveCategoryInfo(int categoryID)
{
_serverPanelCategoryID = categoryID;
}
private void OnServerPanelCategoryPage(BasePlayer player, int category, int page)
{
// Cleanup when player switches categories
}
private CuiElementContainer API_OpenPlugin(BasePlayer player)
{
var container = new CuiElementContainer();
// Create base panels (required structure)
container.Add(new CuiPanel()
{
RectTransform = {AnchorMin = "0 0", AnchorMax = "1 1"},
Image = {Color = "0 0 0 0"}
}, "UI.Server.Panel.Content", "UI.Server.Panel.Content.Plugin", "UI.Server.Panel.Content.Plugin");
container.Add(new CuiPanel()
{
RectTransform = {AnchorMin = "0 0", AnchorMax = "1 1"},
Image = {Color = "0 0 0 0"}
}, "UI.Server.Panel.Content.Plugin", "YourPlugin.Background", "YourPlugin.Background");
// Add your plugin's UI elements here
container.Add(new CuiLabel
{
RectTransform = {AnchorMin = "0.1 0.8", AnchorMax = "0.9 0.9"},
Text = {Text = "Your Plugin Interface", FontSize = 16, Align = TextAnchor.MiddleCenter, Color = "1 1 1 1"}
}, "YourPlugin.Background", "YourPlugin.Title");
// Add buttons, panels, etc. using "YourPlugin.Background" as parent
return container;
}
private void OnServerPanelClosed(BasePlayer player)
{
// Cleanup when panel closes
}
Header Update Fields
API_OnServerPanelAddHeaderUpdateField(Plugin plugin, string updateKey, Func<BasePlayer, string> updateFunction) - Registers a per-player string provider for a header placeholder. Returns true on success.
API_OnServerPanelRemoveHeaderUpdateField(Plugin plugin, string updateKey = null) - Unregisters a specific updateKey for your plugin, or all keys for your plugin when updateKey is null. Returns true on success.
Usage Example
[PluginReference]
private Plugin ServerPanel;
private void OnServerInitialized()
{
// Register a dynamic header field for each player
ServerPanel?.Call("API_OnServerPanelAddHeaderUpdateField", this, "{player_kdr}", (Func<BasePlayer, string>)(player => GetKdr(player)));
}
private string GetKdr(BasePlayer player)
{
// Compute and return the value to display in the header for this player
return "1.23";
}
Using in UI: Place your key (e.g., {player_kdr}) directly in Header Field texts. The value will be updated per player using your function.
📚 FAQ
Q: Why can't I open the menu?
A: Make sure that the plugin is installed and activated on your server. If the problem persists, contact the server administrator.
Q: How do I enable Expert Mode? (disables automatic template updates)
A: In the data file "Template.json", turn on the "Use an expert mod?" option:
"Use an expert mod?": true,
P.S. "Template.json” is located in the "oxide/data/ServerPanel" directory (if you use Oxide) or in the "carbon/data/ServerPanel" directory (if you use Carbon)
Q: I see black images with Rust logo or get error 429 when loading images. What should I do?
A: These issues occur when there are problems downloading images from the internet. To fix this, enable Offline Image Mode which will use local images instead:
Enable the mode in config:
Open "oxide/config/ServerPanel.json" (or "carbon/config/ServerPanel.json" for Carbon)
Set "Enable Offline Image Mode": true
Set up the images:
Create folder "TheMevent" in "oxide/data" (or "carbon/data" for Carbon)
Download PluginsStorage (click "CODE" → "Download ZIP")
Extract the ZIP and copy all contents to the "TheMevent" folder
Reload the plugin:
Type o.reload ServerPanel (Oxide) or c.reload ServerPanel (Carbon)
Note: If using a hosting service, you may need to use their file manager or FTP to upload the files.
Q: Does ServerPanel work only with Mevent's plugins?
A: Currently, ServerPanel integrates seamlessly with Mevent's plugins (Shop, Kits, Daily Rewards, etc.). However, other developers can use the provided API to integrate their plugins into the menu system. The plugin system is designed to be extensible for third-party integrations.
Q: Why do integrated plugins (Shop, Kits) have different window sizes?
A: Different plugins may use different templates for integration. Make sure all your integrated plugins use the same template version (V1, V2, etc.) that matches your ServerPanel template. Update the template in each plugin to ensure consistent sizing.
Q: The panel displays differently for different players. How can I make it show the same on everyone's screen?
A: This issue occurs when players have different UI scale settings. To fix this and ensure consistent display for all players:
Open the "Template.json" file located in "oxide/data/ServerPanel" (or "carbon/data/ServerPanel" for Carbon)
Find the "Parent (Overlay/Hud)" setting in the "Background" section
Change the value from "Overlay" to "OverlayNonScaled"
Save the file and restart your server or reload the plugin
Q: How can I change the video displayed in the ServerPanel interface to my own custom video?
A: Yes, you can replace the default video with your own! You need to find and modify the command:
serverpanel_broadcastvideo [your_video_url]
Replace [your_video_url] with the direct link to your video. For best compatibility, we recommend hosting your video on imgur.com.
Q: My custom images are not loading or show as blank/question marks. What image hosting should I use?
A: For custom images, we recommend using imgbb.com for image hosting. Avoid Imgur and services without direct access to the image. For the most reliable experience, use Offline Image Mode with local images instead.
Q: How can I make plugin UIs open outside of the ServerPanel menu instead of inside categories?
A: You can configure buttons to execute chat commands that open plugin UIs independently. To do this:
In your button configuration, set "Chat Button": true
Set the "Commands" field to "chat.say /command" (replace "command" with the actual plugin command)
Example: To open the Cases plugin outside the menu:
"Chat Button": true
"Commands": "chat.say /cases"
This will execute the command as if the player typed it in chat, opening the plugin's interface independently rather than within the ServerPanel menu.
Q: Text in V4 template is shifting or sliding out of place. How can I fix this?
A: This issue occurs when text width isn't properly configured. ServerPanel provides "TITLE LOCALIZATION" settings to control text width for categories and pages:
Open the ServerPanel editor (click the "ADMIN MODE" button to open the edit menu)
Select the category or page you want to edit (click to "EDIT CATEGORY" or "EDIT PAGE" button)
In the editor, find the "TITLE LOCALIZATION" section
For each language (en, ru, etc.), you'll see three columns:
LANGUAGE - The language code
TEXT - The localized text content
WIDTH (px) - The width setting in pixels
Adjust the "WIDTH (px)" value to match your text length. Longer text requires larger width values
Save your changes and test in-game
Tip: Start with a width value around 100-150 pixels for short text, and increase it for longer titles. You can adjust this value until the text displays correctly without shifting.
$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.
$9.99
An excellent plugin for remote trading between players with extensive functionality.
The ability to log successful trades;
The ability to create new permissions;
The ability to customize permissions flexibly, including both new and existing ones;
The ability to limit slots in trade;
The ability to configure the method(Personal, CommonMinimum, CommonMaximum) for limiting the number of slots;
The ability to set a cooldown on sending trade requests;
The ability to configure the method(InitiatorOnly, TargetOnly, Both) for applying cooldown to players;
The ability to purchase a bypass for the trade request cooldown;
The ability to set a daily limit on sending trade requests;
The ability to purchase additional trade requests after reaching the daily limit;
The ability to forbid trading when wounded;
The ability to forbid trading while swimming;
The ability to forbid trading while mounted on certain seats;
The ability to forbid trading in specified monuments, by name or by monument type;
The ability to forbid trading in someone else's building privileges;
The ability to forbid trading when taking damage;
The ability to forbid trading during a combat block;
The ability to forbid trading during a raid block;
The ability to forbid certain items from being traded;
The ability to automatically generate language files for specified languages(with content filled in English);
The ability to set an effect upon receiving a trade request;
The ability to change the effect upon a successful trade completion;
The ability to display a status bar while waiting for a trade;
The ability to choose between bar types(TimeCounter and TimeProgressCounter);
The ability to specify the order of the bar;
The ability to change the height of the bar;
The ability to customize the color and transparency of the background;
The ability to set a material for the background;
The ability to switch between CuiRawImageComponent and CuiImageComponent for the image;
The ability to get images from the local folder(*SERVER*\oxide\data\AdvancedStatus\Images);
The ability to set own image and customize the color and transparency of the image;
The ability to set sprite instead of the image;
The ability to customize the color, size and font of the text.
{
"Chat command": "trade",
"List of 'accept' commands": [
"accept",
"yes"
],
"List of 'cancel' commands": [
"cancel",
"no"
],
"Is it worth enabling GameTips for messages?": true,
"Is it worth using Notify plugins for messages instead of the vanilla UI?": false,
"Specify the regular message type for notify": 0,
"Specify the warning message type for notify": 1,
"Is it worth using the AdvancedStatus plugin?": true,
"Is it worth saving trade logs to a file?": true,
"List of language keys for creating language files": [
"en"
],
"Slot limit calculation mode(Personal, CommonMinimum, CommonMaximum)": "CommonMaximum",
"Trade cooldown apply mode(InitiatorOnly, TargetOnly, Both)": "InitiatorOnly",
"Is it worth checking the target's trade cooldown?": false,
"Time in seconds given to respond to a trade request": 15.0,
"Price to skip 60 seconds of the trade request cooldown": 10.0,
"The prefab name for the effect triggered when a trade request is received": "assets/bundled/prefabs/fx/invite_notice.prefab",
"The prefab name for the effect triggered when a trade is successfully completed": "assets/prefabs/building/wall.frame.shopfront/effects/metal_transaction_complete.prefab",
"List of mount names where trading is prohibited": [
"horsesaddle",
"horsesaddlerear",
"bikedriverseat",
"bikepassengerseat",
"motorbikedriverseat",
"motorbikepassengerseat",
"modularcardriverseat",
"modularcarpassengerseatleft",
"modularcarpassengerseatright",
"modularcarpassengerseatlesslegroomleft",
"modularcarpassengerseatlesslegroomright",
"modularcarpassengerseatsidewayleft",
"miniheliseat",
"minihelipassenger",
"transporthelipilot",
"transporthelicopilot",
"attackhelidriver",
"attackheligunner",
"submarinesolodriverstanding",
"submarineduodriverseat",
"submarineduopassengerseat",
"snowmobiledriverseat",
"snowmobilepassengerseat",
"snowmobilepassengerseat tomaha",
"workcartdriver",
"locomotivedriver",
"craneoperator",
"batteringramseat",
"ballistagun.entity"
],
"Status. Bar - Display time in seconds. A value of 0 keeps it visible until the cooldown ends": 15.0,
"Status. Bar - Type(TimeProgressCounter or TimeCounter)": "TimeCounter",
"Status. Bar - Height": 26,
"Status. Bar - Order": 10,
"Status. Background - Color(Hex or RGBA)": "#EFC570",
"Status. Background - Transparency": 0.7,
"Status. Background - Material(Leave empty to disable)": "",
"Status. Image - Url": "https://gitlab.com/IIIaKa/images/-/raw/main/StatusBars/Trader_Request.png",
"Status. Image - Local(Leave empty to use Image_Url)": "Trader_Request",
"Status. Image - Sprite(Leave empty to use Image_Local or Image_Url)": "",
"Status. Image - Is raw image": false,
"Status. Image - Color(Hex or RGBA)": "#EFC570",
"Status. Image - Transparency": 1.0,
"Status. Image Outline - Color(Hex or RGBA)": "0.1 0.3 0.8 0.9",
"Status. Image Outline - Transparency": 1.0,
"Status. Image Outline - Distance(Leave empty to disable). Example '0.75 0.75'": "",
"Status. Text - Size": 12,
"Status. Text - Color(Hex or RGBA)": "#FFFFFF",
"Status. Text - Transparency": 1.0,
"Status. Text - Font(https://umod.org/guides/rust/basic-concepts-of-gui#fonts)": "RobotoCondensed-Bold.ttf",
"Status. Text - Offset Horizontal": 0,
"Status. Text Outline - Color(Hex or RGBA)": "#000000",
"Status. Text Outline - Transparency": 1.0,
"Status. Text Outline - Distance(Leave empty to disable)": "",
"Status. SubText - Size": 12,
"Status. SubText - Color(Hex or RGBA)": "#FFFFFF",
"Status. SubText - Transparency": 1.0,
"Status. SubText - Font": "RobotoCondensed-Bold.ttf",
"Status. SubText Outline - Color(Hex or RGBA)": "0.5 0.6 0.7 0.5",
"Status. SubText Outline - Transparency": 1.0,
"Status. SubText Outline - Distance(Leave empty to disable)": "",
"Status. Progress - Background Color(Hex or RGBA)": "1 1 1 0.15",
"Status. Progress - Background Transparency": 0.15,
"Status. Progress - Reverse": true,
"Status. Progress - Color(Hex or RGBA)": "#EFC570",
"Status. Progress - Transparency": 0.7,
"Status. Progress - OffsetMin": "0 0",
"Status. Progress - OffsetMax": "0 0",
"List of trade permissions": [
{
"Permission Name": "trader.default",
"Number of available trade slots": 3,
"Cooldown time(in seconds) before next trade": 600.0,
"Daily trade request limit. A value of 0 disables the limit": 50,
"Price to purchase a trade after exceeding the daily limit. A value of 0 disables the purchase": 5.0,
"Is it worth forbidding trade if the player is in a wounded state?": true,
"Is it worth forbidding trade if the player is swimming?": true,
"Is it worth forbidding trade if the player is mounted?": true,
"Is it worth forbidding trade if the player is in someone else's building privilege area?": true,
"Is it worth forbidding trade if the player has taken damage?": true,
"Is it worth forbidding trade if the player has combat block?": true,
"Is it worth forbidding trade if the player has raid block?": true,
"List of monuments where trade is forbidden": null,
"List of monument categories where trade is forbidden": [
"RadTown",
"RadTownWater",
"RadTownSmall",
"TunnelStation",
"Custom"
],
"List of forbidden trade items": [
"rock"
]
},
{
"Permission Name": "trader.vip",
"Number of available trade slots": 6,
"Cooldown time(in seconds) before next trade": 450.0,
"Daily trade request limit. A value of 0 disables the limit": 100,
"Price to purchase a trade after exceeding the daily limit. A value of 0 disables the purchase": 2.5,
"Is it worth forbidding trade if the player is in a wounded state?": true,
"Is it worth forbidding trade if the player is swimming?": true,
"Is it worth forbidding trade if the player is mounted?": true,
"Is it worth forbidding trade if the player is in someone else's building privilege area?": true,
"Is it worth forbidding trade if the player has taken damage?": true,
"Is it worth forbidding trade if the player has combat block?": true,
"Is it worth forbidding trade if the player has raid block?": true,
"List of monuments where trade is forbidden": null,
"List of monument categories where trade is forbidden": [
"RadTown",
"RadTownWater",
"TunnelStation"
],
"List of forbidden trade items": [
"rock"
]
},
{
"Permission Name": "realpve.vip",
"Number of available trade slots": 9,
"Cooldown time(in seconds) before next trade": 300.0,
"Daily trade request limit. A value of 0 disables the limit": 0,
"Price to purchase a trade after exceeding the daily limit. A value of 0 disables the purchase": 0.0,
"Is it worth forbidding trade if the player is in a wounded state?": false,
"Is it worth forbidding trade if the player is swimming?": false,
"Is it worth forbidding trade if the player is mounted?": false,
"Is it worth forbidding trade if the player is in someone else's building privilege area?": false,
"Is it worth forbidding trade if the player has taken damage?": false,
"Is it worth forbidding trade if the player has combat block?": false,
"Is it worth forbidding trade if the player has raid block?": false,
"List of monuments where trade is forbidden": [
"oilrig_1"
],
"List of monument categories where trade is forbidden": null,
"List of forbidden trade items": [
"rock"
]
}
],
"Version": {
"Major": 0,
"Minor": 1,
"Patch": 4
}
}
EN:
{
"CmdNotAllowed": "You do not have permission to use this command!",
"CmdPlayerNotFound": "Player '{0}' not found! You must provide the player's name or ID.",
"CmdMultiplePlayers": "Multiple players found: {0}",
"CmdEconomicsNotEnough": "Not enough funds!",
"CmdMain": "Available trade commands:\n\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>bars *boolValue*(optional)</color> - Toggle status bar display\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>*nameOrId*</color> - Send a trade request to the specified player\n<color=#D1CBCB>/trade</color> <color=#83BA7C>accept/yes</color> - Accept a pending trade request\n<color=#D1CBCB>/trade</color> <color=#DE5757>cancel/no</color> - Decline a pending or active trade\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>limits</color> - View your trade limits\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>buy limits *amount*(optional)</color> - Purchase additional trade requests\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>buy cd *amount*(optional)</color> - Purchase a 60 second(* by amount) cooldown skip\n\n--------------------------------------------------",
"CmdBarsEnabled": "Status bar display enabled!",
"CmdBarsDisabled": "Status bar display disabled!",
"CmdDailyLimitExtra": "You have exceeded the daily limit({0}) for sending trade requests!\n<size=10>However, you can buy additional requests using the <color=#D1AB9A>/trade buy limits</color> command for <color=#D1CBCB>${1}</color></size>",
"CmdDailyLimit": "You have exceeded the daily limit({0}) for sending trade requests!",
"CmdCooldownSkip": "You must wait {0} seconds before sending another trade request!\n<size=10>However, you can skip the cooldown using the <color=#D1AB9A>/trade buy cd</color> command for <color=#D1CBCB>${1}</color> per 60 seconds</size>",
"CmdCooldown": "You must wait {0} seconds before sending another trade request!",
"CmdWoundBlock": "You can't trade while wounded!",
"CmdSwimming": "You can't trade while swimming!",
"CmdMountBlock": "You can't trade while mounted here!",
"CmdBuildingBlock": "You can't trade inside someone else's base!",
"CmdDamageBlock": "You can't trade while taking damage!",
"CmdCombatBlock": "You can't trade during combat block!",
"CmdRaidBlock": "You can't trade during a raid block!",
"CmdAcceptEmpty": "You have no pending trade requests!",
"CmdAcceptOngoing": "You already have an active trade with player '<color=#D1AB9A>{0}</color>'!",
"CmdDeclineEmpty": "You have no pending or active trades!",
"CmdDecline": "Trade between you and player '<color=#D1AB9A>{0}</color>' has been canceled!",
"CmdDeclineOther": "Player '<color=#D1AB9A>{0}</color>' canceled the trade with you!",
"CmdSendSelf": "You cannot send a trade request to yourself!",
"CmdSendNoRespond": "Player '<color=#D1AB9A>{0}</color>' has not responded to your trade request!",
"CmdSendAlredyHave": "You already have a pending or active trade with player '<color=#D1AB9A>{0}</color>'!\n<size=10><color=#83BA7C>/trade yes</color> - Accept the pending trade request\n<color=#DE5757>/trade no</color> - Decline the pending or active trade</size>",
"CmdSendTargetNotAllowed": "Player '<color=#D1AB9A>{0}</color>' does not have permission to use trading!",
"CmdSendTargetAlredyHave": "Player '<color=#D1AB9A>{0}</color>' already has a pending or active trade with player '<color=#D1AB9A>{1}</color>'!",
"CmdSendTargetHasCooldown": "Player '<color=#D1AB9A>{0}</color>' has an active cooldown, {1} seconds remaining!",
"CmdSendTo": "Trade request successfully sent to player '<color=#D1AB9A>{0}</color>'.",
"CmdSendFrom": "Player '<color=#D1AB9A>{0}</color>' has sent you a trade request.\n<size=10><color=#83BA7C>/trade yes</color> - Accept the pending trade request\n<color=#DE5757>/trade no</color> - Decline the pending or active trade</size>",
"CmdPurchaseNotLimited": "You haven't reached your daily limit yet!",
"CmdPurchaseHaveExtra": "You still have {0} additional trade requests! Use them before purchasing more.",
"CmdPurchaseLimitsNotAllowed": "Purchasing additional trade requests is unavailable!",
"CmdPurchasedLimits": "You have successfully purchased <color=#D1CBCB>{0}</color> trade requests!\n<size=10>Now you have <color=#D1CBCB>{1}</color> additional trade requests</size>",
"CmdPurchaseNoCooldown": "You don't have a cooldown for sending trade requests!",
"CmdPurchaseCooldownNotAllowed": "Purchasing a cooldown skip for trade requests is not available!",
"CmdPurchasedCooldown": "You have successfully purchased a cooldown skip for <color=#D1CBCB>{0} seconds</color> for trade requests!\n<size=10>Now you need to wait <color=#D1CBCB>{1} seconds</color></size>",
"CmdMyLimits": "Your trade request limits:\n\n<color=#D1CBCB>Cooldown</color> - <color=#D1AB9A>{0} sec</color>\n<color=#D1CBCB>Daily Limit</color> - <color=#D1AB9A>{1}</color>\n\n--------------------------------------------------",
"BarInitiator": "Trade to: {0}",
"BarTarget": "Trade from: {0}",
"BarCooldown": "Trade cooldown:",
"MsgStarted": "You have started a trade with player '<color=#D1AB9A>{0}</color>'!",
"MsgCompleted": "Trade with player '<color=#D1AB9A>{0}</color>' completed successfully!",
"MsgCanceled": "Player '<color=#D1AB9A>{0}</color>' canceled the trade!"
}
RU:
{
"CmdNotAllowed": "У вас недостаточно прав для использования этой команды!",
"CmdPlayerNotFound": "Игрок '{0}' не найден! Вы должны указать имя или ID игрока.",
"CmdMultiplePlayers": "Найдено несколько игроков: {0}",
"CmdEconomicsNotEnough": "Не достаточно средств!",
"CmdMain": "Доступные команды для трейда:\n\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>bars *булевоеЗначение*(опционально)</color> - Переключение отображения статус баров\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>*имяИлиАйди*</color> - Отправить запрос на трейд указанному игроку\n<color=#D1CBCB>/trade</color> <color=#83BA7C>accept/yes</color> - Принять ожидающий запрос на трейд\n<color=#D1CBCB>/trade</color> <color=#DE5757>cancel/no</color> - Отклонить ожидающий или активный трейд\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>limits</color> - Узнать свои лимиты\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>buy limits *количество*(опционально)</color> - Докупить дополнительное количество трейд запросов\n<color=#D1CBCB>/trade</color> <color=#D1AB9A>buy cd *количество*(опционально)</color> - Купить пропуск 60 секунд(* на количество) задержки перед отправкой трейд запросов\n\n--------------------------------------------------",
"CmdBarsEnabled": "Отображение статус баров включено!",
"CmdBarsDisabled": "Отображение статус баров выключено!",
"CmdDailyLimitExtra": "Вы превысили допустимую дневную норму({0}) на отправку трейд запросов!\n<size=10>Но вы можете купить дополнительные запросы с помощью команды <color=#D1AB9A>/trade buy limits</color> за <color=#D1CBCB>{1}$</color></size>",
"CmdDailyLimit": "Вы превысили допустимую дневную норму({0}) на отправку трейд запросов!",
"CmdCooldownSkip": "Перед отправкой нового запроса на трейд вам необходимо подождать {0} секунд!\n<size=10>Но вы можете купить пропуск задержки с помощью команды <color=#D1AB9A>/trade buy cd</color> за <color=#D1CBCB>{1}$</color> за каждые 60 секунд</size>",
"CmdCooldown": "Перед отправкой нового запроса на трейд вам необходимо подождать {0} секунд!",
"CmdWoundBlock": "Вам запрещено пользоваться трейдом в предсмертном состоянии!",
"CmdSwimming": "Вам запрещено пользоваться трейдом в воде!",
"CmdMountBlock": "Вам запрещено пользоваться трейдом сидя в данном месте!",
"CmdBuildingBlock": "Вам запрещено пользоваться трейдом в чужой базе!",
"CmdDamageBlock": "Вам запрещено пользоваться трейдом при получении урона!",
"CmdCombatBlock": "Вам запрещено пользоваться трейдом во время боя!",
"CmdRaidBlock": "Вам запрещено пользоваться трейдом во время рейда!",
"CmdAcceptEmpty": "У вас нет ожидающих запросов на трейд!",
"CmdAcceptOngoing": "У вас уже есть активный трейд с игроком '<color=#D1AB9A>{0}</color>'!",
"CmdDeclineEmpty": "У вас нет ожидающих или активных трейдов!",
"CmdDecline": "Трейд между вами и игроком '<color=#D1AB9A>{0}</color>' отменён!",
"CmdDeclineOther": "Игрок '<color=#D1AB9A>{0}</color>' отменил трейд с вами!",
"CmdSendSelf": "Нельзя отправить трейд запрос самому себе!",
"CmdSendNoRespond": "Игрок '<color=#D1AB9A>{0}</color>' не ответил на ваш трейд запрос!",
"CmdSendAlredyHave": "У вас уже есть ожидающий или активный трейд с игроком '<color=#D1AB9A>{0}</color>'!\n<size=10><color=#83BA7C>/trade yes</color> - Принять ожидающий запрос на трейд\n<color=#DE5757>/trade no</color> - Отклонить ожидающий или активный трейд</size>",
"CmdSendTargetNotAllowed": "У игрока '<color=#D1AB9A>{0}</color>' недостаточно прав для использования обмена!",
"CmdSendTargetAlredyHave": "У игрока '<color=#D1AB9A>{0}</color>' уже есть ожидающий или активный трейд с игроком '<color=#D1AB9A>{1}</color>'!",
"CmdSendTargetHasCooldown": "У игрока '<color=#D1AB9A>{0}</color>' имеется активный кулдаун, осталось {1} секунд!",
"CmdSendTo": "Игроку '<color=#D1AB9A>{0}</color>' был успешно отправлен запрос на трейд.",
"CmdSendFrom": "Игрок '<color=#D1AB9A>{0}</color>' отправил вам запрос на трейд.\n<size=10><color=#83BA7C>/trade yes</color> - Принять ожидающий запрос на трейд\n<color=#DE5757>/trade no</color> - Отклонить ожидающий или активный трейд</size>",
"CmdPurchaseNotLimited": "Вы ещё не исчерпали свой дневной лимит!",
"CmdPurchaseHaveExtra": "У вас ещё есть {0} дополнительных трейд запросов! Используйте их прежде, чем покупать новые.",
"CmdPurchaseLimitsNotAllowed": "Покупка дополнительных трейд запросов недоступна!",
"CmdPurchasedLimits": "Вы успешно докупили <color=#D1CBCB>{0}</color> трейд запросов!\n<size=10>Теперь у вас <color=#D1CBCB>{1}</color> дополнительных трейд запросов</size>",
"CmdPurchaseNoCooldown": "У вас нет задержки на отправку трейд запросов!",
"CmdPurchaseCooldownNotAllowed": "Покупка пропуска задержки на трейд запросы недоступна!",
"CmdPurchasedCooldown": "Вы успешно купили пропуск на <color=#D1CBCB>{0} секунд</color> задержки для трейд запросов!\n<size=10>Теперь вам нужно подождать <color=#D1CBCB>{1} секунд</color></size>",
"CmdMyLimits": "Ваши лимиты трейд запросов:\n\n<color=#D1CBCB>Время задержки</color> - <color=#D1AB9A>{0} сек</color>\n<color=#D1CBCB>Дневной лимит</color> - <color=#D1AB9A>{1}</color>\n\n--------------------------------------------------",
"BarInitiator": "Трейд с: {0}",
"BarTarget": "Трейд от: {0}",
"BarCooldown": "Задержка трейда:",
"MsgStarted": "Вы начали трейд с игроком '<color=#D1AB9A>{0}</color>'!",
"MsgCompleted": "Трейд с игроком '<color=#D1AB9A>{0}</color>' успешно завершён!",
"MsgCanceled": "Игрок '<color=#D1AB9A>{0}</color>' отменил трейд!"
}
bars *boolValue*(optional) - Toggle status bar display.
*nameOrId* - Send a trade request to the specified player.
accept/yes - Accept a pending trade request.
cancel/no - Decline a pending or active trade.
limits - View your trade limits.
buy limits *amount*(optional) - Purchase additional trade requests.
buy cd *amount*(optional) - Purchase a 60 second(* by amount) cooldown skip.
Example:
/trade bars true
/trade iiiaka
/trade yes
/trade limits
/trade buy limits 1
/trade buy limits 0.5
$29.99
Basements lets players build underground rooms beneath their bases. Place a hatch on your foundation and dig straight down into a hidden basement with walls, ceilings, and full building privileges. Great for stashing loot, setting up secret bunkers, or just adding extra space.
Readme Link - Click Here for Instruction and Documentation
👆Highly recommend reading the FAQ section!
BUILD
Build basements easily from your tool cupboard. Just place an entrance to get started.
EXPAND
Expand your basement by drilling underground. But don't forget to bring a headlamp - its dark down there!
TRAVERSE
Place multiple entryways, building out your labyrinth of tunnels beneath your base.
DECORATE
All deployables, electricity, and storage items can be placed in your basement. Take advantage of your new space!
RAID
Nothing is safe in Rust, including your basement. If all the entrances are destroyed, then the basement is too. Any loot below will float to the surface. Protect the entrance at all costs!
API METHODS (For Plugin Developers)
// Returns true if the given entityId is part of a basement.
bool IsBasementEntity(ulong entityId)
// Returns the building ids of the basements connected to a given surface building id.
uint[] GetBasementBuildingIds(uint surfaceBuildingId)
// Returns the building ids of the surface buildings connected to a given basement building id.
uint[] GetSurfaceBuildingIds(uint basementBuildingId)
Extension Plugins
These are free plugins that add additional functionality to Basements.
BasementsManager
Provides a UI for admins to view and manage the basements on the server. Useful for debugging & fixing issues. Use with the /bm command, requires the basements.admin permission to use.
BasementsManager.cs
XDQuest: A comprehensive and customizable quest system for your RUST server!
XDQuest is a powerful and flexible plugin that introduces a comprehensive and dynamic quest system into your game world.
With 31 different types of missions available for players, the possibilities are almost limitless.
Players receive various rewards for completing missions, adding even more incentive to accomplish tasks.
At the moment, this is the largest and only quest system available!
XDQuest is your key to creating endless adventures in the world of RUST.
List of features:
(The description briefly outlines the functionality and includes screenshots.)
Interactive website for creating quests:
XDQuest-Creater - On my website, you can easily and quickly create quests. Forget about manually editing JSON files — my user-friendly interface will make the quest creation process simple and enjoyable!
The plugin offers four types of rewards:
Items
Blueprints
Custom items
Commands
It integrates perfectly with various economic systems, and also supports Skill Tree and ZLevels.
List of missions
Mission setup
Reward setup
Detailed instructions and settings on the website:
XDQuest-Creater - My website features clear and informative instructions that will help you configure the plugin and master all types of missions.
You will gain access to it immediately after purchasing the plugin.
Discover the simplest and most effective way to configure using my guide!
Beautiful and modern UI:
The stylish and intuitive interface makes using XDQuest simple and enjoyable.
There is a mini-quest list that allows your players to remotely track the progress of their missions.
UI
UI
Mini quest list
Example of UI customization
(Rusty Wasteland PvE)
Capabilities and NPC settings:
NPCs have their own voice-overs; currently, they can respond to the user on 4 triggers:
1.Greetings
2.Farewells
3.Task acceptance
4.Task completion
You can also upload and use your own sounds for any of these 4 triggers, and the website will assist you with this as well.
Dress your NPC however you like and create a unique appearance for them.
There is an option to change the location of the NPC.
Your NPC resides in a unique dwelling created in accordance with their character and backstory.
Available types of missions:
Currently, there are 24 different types of tasks available:
(The types of missions are constantly being updated)
(16 pre-set quests included)
Command:
Chat commands:
/quest.saveposition - saves a custom position (available only to administrators).
/quest.saveposition.outpost - saves a custom position within the bounds of a peaceful town (available only to administrators).
/quest.tphouse - teleport to a building (available only to administrators).
Console commands:
xdquest.stat - publishes statistics.
xdquest.player.reset [steamid64] - Clears all of a player's missions and everything associated with them.
Configuration:
Discord - DezLife
Website editor - xdquest.skyplugins.ru
FEATURES
Map size: 4500;
Prefab count: ~72k;
A lot of attention was paid to nature, and each section of the map was designed in detail;
Most of the rocks are hand-crafted, which makes them look much better.
The custom config for the BetterNpc plugin is set up so that bots are present at all points of interest;
Compatible with BetterNPC plugins (Config for bots in the file), Train Homes and Raidable bases;
Underground railway;
Custom road junctions;
A large number of small settlements/single buildings not marked on the road map by road;
Double-track surface railway with 1 entrance to the metro with separate branches for spawn trains;
Ring road (compatible with event plugins);
Evenly spaced monuments to spread the FPS load of client;
Custom building sites (X on the minimap);
Custom places for building in the subway (XU on the minimap);
Bridges are designed for easy tugboat access;
A large number of points with access to fresh water for farms. ( Rivers inside the island work like regular game rivers )
CUSTOM MONUMENTS
Sunken City;
Nuclear Cargo;
Command Post;
Bunkers ( X8 );
Underwater caves (x2 ) ( Zones for underwater farm );
Sunken Containers (x2 ) ( Zones for underwater farm );
A lots custom places to build a base. ( "X"/"XU" on map );
Train Station ( For Train homes plugin )
A lots unmarked buildings.
FACEPUNCH MONUMENTS
Combined Outpost;
Harbour (2/2);
Apartments complex;
Ferry Terminal;
Radtown;
Abandoned Supermarket;
Nuclear Missile Silo;
Oxum's Gas Station;
Airfield;
Lighthouse;
The Dome;
Water treatment plant;
Trainyard;
Power Plant;
Arctic Research Base;
Desert Military Base;
Giant Excavator Pit;
Stone, Sulfur & HQM quarries;
Satellite Dish;
Small & Large Oil Rig;
Large Underwater Lab.
My Discord: shemov
A password is attached to the map. You can edit it.
$37.00
🗺️ Fearsome BWANA DIK • high-performance 2K map • 12,000 prefabs
Handmade from scratch and built for battle, BWANA DIK seamlessly merges town and country into one deadly warfront. Continuous road and rail networks connect major monuments, while untouched beaches and rugged mountains remain wild and free. Vast rural wilderness areas hide freshwater lakes, rich ore veins, dense forests, and treacherous snowy mountain passes. This infamous island is just one of many in the local chain — more coming soon to Codefling.
"A nice place to die, but you wouldn't want to live there."
Bwana's feared custom monument 'The Crocotorium' is a dangerous high-risk blue/red card facility protected by a central SAM site and home to massive hungry lizards. Deep in a mountain valley and surrounded by lethal jungle, the Crocotorium is not for the faint of heart. Will your players conquer it… or end up on the menu?
As seen on TV...
⚠ 100% FULLY TESTED on live humans.
• Network of straight level roads perfect for high-speed vehicle travel.
• Convenient zip-tower network so you can quickly glide back to your body after death.
• Four large derelict urban centers featuring raised flyovers and established safe zones.
• Road & railway systems fully support popular plugins like Convoy and Armoured Train.
• Numerous buildable offshore islands — ideal for ocean bases to bridge across to.
⚠ Required dependencies: Umod/Oxide and Rustedit DLL.
Any problems? Please advise.
-- Nomad
LOST in RUST https://discord.gg/THf6dGN8eW
$19.99
This plugin allows you to set how many times per day players can raid bases. It is a very straight forward plugin with lots of features to customize it for your server such as scheduled reset times, custom UI, and protection options.
Features:
Limit number of raids that players can perform daily
Scheduled reset times, even when server is offline
Option for "free" raids against your attackers when defending your base
Limit sync with teams and clans
Assign bonus raid points to individuals
Damage thresholds for raids
Configurable messages
Customizable UI
Works with Simple Status
Works with Clans
Works with protection plugins (configurable)
Documentation:
A full readme including permissions, command, 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 🙂
$14.99
🗒️Features:
You can add any plugin event in the UI (if it has hooks, usually specified in the plugin description)
Has ingame UI menu for configure your Hud
The time format is adjusted to the player (depending on his language in the game), it checks which time format is used for this language
You can also enable an additional menu that opens on the arrow. You can add various buttons to this menu, for example, to open a store, your server menu, etc.
Almost all elements are customizable [for example: visibility of each element, Logo, Icons, Color e.t.c (check config down below)]
📕Commands:
/h setup - open UI for ingame config
/h - show all Server Hud UI commands
/h open - open Server Hud UI
/h events - open Events Bar
/h close - close Server Hud UI
/h hide - hide Server Hud UI
Q&A:
Q: Where i can find a base icon for creating my events icons?
A: Take a base icon below this message and using f.e photoshop for create you personal event icon!
Q: Where i can find a ready to use icons?
A: Here some links to ready to use icons packs(1 free, 2 paid):
https://codefling.com/customizations/free-custom-hud-icons
https://codefling.com/customizations/custom-hud-icons-paid
https://codefling.com/customizations/server-hud-custom-icon-pack
API:
string API_PlayerHudState(string id)
CanHudChangeState(BasePlayer player, string currentState, strint nextState)
🗒️Config:
{
"Auto reload [If you change the config and save the file the plugin will reload itself]": true,
"Main setup": {
"Overall layer [you will see the hud in your inventory]": false,
"Size ALL [0% - inf]": 100,
"Logo [HUD interact button]": "https://media.discordapp.net/attachments/335512864548847617/1134455399756607549/logo.png",
"Events background opacity [0% - 100%]": 100,
"Background opacity [0% - 100%]": 100,
"Position": {
"Align [TopLeft | TopRight | BottomLeft | BottomRight": "TopLeft",
"Left | Right - offset": 40,
"Top | Bottom - offset": 25
},
"Server name": "Your Server Name",
"Active players": {
"Icon": "https://cdn.discordapp.com/attachments/335512864548847617/1134455395813965934/active.png",
"Color": "#fff",
"Enable": true
},
"Sleep players": {
"Icon": "https://cdn.discordapp.com/attachments/335512864548847617/1134455395138670652/sleep.png",
"Color": "#fff",
"Enable": true
},
"Queue players": {
"Icon": "https://cdn.discordapp.com/attachments/335512864548847617/1134455393972654171/line.png",
"Color": "#fff",
"Enable": true
},
"Time": true,
"Player position [hide permisson - hud.streamer]": {
"Enable": true,
"true - grid | false - x,z coordinates": true,
"Color": "cyan"
},
"Economy plugin [Economics | ServerRewards]": {
"Currency": "$",
"Value color": "#10ff10",
"Enable": true
},
"Info messages": {
"Update interval [in seconds]": 60,
"Align [BottomCenter | TopCenter | TopRight]": "BottomCenter",
"Width [in px]": 260,
"Offset [top | bottom]": 0,
"Offset [right]": 15,
"Outline color": "#000",
"Overall [you will see messages in your invenotory]": true,
"Enable": true,
"Messages": [
"Welcome to Your Server Name",
"Good luck"
]
},
"Additional menu": {
"Auto close timer [seconds | 0 - disable]": 60,
"Auto close after command use": true,
"Open/Close button color": "yellow",
"Commands background opacity [0% - 100%]": 100,
"Enable": true,
"Commands": [
{
"Background image": "https://media.discordapp.net/attachments/335512864548847617/1134455392420761671/command.png",
"Icon [optional]": "https://media.discordapp.net/attachments/335512864548847617/1134455395813965934/active.png",
"Command": "chat.say Hello there",
"Text": "Say Something",
"Outline color": "#000",
"Is Console": true
},
{
"Background image": "https://media.discordapp.net/attachments/335512864548847617/1134455392420761671/command.png",
"Icon [optional]": "",
"Command": "/shop",
"Text": "Say Something",
"Outline color": "#000",
"Is Console": false
}
]
}
},
"Base Events": [
{
"Name": "Bradley",
"Active color": "#10ff10",
"Icon": "https://media.discordapp.net/attachments/335512864548847617/1134455316654850049/bradley.png",
"Color": "#fff",
"Enable": true
},
{
"Name": "PatrolHeli",
"Active color": "#10ff10",
"Icon": "https://media.discordapp.net/attachments/335512864548847617/1134455315073597530/heli.png",
"Color": "#fff",
"Enable": true
},
{
"Name": "CH47",
"Active color": "#10ff10",
"Icon": "https://media.discordapp.net/attachments/335512864548847617/1134455317485342803/ch47.png",
"Color": "#fff",
"Enable": true
},
{
"Name": "Cargo",
"Active color": "#10ff10",
"Icon": "https://media.discordapp.net/attachments/335512864548847617/1134455317086879794/cargo.png",
"Color": "#fff",
"Enable": true
},
{
"Name": "AirDrop",
"Active color": "#10ff10",
"Icon": "https://cdn.discordapp.com/attachments/335512864548847617/1134455316143161374/airdrop.png",
"Color": "#fff",
"Enable": true
}
],
"Custom Events": [
{
"Hook OnEventStart": "OnConvoyStart",
"Hook OnEventStop": "OnConvoyStop",
"Name": "Convoy",
"Active color": "#10ff10",
"Icon": "https://media.discordapp.net/attachments/335512864548847617/1134455318030598154/convoy.png",
"Color": "#fff",
"Enable": false
},
{
"Hook OnEventStart": "OnSputnikEventStart",
"Hook OnEventStop": "OnSputnikEventStop",
"Name": "Sputnik",
"Active color": "#10ff10",
"Icon": "https://cdn.discordapp.com/attachments/335512864548847617/1134455315488854016/sputnik.png",
"Color": "#fff",
"Enable": false
},
{
"Hook OnEventStart": "OnArmoredTrainEventStart",
"Hook OnEventStop": "OnArmoredTrainEventStop",
"Name": "ArmoredTrain",
"Active color": "#10ff10",
"Icon": "https://cdn.discordapp.com/attachments/335512864548847617/1134455315841155173/train.png",
"Color": "#fff",
"Enable": false
},
{
"Hook OnEventStart": "OnHarborEventStart",
"Hook OnEventStop": "OnHarborEventEnd",
"Name": "Harbor",
"Active color": "#10ff10",
"Icon": "https://cdn.discordapp.com/attachments/335512864548847617/1134455318332592219/harbor.png",
"Color": "#fff",
"Enable": false
}
]
}
$14.99
Gather & loot rates
Rates that belong to the player, not to the server
Server-wide multipliers give everyone the same wipe. This plugin attaches rates to permissions instead: a default tier, a VIP tier, as many tiers as you sell. Every gather source is covered — nodes, quarries, the excavator, the metal detector, farming, tea, even NPC corpses — and every loot container is multiplied per item category, or per exact item. All of it edited in a UI, applied the moment you type the number.
14
Item categories, each with its own rate
7
Production sources with their own multiplier
4
Fields on every per-item override
0
Dependencies
✓
Unlimited permission tiers — a different wipe for every rank you sell
✓
Every source, not just trees and nodes — quarries, excavator, metal detector, farming, tea, NPC corpses
✓
Guaranteed drops per item — "always 5 scrap, 10% chance of 20" without touching a loot table
✓
Loot and junk pile respawn speed — separately, live, no map restart
✓
Edited in-game — type a number, it's live and saved
01 — Tiers
One server, as many rate sets as you sell
A tier is a permission plus a full set of rates. Two come preconfigured — a 2x/3x default and a 3x/5x VIP — and you add as many as your shop needs.
No permission, no change
Players outside every tier play vanilla rates, untouched. Nothing is applied server-wide, so you can run the plugin on a 1x server and sell 2x as a rank.
Stack tiers, or don't
By default a player with several tiers gets one of them. Flip a single switch and every rate they hold is summed instead — so a booster permission can add on top of a rank rather than replace it.
Everything from one screen
Page through your tiers with two arrows. Global rates, every production source, all 14 categories and the per-item list are on the same screen, each an input field. Type a value and it's active and written to the config — no reload, no o.reload, no file editing.
02 — Loot
Containers that pay what you decide
Barrels, crates, elite crates, hackable crates, supply drops — anything with loot in it goes through a global rate multiplied by the rate of that item's category.
14 categories, 14 dials
Triple the components but leave weapons alone. Halve ammunition while resources stay at 5x. Weapons, construction, items, resources, attire, tools, medical, food, ammunition, traps, misc, components, electrical and fun each carry their own multiplier on top of the global one.
NPC corpses count the killer
Scientists, tunnel dwellers and every other NPC drop loot scaled to the rates of whoever killed them — tracked from the kill to the corpse, so a VIP's kill pays VIP rates even if someone else opens the body.
Shot open or opened by hand
Barrels broken with a rock and crates opened normally both go through the same multipliers, credited to the player who did it — and each container is processed exactly once, never twice.
Respawn speed, live
Two multipliers — one for junk piles, one for crates and barrels — and the world's spawn timers are rebuilt the moment you change them. No wipe, no restart, and the vanilla values are put back when the plugin unloads.
An exclusion list for the things you don't touch
Name a container prefab and it stays vanilla — useful for event crates and custom loot that another plugin already fills.
03 — Gathering
Every way a player earns a resource
Most rate plugins stop at trees and ore. This one follows the resource wherever it comes from, and gives the slow, expensive sources their own multiplier on top.
Nodes, trees and the finishing bonus
Every hit, the bonus for finishing a node, and the leftovers that spill when it breaks — all three are scaled, so the numbers stay consistent instead of the bonus quietly staying at 1x.
Quarries and the excavator pay their operator
A mining quarry, a survey-charge pump jack and the Giant Excavator each have their own production multiplier — and the output is scaled by the rates of the player who switched it on, not by a server-wide number.
Jackhammer, chainsaw and the metal detector
Power tools get a multiplier of their own, so you can make them worth their fuel — or deliberately not. Metal-detector digs are boosted too, which almost nothing else covers.
Tea strength as a rate
The tea multiplier scales the effect value of the tea itself, not the number of leaves. A VIP's ore tea simply works harder than everyone else's.
Farming and hand-picked resources
Harvested plants and everything picked up off the ground — hemp, mushrooms, corn, wood piles — run through the same rates as everything else.
04 — Per item
One item out of step with the rest
Category rates handle the broad strokes. When a single item needs its own rule, it overrides everything above it.
Its own multiplier, ignoring everything else
Run resources at 10x and keep sulfur at 2x. An item with an override takes its own number and nothing else — no compounding surprises.
Guaranteed amounts with a jackpot chance
For loot, set a minimum and a maximum with a percentage chance for the big one. Every barrel gives exactly 5 scrap, and 10% of them give 20 — a flat, predictable economy you can actually price your shop against.
Added by clicking an icon
The picker filters by all 15 categories and searches display names and shortnames as you type. Click an item to add it, type its rate under the icon, click the red cross to drop it. Long lists paginate at 29 per page.
Reliability
Built to be left alone
✓
No dependencies — nothing to install alongside it
✓
Vanilla respawn timings are restored on unload — the plugin remembers what they were before it touched them
✓
Every UI change is written to the config immediately — a crash can't lose the tier you just built
✓
A bad shortname tells you in chat instead of failing silently or throwing errors into console
✓
Respawn boosting is opt-in — off by default, with the safe range stated in the config
Command & permissions
One command, and the tiers you invent
The command name and the setup permission are both configurable. Admins have access regardless.
/rs
Open the rate editor
gatherlootmultiplier.setup
Access to the editor
gatherlootmultiplier.default
Preconfigured tier — 2x loot, 3x gather
gatherlootmultiplier.vip
Preconfigured tier — 3x loot, 5x gather. Rename both, or add ten more
Questions
Before you buy
What happens to players with no permission?
Nothing at all — they get vanilla rates. That's the point: grant the default tier to the default group for a server-wide rate, or keep it for ranks only.
A player has two tiers. Which one wins?
The one further down the config list — so keep your tiers in ascending order and the highest rank ends up last. Alternatively, turn on rate summing and every tier they hold is added together instead.
Do I have to restart or reload after changing a rate?
No. Values from the UI take effect immediately and are saved to the config as you type them. Even loot respawn timing is rebuilt live.
Whose rates apply to a quarry or the excavator?
The player who switched it on. A VIP's quarry produces at VIP rates while it runs.
Can I make a resource drop a fixed amount instead of a multiplied one?
Yes, for loot: give the item a minimum, an optional maximum and a chance for the maximum. The multiplier is then ignored for that item and the amount is rolled between the two.
Is faster loot respawn safe for my server?
It's off by default and it scales the game's own spawn timings rather than spawning extra entities. Stay near the suggested values — extremely low numbers mean more entities alive at once, which costs frames on any server.
Will it fight with my other loot plugin?
Add that plugin's container prefabs to the ignore list and they pass through untouched.
Highest Rated
Top-rated picks trusted and loved by the community.
-
$16.99
By David
-
$40.00$30.00By nivex
-
$29.99
By LosGranada
-
$29.99
By imthenewguy
-
$40.00$31.95By Mevent
-
$24.99
By Whispers88
-
$14.99
By Sheo
-
Free
By Steenamaroo
-
$19.99$15.99By Fruster
-
$14.99
By David
-
$45.99
By Monster
-
$19.99
By Fruster
Trending Files
Popular picks members are downloading the most right now.
-
Free
By tofurahie
-
$19.99$15.99By Fruster
-
$29.99
By imthenewguy
-
$40.00$31.95By Mevent
-
By 0xF
-
Free
By Steenamaroo
-
$40.00$30.00By nivex
-
$29.99
By Adem
-
By realedwin
-
$40.00
By Steenamaroo
Great Deals
Discounted picks, limited-time deals, and sale items worth grabbing now.
-
$19.99$9.97By Hakan
-
$15.00$13.50By Razor
-
$12.99$9.99By fullwiped
-
By Shemov
-
$19.99$5.00 -
$39.99$10.00 -
By jaaaaaThomas
-
$29.99$7.50 -
$49.90$42.99 -
By fullwiped
-
$24.99$19.99By SlayersRust
-
$24.99$19.99By SlayersRust
-
$21.95$15.95By Mevent
Recently Updated
Recently improved files with fresh updates, fixes, and new content.
-
$8.99$6.75 -
By codeboy
-
By codeboy
-
$20.99
By dFxPhoeniX
-
$4.99
By dFxPhoeniX
-
$12.99
By dFxPhoeniX
-
$7.00
By Barry_Allenn
-
$9.99$7.75 -
$9.99
By RTimer
-
$20.00
By Neighigh
-
$29.99
By LosGranada
Latest Reviews
See what customers are saying about their experience with files.
Custom Item Vending is an absolutely fantastic plugin and has quickly become a favorite across the LuffyRust servers. The amount of flexibility it provides is outstanding, allowing us to create unique, customized vending experiences that fit our server perfectly.
The plugin is versatile, reliable, and opens up so many possibilities for custom items, player trading, rewards, and server progression. Our players genuinely love the features it brings, and it has added another enjoyable layer to
Using it as a centerpiece for my test server and I love it. Thank you ❤️
2 reviews sold me. server is going wild to get home from work to use this in game.
I purchased this product, the players are delighted! On average, according to data from players, +20 fps and no drawdowns
Its a very very good admin panel, are very complete, and simple to set.
Good job codeboy 🙂
simple and a high quality mod. lay out is love and install was easy. simple to use for my players and perms are easy to grant.
a huge plus is, it does not have a lot of drag on the server. money well spent and thank you!!!
healthy mod for a healthy server!!
Good map with good potential however significant patching required, military tunnels was floating 50 metres in the air and every single river had to be fixed as the water was clipping through the surrounding areas
This paired with Custom Item Definitions is next level
sick, made my upgrade to 5x painless. appreciate all the help!
Great plugin and excellent customer service; they solve any problems you have right away. 10/10 Highly recommended