Magnumk's Wishlist
-
Server Panel
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.
- #serverpanel
- #info
-
(and 32 more)
Tagged with:
- #serverpanel
- #info
- #panel
- #ui
- #server
- #serverinfo
- #welcome
- #welcomeui
- #infopanel
- #server gui
- #welcome controller
- #welcome video
- #infopanel mevent
- #welcome panel
- #welcome mevent panel
- #welcome info
- #multi-function info panel
- #server panel
- #menu by mevent
- #menu with info
- #menu gui
- #menu rust
- #rust menu
- #info hud
- #infomenu
- #information
- #best welcome plugin
- #rust welcome
- #welcomer
- #welcome menu
- #welcome ui
- #welcome gui
- #welcome plugin
- #welcome hud
-
Deployable Nature
By imthenewguy in Plugins
Adds 62 new deployable items to your server!. Custom item collection system. Players can obtain these items while cutting trees, mining rocks and collecting plants. Includes a built in market that can be accessed via a chat command or a HumanNPC. Each base item can be configured to allow for a wide variety of placement options/restrictions. A large amount of configuration options are available for each item. Adjustable placement options while holding shift. Items can be picked up by holding a hammer, looking at the deployed entity and pressing your mouse3 button (scroll wheel button).
deployablenature.admin - Required to use the giveprefab command.
deployablenature.market.chat - Required to use the market chat command.
deployablenature.ignore.restrictions - Allows a player to deploy items without restriction (TC etc).
deployablenature.gather - Required for players to obtain drops while gathering.
deployablenature.use - Required to deploy nature items.
deployablenature.free - allows access to the nature market for free.
There is also the option to create groups via the config, which will receive discounts in the market based on the value assigned to them.
Example:
"Permissions that will receive a discount on the store cost when purchasing [1.0 is full price]. Prefix with deployablenature.": { "deployablenature.vip": 0.5 }, This would give players with the deployablenature.vip permission a discount of 50% off of the market price.
Command: giveprefab
Parameters: <skin id> <quantity>
Example: /giveprefab 2609145017 100 - spawns the user 100x medium clutter rocks"
Permission: deployablenature.admin
Command: naturemarket
Permission: deployablenature.market.chat
Command: dnpickup
Permission: None
Command: giveprefab (console)
Parameters: <player id/name> <skin id> <quantity>
Example: /giveprefab "new guy" 2609145017 100 - spawns the user 100x medium clutter rocks for new guy"
Permission: deployablenature.admin
Command: dnsetprefab
Parameters: None
Console Command: dnkillentities - wipes all nature entities from the map.
Parameters: <optional parameter: true> - this wipes the data after the command executes. If not used, the nature items will respawn on plugin reload.
Example: dnkillentities or dnkillentities true.
Permission: deployablenature.admin if running from player console.
Console Command: dnkillentitiesforplayer - wipes all nature entities from the map for the specified player
Parameters: <player name/id>
Example: dnkillentitiesforplayer "new guy" - would delete all entities for the player whose name contained "new guy".
Permission: deployablenature.admin if running from player console.
Console Command: dnpurge - enables purge mode, wiping all entities from the map (does not delete data), and preventing them from spawning on server start/being deployed by players while active. Automatically resets to false on server wipe.
Parameters: <true/false>
Example: dnpurge true - would enable purge mode.
Permission: deployablenature.admin if running from player console.
You most likely won't need the below information, but it is here for more advanced users.
Prefab Types
0: Rock 1: Tree 2: Bush 3: Animal 4: Furniture
Tree Types
0: None 1: Palm 2: Oak 3: Swamp 4: Birch 5: Beech 6: Pine 7: Cacti 8: Snow 9: Mauritia_Flexuosa 10: Hura_Crepitans 11: Trumpet_Tree 12: Schizolobium 13: Dead_Log 14: Dead_Log_Snow 15: Driftwood
Bush Types
0: None 1: Willow 2: Willow_snow 3: Spice 4: Spice_snow 5: Creosote 6: Berries 7: Mushrooms 8: Ocotillo 9: Monstera_Deliciosa 10: Bromeliad 11: Heliconia_Rostrata
API
public bool IsDeployableNature(BaseEntity entity) Returns if an entity is a DeployableNature entity that has the prevent_gather attribute.
-
Weapon Control
WeaponControl is an advanced combat balancing plugin for Rust.
It allows server owners to fully control weapon damage, magazine capacity, and explosive damage using a clean in-game UI.
⭐ Key Features :
• Weapon damage multipliers
• Magazine capacity control
• Full explosive damage support (C4, Satchel, Beancan, Molotov, Catapult explosives)
• Separate profiles: Default / VIP I / VIP II / VIP III
• Automatic weapon detection
• Dedicated Explosives configuration tab
• Live in-game UI editor
💣 Explosives System :
Take full control over explosive damage:
• Supports C4, Satchel, Beancan, Molotov
• Supports Catapult explosives (Propane, Fire Bomb, Scattershot)
• Independent explosive multipliers
• Per-profile explosive balancing
• Accurate projectile and heat damage detection
👑 VIP System (Optional) :
Flexible VIP system with priority-based tiers.
Each VIP level can have its own:
• Weapon damage values
• Magazine capacity values
• Explosive damage values
Includes full control over affected entities and blacklist support.
🖥️ In-Game UI :
Manage everything directly in-game:
• Separate tabs for Weapons & Explosives
• Search and sort items
• Apply global presets
• Edit values live
• Safely apply or discard changes
• Admin change summary confirmation
⚙️ Performance & Compatibility
• Optimized for PVP and PVE servers
• Lightweight and server-friendly
• Accurate damage detection for projectiles and fire-based explosives
• Compatible with Oxide and Carbon
Need Support :
-
Complete Build System / Sandbox System
By hionet.com in Plugins
🏗️ Complete Build System / Sandbox System 1.2.3
A premium all-in-one creative sandbox system for Rust build servers.
Personal and VIP build plots for monetization and tiered access Built-in save/load system with share codes and native BuildSaves backend Guest system with permissions for collaborative building Basic symmetry tools, modern UI, and optimized build workflow Designed for serious build servers, practice servers, and creative communities
Live Test:
client.connect 46.224.9.69:25015 ✨ Core Features
- Personal build plots with automatic plot assignment
- Normal and VIP plots with separate radius and entity limits
- Plot categories and biome-based plot layouts
- Central lobby with teleport flow and optional respawn handling
- Optional randomized plot allocation
- Plot domes, map markers, radius control, and sound isolation
- Custom build kits for every player plot
- Included functional custom build map for a ready-to-run creative environment
💾 Save / Load / Share System
- Native `BuildSaves` backend built directly for BuildSystem
- No longer relies on CopyPaste as the active save/load dependency
- Save unlimited builds per player
- Load saved builds directly into your plot
- Rename and delete saves
- Category-aware last save loading for better biome/category continuity
- Share code generation and importing
- Guest restrictions enforced during save/load actions
- Faster load validation through stored entity metadata
- Safer queued save handling
- Improved shutdown and unload protection so plots save more reliably
- Legacy CopyPaste saves can be migrated with:
`buildsaves.migrate`
👥 Guest & Collaboration System
- Invite players to your plot
- Request access to another player's plot
- Accept or decline requests
- Granular guest permissions:
- Build
- Remove
- Demolish
- Craft
- Save copy
- Guests can be moved cleanly back to lobby when needed
- Better synchronization with `/leave`, disconnect cleanup, and plot ownership flow
🎛️ Creative Build Environment
- Full creative building workflow
- Free building and repairing
- Blueprint unlock support
- Noclip / fly support
- God mode support
- Optional off-plot restrictions
- Blacklisted item support
- Vehicle spawn whitelisting
- Per-player vehicle limits
- Built-in hammer remove support
- Auto-upgrade support
- Mass-upgrade support
- One-click power on/off support for IO entities
- Virtual item refresh support for reliable creative inventories
- Safe spawn logic and improved off-plot behavior
📊 Limits, Protection & Automation
- Separate normal and VIP entity limits
- Live entity counting
- Optional entity limit HUD
- Build cost calculation
- Upkeep calculation
- Plot radius damage restriction
- Auto-save interval support
- Spawned entity auto-cleanup in lobby, plots, and outside managed areas
- Player-owned and server/plugin-owned cleanup controls
- Improved restart and disconnect cleanup behavior
🪞 Plot Symmetry / Mirror Building
- Optional symmetry building system via `BuildMirror`
- Plot-based symmetry with hammer-selected pivot points
- Multiple symmetry modes
- Visual guide rendering
- Limit-aware mirrored placement
- Safer placement rejection when mirrored placement is invalid
- Designed for faster, cleaner base prototyping
🖥️ Modern UI
- Full Nexus-style graphical interface
- Lobby UI and build menu workflow
- Save/load/share management through UI
- Guest management through UI
- Tools and server info tabs
- Keyboard shortcut support
- Localized text system
- Optional middle-click menu opening
- Configurable footer text and layout
🗺️ Included Custom Build Map
Includes a functional custom build map designed specifically for creative build servers.
What the map provides:
- Organized plot layout
- Central lobby area
- Space for normal and VIP plots
- Cleaner server launch experience
- Ready-to-use build-focused environment
- Better structure for high-pop creative or practice servers
🧩 Included Modules
- `BuildConfig.cs` - central configuration provider
- `BuildCore.cs` - player flow, plot lifecycle, connect/leave handling
- `BuildPlots.cs` - lobby, plots, domes, markers, categories, teleport handling
- `BuildIO.cs` - save/load/share orchestration
- `BuildSaves.cs` - native save/load backend and legacy migration
- `BuildGuests.cs` - guest requests, invites, permissions, guest flow
- `BuildOptions.cs` - creative perks, restrictions, upgrades, god/fly, spawn controls
- `BuildCosts.cs` - build and upkeep calculations
- `BuildMirror.cs` - symmetry / mirror building
- `BuildUI.cs` - graphical interface
- `BuildLang.cs` - localization system
🔐 Permissions
- `buildcore.vip` - VIP plot size and VIP entity limit access
- `buildplots.freeroam` - allows freer off-plot movement behavior
- `buildplots.lobbyexit` - allows using the build menu flow from outside normal managed areas
🔄 Migration
Older installations that used CopyPaste-based saves can migrate to the new built-in save system with:
`buildsaves.migrate`
This makes upgrading older servers much easier while moving to the new native BuildSaves backend.
💬 Player Chat Commands
- `/build`
Open the lobby UI or build menu depending on where the player is.
- `/leave`
Leave the current plot.
- Guests return to lobby
- Plot owners save, clear, delete their active plot session, then return to lobby
- `/invite <player>`
Invite another player to join your plot as a guest.
- `/request <player>`
Request to join another player's plot.
- `/accept <player>`
Accept a pending request or invite.
- `/decline <player>`
Decline a pending request or invite.
- `/noclip`
- `/fly`
- `/f`
Toggle noclip/fly, depending on plot/off-plot restrictions.
- `/god`
- `/g`
Toggle god mode, depending on plot/off-plot restrictions.
⌨️ Player Console Commands
- `build`
Console version of `/build`.
- `leave`
Console version of `/leave`.
- `request <player>`
Console version of `/request`.
- `buildcost`
Console version of `/buildcost`.
- `fly`
Console version of noclip/fly toggle.
- `god`
Console version of god mode toggle.
🛠️ Server Owner / Admin Command
- `buildsaves.migrate [overwrite] [deleteOld]`
Migrate legacy CopyPaste save files into the new BuildSaves format.
- `overwrite` = optional true/false
- `deleteOld` = optional true/false
Example:
`buildsaves.migrate`
⚙️ Config Explanation
- `Server Settings - Name`
Server name field in config.
Currently mostly informational and not a major gameplay switch.
- `Lobby Settings - Spawn Position`
The world position for the lobby center and where players are teleported when sent to lobby.
- `Lobby Settings - Radius`
The size of the lobby area.
Also affects lobby zone checks, dome size, and marker area.
- `Plot Settings - Default Radius`
Radius used for normal player plots.
- `Plot Settings - VIP Radius`
Radius used for VIP plots.
- `Plot Settings - Randomize Plot Location`
If true, players get a random free plot slot instead of the first available slot.
- `CoolDown Settings - Share Code (Minutes)`
How long a player must wait before generating another share code.
- `Links - Discord`
Discord link shown in the UI/server info section.
- `Links - Website`
Website link shown in the UI/server info section.
- `Off Plot Settings - Allow F1 Spawn`
Controls whether players can use allowed spawn/give behavior outside their own plots.
- `Off Plot Settings - Force NoClip`
Controls whether noclip/fly is allowed outside plots unless freer permissions apply.
- `Off Plot Settings - Force GodMode`
Controls whether god mode is allowed outside plots unless freer permissions apply.
- `Lobby Settings - Force Teleport on Connect`
If true, players are automatically sent to the lobby when they connect.
- `Lobby Settings - Clear Inventory on Spawn`
If true, inventory is cleared when players are placed into the lobby.
- `Lobby Settings - Respawn in Lobby without Plot`
If true, players without a valid active/guest plot respawn in the lobby.
- `Map Markers - Enable`
Enables map markers for lobby/plots.
- `Plot Settings - Custom Kit Items`
Items automatically given to players when entering a plot.
In your example, players receive:
- planner in belt slot 5
- hammer in belt slot 4
- `Allowed Entities - F1 Spawn`
Whitelist of prefabs allowed through the plugin's F1/entity spawn behavior.
Anything not listed is blocked.
- `Item Settings - Blacklisted Items`
Items blocked from the creative build environment.
In your example:
- `supply.signal`
- `grenade.smoke`
- `Vehicle Settings - Max per Player`
Maximum number of spawned vehicles each player can own through the system.
- `Plot Settings - Limit Damage to Radius`
Restricts damage interactions to the plot radius so players cannot affect things outside their area.
- `Entity Limits - Normal Max Entities`
Max entity count for normal players.
- `Entity Limits - VIP Max Entities`
Max entity count for VIP players.
- `Dome Settings - Lobby Color`
Visual dome color for the lobby.
- `Dome Settings - Lobby Intensity`
Number/intensity of dome visuals in lobby.
Higher values create a stronger effect.
- `Dome Settings - Plot Color`
Visual dome color for plots.
- `Dome Settings - Plot Intensity`
Number/intensity of dome visuals for plots.
- `Plot Settings - Sound Isolation`
Helps isolate plot audio/effects so players mainly receive sounds from the relevant managed area.
- `UI Settings - Show Limit HUD`
Shows or hides the HUD that displays entity/vehicle limits.
- `UI Settings - Enable Middle Click`
Lets players open the menu with middle mouse click.
- `Compatibility - Disable Grade Control (for BuildTools compatibility)`
Disables the plugin's built-in grade control features so it does not conflict with BuildTools or similar systems.
- `Compatibility - Enable Built-in Hammer Remove (R)`
Enables the built-in hammer reload/remove behavior.
- `Plot Settings - Hammer Remove Distance`
Max distance for hammer-based removal checks.
- `Plot Settings - Auto-Save Interval Seconds (min time between auto-saves per player)`
Minimum delay between automatic saves for a player's dirty plot.
- `UI Settings - Footer Text Align`
Screen alignment for footer text.
- `UI Settings - Footer Anchor Min`
Lower anchor position for the footer UI panel.
- `UI Settings - Footer Anchor Max`
Upper anchor position for the footer UI panel.
- `UI Settings - Footer Text Color (R G B A)`
Footer text color and transparency.
- `UI Settings - Footer Font Size`
Footer text size.
- `Spawned Entities - Auto-Remove In Lobby`
Enables cleanup of eligible spawned entities in the lobby.
- `Spawned Entities - Auto-Remove Inside Plots`
Enables cleanup of eligible spawned entities inside plots.
- `Spawned Entities - Auto-Remove Outside Plots`
Enables cleanup of eligible spawned entities outside managed zones.
- `Spawned Entities - Apply Auto-Remove To Player-Owned`
Apply cleanup rules to player-owned spawned entities.
- `Spawned Entities - Apply Auto-Remove To Server/Plugin-Owned`
Apply cleanup rules to server/plugin-owned entities too.
- `Plot Symmetry - Enabled`
Master switch for the symmetry / mirror building system.
- `Plugin Version`
Internal config version entry used for config migration/bookkeeping.
Developer hooks for compatibility
- `CanBuildSystemKillEntity`
Lets other plugins prevent BuildSystem from deleting or killing a specific entity during cleanup, removal, or plot clearing actions.
- `CanBuildSystemHammerRemoveEntity`
Lets other plugins block the built-in hammer remove system before an entity is removed.
Example:
object CanBuildSystemKillEntity(BaseEntity entity) { if (entity == null) return null; if (entity.ShortPrefabName == "autoturret_deployed") return false; // block BuildSystem from removing it return null; // allow normal BuildSystem behavior } object CanBuildSystemHammerRemoveEntity(BaseEntity entity) { if (entity == null) return null; if (entity.ShortPrefabName == "wall.frame.shopfront") return false; // prevent hammer remove for this entity return null; // allow normal BuildSystem behavior }
-
Weapon Enchantments Pack
By hionet.com in Plugins
Introduction System Overview Installation (Oxide/uMod & Carbon) Configuration Guide Commands Reference Permissions System
1. Introduction
Welcome to Weapon Enchantments Pack, a professional-grade weapon enchantment system designed for Rust servers that require full control over progression, balance, and monetization.
What Is Weapon Enchantments Pack?
Weapon Enchantments Pack is a fully configurable enchantment framework that stores all enchantment data directly on weapon items. This architecture removes the need for world entities, background scanning, or wipe-sensitive databases, making it ideal for long-term wipes and high-population servers.
Key Features
Complete weapon coverage (all Rust weapon categories). Physical enchant books (store- and kit-friendly). Custom Forge UI for player progression. Permission-driven VIP and tiered access. Store-safe, performance-focused design (no entity scanning / polling loops). Fully configurable — no fixed balance values locked behind code.
Who Should Use This Pack?
Monetized servers with web stores or donation systems. VIP-based progression servers. Long-term wipe servers (monthly or longer). PvP-focused servers. Vanilla+ servers seeking controlled progression.
2. System Overview
Plugin Structure
Weapon Enchantments Pack consists of two plugins that work together:
EnchantCore.cs Core framework: registry, item storage, Forge UI, enchanting tables, and book handling. EnchantWeapons.cs Weapon-specific logic and default enchantments (requires EnchantCore)
Data Storage Model
All enchantment data is stored directly on the item instance. This ensures:
No wipe-sensitive external databases are required. Enchantments persist through plugin reloads. No performance impact from entity scanning or polling loops. Enchanted items can be traded without losing enchantments.
3. Installation (Oxide/uMod & Carbon)
Prerequisites
Rust server running Oxide/uMod or Carbon. Access to server file system (FTP or panel). Ability to reload plugins or restart the server. Install Steps
Upload both plugin files:
EnchantCore.cs EnchantWeapons.cs Oxide/uMod: oxide/plugins/EnchantCore.cs oxide/plugins/EnchantWeapons.cs Carbon: carbon/plugins/EnchantCore.cs carbon/plugins/EnchantWeapons.cs Loading / Reloading
Plugins compile automatically on upload. You can also load/reload manually:
Oxide/uMod console: o.reload EnchantCore o.reload EnchantWeapons Carbon console: c.reload EnchantCore c.reload EnchantWeapons Verify Installation
Check server console for successful load messages (version text may vary by build):
Loaded plugin EnchantCore v1.0.0 by hionet.com Loaded plugin EnchantWeapons v1.0.0 by hionet.com Quick Test Commands
Give yourself an Enchanting Table and a test book:
enchantcore.givetable YourName 1 enchantcore.givebook YourName sharpness 1 1 Then as server admin (ownerid <YourSteamID> ) run:
/forge
4. Configuration Guide
Weapon Enchantments Pack uses two configuration files. Both Oxide/uMod and Carbon use the same JSON structure, but the config paths differ.
Config File Paths
Oxide/uMod: oxide/configs/EnchantCore.json oxide/configs/EnchantWeapons.json Carbon: carbon/configs/EnchantCore.json carbon/configs/EnchantWeapons.json
EnchantCore.json config file explanation
General Settings
"Config Version": 1 - Internal version used for safe upgrades. Do not change this manually.
"Command Prefix": "enchant" - Controls the admin chat command prefix. Useful if another plugin already uses /enchant
Enchanting Table Settings
"Enchanting Table": { "Entity Shortname": "box.repair.bench", "Skin ID": 3653802947, "Open Forge By Default": true } Entity Shortname - Base Rust entity used as the table, default: box.repair.bench
Skin ID (IMPORTANT) - Required skin to identify the table. Prevents normal repair benches from becoming enchanting tables. Only benches with this skin will open the Forge.
Open Forge By Default:
true: Opening the table opens the Forge UI automatically (recommended) false: Players must manually use /forge while looting the table
UI Settings (Forge Appearance)
"UI Settings": { "Panel Background Color": "0.1 0.1 0.1 0.95", "Accent Color": "0.4 0.2 0.8 1.0", ... } These settings control visual appearance only.
Rarity Colors (Hex)
"Rarity Colors (Hex)": { "Common": "#B0B8C2", "Uncommon": "#2ECC71", "Rare": "#3498DB", "Epic": "#9B59B6", "Legendary": "#F39C12" } Used for:
Forge UI Book display Weapon tooltip text If an enchant rarity has no color, it uses:
"Default Rarity Color (Hex)": "#FFFFFF"
Display Settings (Item Text)
"Display Settings": { "Enchant Prefix": "[E]", "Enchant Suffix": "", "Separator": ", " } Controls how enchantments appear on weapons.
Example output:
[E] Sharpness III, Lifesteal II Prefix/Suffix are purely visual Separator controls spacing between enchants
Performance Settings (IMPORTANT)
"Performance Settings": { "Cache Permission Results": true, "Cache Item Applicability Results": true, "Max Enchantments Per Item (Default)": 3, "Purge Unknown Enchantments": true, "Purge Unknown Delay Seconds": 300 } These settings keep the plugin safe for high-pop servers.
Cache Permission Results
Caches permission checks per player Strongly recommended to keep true Cache Item Applicability Results
Caches which enchants apply to which items Prevents repeated weapon-category checks Max Enchantments Per Item (Default)
Base limit for players without VIP permissions Can be overridden by: VIP permissions Admin overrides Other plugins via hooks Purge Unknown Enchantments
Automatically removes enchants that no longer exist in config Prevents broken items after config updates Purge Unknown Delay Seconds
Delay before purge runs after server start Prevents race conditions during load
Loot Books System (Optional LootTable Books inject system)
"Loot Books": { "Enabled": false, ... } This system injects enchant books into loot containers.
Loot Injection Controls
"Max Container Capacity": 36, "Replace Random Item If Full": true Prevents loot overflow Allows replacement if container is full "Refresh Existing Containers On Load": true Refreshes already-spawned containers on server start Useful for long wipes Containers
"Containers": { "crate_normal": { "Chance": 0.05, "Min": 0, "Max": 1, "Pool": "default" } } Explanation:
Chance: Spawn probability (0.05 = 5%) Min / Max: Number of books spawned Pool: Which enchant pool to use Pools (Balance Control)
"Pools": { "default": { "Rarity Weights": { "Common": 60.0, "Uncommon": 30.0, "Rare": 9.0, "Epic": 1.0 }, "Min Level": 1, "Max Level (0 = enchant max)": 0 } } Pools control what kind of books drop.
Rarity Weights
Higher value = more common Percentages do not need to total 100 Min / Max Level
Controls enchant level range 0 = use the enchant’s configured max level 💡 This is your main anti-pay-to-win lever.
Recommended Defaults (Best Practice)
For monetized servers:
❌ Disable loot books ✅ Sell books via store ✅ Use Forge for progression For survival / grind servers:
✅ Enable loot books ✅ Low spawn chances (1–5%) ✅ Restrict high rarities to elite pools
EnchantWeapons.json config file explanation
This section explains the major sections of the EnchantWeapons configuration file and how it affects weapon balance, VIP tiers, book progression, and compatibility.
EnchantCore handles UI + storing enchants on items. EnchantWeapons defines what the enchants actually do and which weapons they apply to.
Global Settings
"Global Settings": { "Default Book Item": "documents", "Default Book Skin": 3653712312, "Max Enchants Per Item (Default)": 3, "VIP Max Enchants": { "enchantweapons.vip": 4, "enchantweapons.elite": 5 }, "Combine Success Rates": { "1": 100, "2": 85, "3": 65, "4": 40, "5": 25 }, "Electric Hit Effect": "...", "Electric Chain Effect": "...", "AOE Center Effect": "...", "AOE Target Effect": "" } Default Book Item
"Default Book Item": "documents" - The default Rust item used as enchant books. Most servers use documents because it’s common and visually “book-like”.
"Default Book Skin": 3653712312 - Skin ID applied to enchant books. This is important for consistency and presentation (store / kits).
"Max Enchants Per Item (Default)": 3 - Base maximum number of enchantments allowed on a weapon for players without VIP permissions.
"VIP Max Enchants": { "enchantweapons.vip": 4, "enchantweapons.elite": 5, "enchantweapons.customname": 10 } This is how you create VIP tiers safely.
If a player has enchantweapons.vip, they can have 4 enchants on a weapon If a player has enchantweapons.customname, they can have 10 enchants on a weapon
Combine Success Rates
"Combine Success Rates": { "1": 100, "2": 85, "3": 65, "4": 40, "5": 25 } Controls the success chance (%) when combining or upgrading books to produce the result level.
Example:
Level 3 result: 65% success chance Level 5 result: 25% success chance 💡 This is your main “progression speed” lever.
Lower rates = grind + scarcity. Higher rates = casual / fast progression.
Effect Prefabs (Visuals Only)
"Electric Hit Effect": "assets/...", "Electric Chain Effect": "assets/...", "AOE Center Effect": "assets/...", "AOE Target Effect": "" These define the visual effects used for specific enchant types.
Changing these does not change damage or mechanics — it only changes visuals. If AOE Target Effect is empty, no “target FX” will play.
Enchantments
"Enchantments": { "sharpness": { ... }, "lifesteal": { ... }, "critical": { ... } } This is the heart of the plugin.
Each enchantment is a dictionary entry:
Key = enchant ID (used in commands and internal logic) Example: sharpness Value = the enchant definition Enchantment Definition Fields
Example structure:
"sharpness": { "Name": "Sharpness", "Description": "Increases all damage dealt", "Max Level": 5, "Book Item": "documents", "Book Skin": 3653712312, "Permission": "", "Rarity": "Common", "Applies To": [ "all_weapons" ], "Conflicts With": [], "Target Types": [ "all" ], "Conditions": null, "Levels": [ ... ] } Name / Description
Display-only text shown in UI and info commands.
Max Level
Maximum level this enchantment can reach.
Also defines how far upgrades can go. Should match the number of entries you provide in Levels. ⚠️ Common mistake: setting Max Level to 5 but only defining 3 Levels.
Book Item / Book Skin
Overrides the global defaults for this enchant only.
Use this when you want:
Different book visuals by rarity Special store-only book appearances Permission (VIP/Store Lock)
If empty: anyone can use it. If set: players must have that permission to use/apply/upgrade that enchant. Example:
"Permission": "" "Permission": "enchantweapons.legendary" This is the cleanest way to create VIP-exclusive or store-tier enchantments without giving admin access.
Rarity
"Rarity": "Common" Used for:
UI rarity colors (from EnchantCore UI settings) Loot book weighting (if EnchantCore Loot Books is enabled) Rarity does not automatically balance anything — it’s a classification.
Applies To (Weapon Compatibility)
"Applies To": [ "ranged", "bows" ] Controls which weapons can receive the enchant.
Usually you reference categories from Weapon Categories:
melee ranged snipers shotguns bows launchers all_weapons
Conflicts With
"Conflicts With": [ "frost" ] Prevents incompatible enchants from being placed on the same weapon.
Example:
fire_aspect conflicts with frost This is critical for balance and prevents “stack abuse”.
Target Types
"Target Types": [ "living" ] Defines what the enchant can affect.
Common values:
all player animal scientist npc living building vehicle helicopter bradley deployable Example use:
Armor Piercing only targets player Looting only targets living entities
Conditions (Optional Extra Rules)
The Conditions block allows you to restrict when an enchant is allowed to activate.
All conditions are optional — if a condition is not set (or set to zero / empty), it is ignored.
Conditions are evaluated after TriggerChance succeeds. (check Levels for TriggerChance)
"Conditions": { "HeadshotOnly": false, "TargetHealthBelow": 0.30, "TargetHealthAbove": 0.0, "DistanceBelow": 0.0, "DistanceAbove": 0.0, "TimeOfDay": "" } You can use one, multiple, or none of these conditions together.
All enabled conditions must pass for the enchant to trigger.
Examples:
HeadshotOnly - The enchant will only trigger on headshots TargetHealthBelow - The enchant only triggers if the target’s current health percentage is below this value. (0.30 = target below 30% HP) TargetHealthAbove - The enchant only triggers if the target’s current health percentage is above this value. (0.50 = target above 50% HP) DistanceBelow - The enchant only triggers if the distance between attacker and target is below this value (in meters). DistanceAbove - The enchant only triggers if the attacker is farther than this distance from the target. TimeOfDay - Restricts the enchant to a specific time of day. ("day" , "night" ) Using TargetHealthBelow + TargetHealthAbove Together
You can combine both to define a health window.
"TargetHealthBelow": 0.60, "TargetHealthAbove": 0.30 Enchant only triggers when target is between 30% and 60% HP
DistanceBelow + DistanceAbove Together
You can define a distance band.
"DistanceAbove": 10.0, "DistanceBelow": 50.0 Enchant triggers only between 10m and 50m
Levels (How Enchant Power Is Defined)
The Levels section defines what an enchant does and how strong it is at each level.
"Levels": [ { "DamageMultiplier": 1.1 }, { "DamageMultiplier": 1.2 } ] How this works:
First entry = Level 1 Second entry = Level 2 And so on The number of entries must match Max Level ⚠️ IMPORTANT
If Max Level is 5, you must define 5 level entries.
How Level Effects Work
Each level is a list of effects Any effect you don’t define is ignored Any effect set to 0 is disabled Multiple effects can be combined in one level Effects only activate if: TriggerChance succeeds (if used) Conditions pass (if used)
Most Common Effects and Examples
Damage Bonus (Always On)
{ "DamageMultiplier": 1.20 } Increases all damage 1.20 = +20% damage Best for simple enchants Chance-Based Damage
{ "DamageMultiplier": 1.50, "TriggerChance": 0.25, "Cooldown": 2.0 } 25% chance to trigger Can’t trigger again for 2 seconds (per target) Prevents constant burst damage Critical Strike
{ "CritMultiplier": 1.75, "TriggerChance": 0.15, "Cooldown": 1.0 } Occasional high-damage hits Classic RPG “crit” behavior
Lifesteal
{ "Lifesteal": 0.10, "TriggerChance": 0.30, "Cooldown": 2.0 } Heals for 10% of damage Cooldown prevents infinite sustain Lifesteal With Cooldown and 2 Levels
"Levels": [ { "Lifesteal": 0.10, "TriggerChance": 0.30, "Cooldown": 2.0 // this is Level 1 }, { "Lifesteal": 0.15, "TriggerChance": 0.35, "Cooldown": 2.0 // this is Level 2 } ] DamageMultiplier
Increases all damage dealt. Example: 1.20 = +20% damage. FlatDamage
Adds a fixed amount of extra damage on hit. Useful for low-damage weapons. CritMultiplier
Deals extra damage when the enchant triggers. Usually used with TriggerChance. ArmorPierce
Deals extra damage that ignores armor. Example: 0.25 = 25% of damage bypasses armor. Lifesteal
Heals the attacker for a percentage of damage dealt. Example: 0.10 = heal for 10% of damage. FlatHeal
Heals a fixed amount on hit. Safer than lifesteal for PvP balance. RegenAmount
Applies slow healing over time. Good for sustain builds. HealFromDamageMultiplier
Turns damage into healing instead (no damage dealt). Example: 1.00 = heal for 100% of damage. BurnDamage
Sets the target on fire, dealing damage over time. Uses Duration if set. PoisonDamage
Applies poison damage instantly. Affects player metabolism or damage types. ColdDamage
Applies cold damage instantly. Useful for exposure-style effects. BleedDamage
Applies bleeding damage instantly. RadiationDamage
Applies radiation poisoning (players only). KnockbackForce
Pushes the target away from the attacker. Higher value = stronger push. NoSprintDuration
Prevents the target from sprinting for a short time. Strong control effect. Radius
Enables area-of-effect behavior. Applies effects to nearby targets. ElectricDamage
Deals electric shock damage on hit. ChainRadius
How far electric damage can jump to nearby targets. ChainMaxTargets
Total number of targets hit by chain lightning (including the first target). DurabilityBonus
Reduces weapon durability loss. Example: 2.0 = weapon loses durability twice as slowly. Mending
Repairs weapon condition on hit. AmmoSave
Chance to not consume ammo when firing. Any value above 0 enables it. LootBonus
Increases loot dropped from killed enemies. Stacks additively with other LootBonus effects. TriggerChance
Chance for the enchant to activate. Example: 0.25 = 25% chance. Cooldown
Minimum time (seconds) before the enchant can trigger again on the same target. Duration
How long time-based effects last (fire, some AOE effects). HydrationDrain
Drains water from the target player. CaloriesDrain
Drains food from the target player. WetnessAdd
Adds wetness to the target player. ComfortReduce
Reduces the target’s comfort level.
Weapon Categories
"Weapon Categories": { "melee": [ "salvaged.sword", "machete", ... ], "ranged": [ "rifle.ak", "pistol.python", ... ] } This section maps category names to Rust item shortnames.
Why it exists:
Makes configs clean and readable Lets you balance entire weapon groups easily Prevents copy/paste errors across enchants To add more weapons:
Add their shortname into the correct category Or create your own category and reference it from Applies To ⚠️ Common mistake: spelling shortnames wrong → enchant will never apply.
5. Commands Reference
Admin Chat Commands
Admin command prefix is configurable (default: /enchant). These commands are restricted to BasePlayer.IsAdmin (not permission-based).
/enchant (shows help) /enchant give /enchant apply /enchant remove /enchant list /enchant info /enchant inspect Console / RCON Commands
enchantcore.givebook <player> <enchant_id> <level> [amount] enchantcore.givetable <player> [amount] [skinId] 6. Permissions System
Core Permissions
enchantcore.forge — Allows players to use the Forge UI (must give this permission if you want to allow players to combine books or to place an enchantment to an item) VIP Enchant Limits
VIP enchant limits are configured in EnchantWeapons.json under "VIP Max Enchants". Example defaults:
No permission: 3 enchants per weapon enchantweapons.vip: 4 enchants per weapon enchantweapons.elite: 5 enchants per weapon Per-Enchant Permissions
Each enchant definition supports an optional Permission field.
If set, a player must have that permission to use/apply/combine/upgrade that enchant. This is the recommended method for VIP-exclusive or store-tier enchantments.
- #enchantment
- #enchantments
- (and 13 more)
