Jump to content
Featured framework
Carbon for modern Rust servers
Fast, self-updating, and built for performance with seamless in-game plugin and server management.
1,800+ servers powered by Carbon
Allows both PVE and PVP players to exist on a server at the same time. PVE players will have certain configurable protections and restrictions. You can have players use a command to flag themselves as PVP/PVE or you can assign it to them when they first spawn. If you have ZoneManager you can also designate specific zones to force player's to be PVE or PVP. Plugin is also compatible with SimpleStatus. Note: Video is outdated, see documentation for a full list of new features! Documentation: A full readme including permissions, commands, and config options is available in this wiki site. Disclaimer: Like all of my plugins - this plugin is sold as is. I will be happy to take feature requests into consideration but make no guarantees about which ones get implemented. Please refer to the feature list before you make your purchase! Developer API: API Methods // Returns the mode of the given entity. Also takes into account if the entity is in a forced mode zone. string GetEntityMode(BaseEntity entity); // Returns the group name for the given mode. For example if given 'pve' will return 'warmodepve' string GetModeGroup(string modeId); // Returns the target type for a given entity. Target types are the category that an entity falls into. // For example, if given a BasePlayer entity, it will return 'players'. If given a horse entity is will // return 'horses'. string GetEntityTargetType(BaseEntity entity); Hooks - place these in your plugin and WarMode will call them. // Called when a player's mode has been updated or config changes have ocurred that may affect the mode. private void WarMode_PlayerModeUpdated(string userid, string modeId) // Used to override WarMode logic for taking damage. // If true/false is returned then WarMode logic will be skipped. Return null to continue WarMode logic. private object CanEntityTakeDamage(BaseCombatEntity target, HitInfo info) // Used to override WarMode logic for targeting. // If true/false is returned then WarMode logic will be skipped. Return null to continue WarMode logic. private object CanEntityBeTargeted(BasePlayer target, BaseEntity attacker, bool skipVendingCheck) // Used to override WarMode logic for triggering a trap. // If true/false is returned then WarMode logic will be skipped. Return null to continue WarMode logic. private object CanEntityTrapTrigger(BaseTrap trap, BasePlayer basePlayer) // Used to override WarMode logic for looting an entity. // If true/false is returned then WarMode logic will be skipped. Return null to continue WarMode logic. private object CanEntityLoot(BasePlayer looter, BaseEntity target, bool skipVendingCheck) FREE Extension Plugins: All extension plugins are optional, and included in the downloadable zip that WarMode comes in.   War Mode Admin Panel Use the /warmode.config or /wmc command to open a panel that allows admins to update mode rules in game without having to reload the pluign. Requires the warmode.admin permission to use. I HIGHLY recommend you use this extension! War Mode Spawn UI Provides a UI that is shown to players when they first spawn that prompts them to choose whether they want to be PVP or PVE.   Also supports custom modes. Localization and config options available. This can also be configured to appear when players use the /flag command.   War Mode Rules UI Using the /rules command (which is configurable) players can see a list of what restrictions they have for their current mode. These ruling will update dynamically based on your config settings.   War Mode Badges Customizable UI elements that will appear on the player's HUD to indicate what their current mode is.  
4.8
$15.00
Rust / Server Plugins BoatControl Modular Boat ManagementRust Plugin Take the helm. Control the ship. Command the cannons. Bring navigation, cannons, lighting and boat management together in a clear interface at the helm. Manage sails and engines, upgrade performance, repair the boat and customize its setup with permission-controlled features. Helm controls Navigation, anchors and lighting Cannon crew Aim, reload and fire from the helm Boat progression Upgrades, repairs and customization 01 / Video demos See BoatControl in action Video demo Watch on YouTube Video Update 1.0.0 Watch on YouTube 02 / Helm & navigation One interface for the whole boat The control interface appears when a player with boatcontrol.use mounts a modular boat’s steering wheel. BoatControl helm control bar Raise or lower the sails and anchors. Start or stop the engines. Switch between forward and reverse navigation; engines and sails adjust accordingly. Use W and S to change direction when keyboard direction control is enabled. Hold R to open the boat’s radial menu when enabled, and release it to close the menu. Live boat information Display boat health, mass, power, power-to-mass ratio and speed in knots. Players can unlock and move the information window; its saved position is retained. Administrators can configure window colors, dimensions and placement, or disable the information window. Boat information and controls while steering 03 / Cannons & crew Coordinate your fire from the helm Reload cannons using cannon ammunition from the player’s inventory. A separate permission bypasses ammunition costs. Fire through the interface or left mouse click when enabled. Configure the firing cooldown, or bypass it through a permission. Aim cannons in configurable angle steps and select numbered crew groups to control which crew-operated cannons are targeted. Assign or remove NPC cannon crew through the interface. Configure crew names, health, outfits and skins, maximum crewed cannons, toggle cooldown and whether corpses are created. Configure whether cannons need a mounted operator before remote aiming and firing. Cannon control and crew interface boatcontrol.cannonuse controls access to BoatControl’s cannon interface. It does not disable manual, vanilla cannon use. Assign ammunition and cooldown bypasses carefully. 04 / Lighting Switch the boat’s lights together Toggle configured torches, lanterns, candle sets, jack-o’-lanterns and Chinese lanterns together from the boat controls. Configure supported item shortnames, the toggle cooldown and whether lights require fuel. Boat lighting controlled from the helm Optional fuel-free lighting applies to supported lights. It does not make boat engines operate without fuel. 05 / Boat editing Edit away from a fixed boat-building area Grant boatcontrol.edit to access boat editing from the controls. Configure a damage cooldown before editing and block editing inside safe zones when desired. Editing also requires a Boat Building Station item in the player inventory, a boat moving at no more than 2 m/s, and no other active station owned by that player. Boat editing through BoatControl Safe-zone restriction for boat editing Larger building stations Major update — new features in 1.2.0, with station resizing available from 1.2.3. Scale the boat-building station created by the edit option with Building Station Scale. This supports a larger construction area for custom boat builds. Expanded boat-building station For larger ships, adjust the game block-count limit separately if needed. Set a limit of 500 blocks with the following server variable: playerboat.maxblockcount 500 Safe-zone anchor protection Optionally prevent anchor activation inside safe zones. Anchor restriction inside safe zones Safe-zone anchor protection example 06 / Authorization See who can access the boat Open the list of authorized players from the helm. Grant the separate deleteauth permission to allow authorized users to revoke individual authorizations. Boat authorized-player list 07 / Sail configuration Upgrade thrust and customize sail size View all sails installed on the boat, including their health. Use configurable upgrade levels to change thrust. Starting with version 1.2.3, sail upgrades can also increase or decrease sail size according to your configured scale multiplier. Sail configuration and health Sail upgrade levels and costs Additional sail upgrade interface example Sails with different configured size multipliers Define the number of upgrade levels, display names and costs. Select resources, ServerRewards points or Economics money as the upgrade currency. 08 / Engine configuration Manage fuel, health and engine upgrades View installed engines with their health and current fuel. Refuel them from the player’s inventory through the refueling menu. Configure upgrade levels that improve engine power and reduce fuel consumption through an efficiency multiplier. Engine configuration and refueling Engine upgrade levels and costs Choose resources, ServerRewards points or Economics money for upgrade costs. Engine and sail upgrade levels are saved in the plugin’s data, and boatcontrol.upgrade.nocost can waive upgrade charges. Upgrades modify power and thrust, and the plugin adjusts boat drag for upgraded propulsion. Final speed still depends on the game’s boat physics; power multipliers do not guarantee an equal multiplier to maximum speed. 09 / Automatic repairs Repair using materials from the player’s inventory Configure repair costs per block/component and a cooldown after recent damage. Set repair frequency through permission profiles; a larger interval repairs more slowly. Repairs stop if new damage is received, the player runs out of materials or the player disconnects. Grant boatcontrol.repair.nocost to waive repair materials. Automatic boat repair system Boat health differs from ordinary building health. The repair system simulates repair points according to lost health, so the repair sound may come from a different point than the damaged component. 10 / Wallpaper & impact physics Customize the interior and naval combat BetterTC wallpapers With BetterTC 1.6.2 or later installed, BoatControl provides access to its automatic boat wallpaper placement interface. Grant boatcontrol.wallpaper to make this feature available. Automatic boat wallpaper placement through BetterTC Cannon impact physics Enable configurable force on boats hit by cannon damage. Adjust the impact force and enable diagnostic logging when needed. 11 / Permissions & access Choose what each player can control Permission Purpose boatcontrol.use Enable BoatControl when mounting the helm. boatcontrol.edit Access boat editing away from a fixed building area, subject to configured restrictions. boatcontrol.bypassAmmo Bypass cannon ammunition consumption. boatcontrol.bypasscannoncooldown Fire cannons without the configured cooldown. boatcontrol.cannonuse Access the cannon control interface; manual vanilla use remains available. boatcontrol.authlist View authorized players. boatcontrol.deleteauth Revoke individual boat authorizations. boatcontrol.sailconfig Open the sail configuration menu. boatcontrol.sailupgrade Upgrade sails using the configured levels. boatcontrol.engineconfig Open the engine configuration and refueling menus. boatcontrol.engineupgrade Upgrade engines using the configured levels. boatcontrol.upgrade.nocost Waive engine and sail upgrade costs. boatcontrol.wallpaper Access boat wallpapers through BetterTC 1.6.2 or later. boatcontrol.repair Access automatic boat repairs. boatcontrol.repair.nocost Repair without consuming materials. boatcontrol.vip Example profile in the repair-frequency configuration; configurable, not a boat speed-limit permission. Additional repair-frequency profile names are registered from the configuration. They adjust repair intervals, not the boat’s maximum speed. Normal use is through the CUI and keyboard controls; no chat command is required. The plugin also registers console actions used by its interface. Utility console action Purpose boatcontrol.resetuiposition Player console: reset your saved information-window position. boatcontrol.clearorphancrew Console: remove orphaned cannon crew. 12 / Requirements & configuration Configure the controls for your server Rust server using Oxide or Carbon. On Oxide, install ImageLibrary; Carbon uses its built-in Image Module. Install BetterTC 1.6.2 or later for automatic wallpapers. Install ServerRewards or Economics only when using their upgrade currencies. Optional Notify or UINotify integration supplies configured notifications; chat alerts are also configurable. Configure keyboard controls, cannon aiming and cooldowns, crew behavior, supported lights, impact physics, GUI, safe-zone restrictions, repairs, station scale and upgrade levels. The example below uses the supplied costs and profiles, with current keys and sail-scale options from BoatControl 1.2.5. It is an example, not a replacement for the configuration generated by your installed version. 13 / Configuration example Controls, costs and upgrade profiles { "Enable WASD Direction": true, "Enable Cannon Fire Key (Left Mouse Button)": true, "Cannon Aim Step (degrees per click)": 5.0, "Cannon Fire Cooldown": 5.0, "Cannon Crew": { "Enable": true, "Names": [ "Seaman", "Deckhand", "Bosun", "Gunner", "Quartermaster", "Navigator", "Sailor", "Crewman", "Mate", "Boatswain", "Cannoneer", "Buccaneer", "Mariner", "Sea Dog", "Old Salt" ], "Health": 100.0, "MaxCannons": 0, "Wear": { "burlap.shirt": 1380044819, "burlap.trousers": 1380047706, "burlap.shoes": 2215057317, "hat.boonie": 965553937 }, "RequireOperate": true, "ToggleCrewCooldown": 30.0, "NoCorpse": true }, "Lights": { "Light Toggle Cooldown": 1.0, "Require Fuel For Lights": false, "Light Items (shortnames)": [ "tunalight", "lantern", "torchholder", "largecandles", "smallcandles", "jackolantern.angry", "jackolantern.happy", "chineselantern", "chineselanternwhite" ] }, "Impact Force Physics": { "Enable Impact Physics": true, "Impact Force (default: 100, range: 50-500)": 100.0, "Enable Debug Logging": false }, "Alert Chat": true, "Alert Notify Plugin": false, "Notify: select what notification type to be used": { "error": 0, "info": 0 }, "Color Prefix Chat": "#f74d31", "GUI": { "GUI Windows Belt": { "BG Color Primary": "0.10 0.15 0.10 1", "BG Color Secundary": "0.2 0.30 0.2 0.80", "Button Active Color": "0.2 0.6 0.2 0.80", "Button Inactive Color": "0.2 0.30 0.2 0.80", "OffsetMin": "-200 15", "OffsetMax": "181 79", "AnchorMin": "0.5 0", "AnchorMax": "0.5 0" }, "GUI Windows Info": { "BG Color Primary": "0.10 0.10 0.10 0.8", "BG Color Secundary": "0.2 0.30 0.2 0.80", "Button Active Color": "0.2 0.6 0.2 0.80", "Button Inactive Color": "0.2 0.30 0.2 0.80", "OffsetMin": "-115 -100", "OffsetMax": "115 100", "AnchorMin": "0.902 0.8104", "AnchorMax": "0.902 0.8104" }, "GUI Windows Cannons Menu": { "BG Color Primary": "0.10 0.15 0.10 1", "BG Color Secundary": "0.2 0.30 0.2 0.80", "Button Active Color": "0.2 0.6 0.2 0.80", "Button Inactive Color": "0.2 0.30 0.2 0.80", "OffsetMin": "-140 85", "OffsetMax": "140 185", "AnchorMin": "0.5 0", "AnchorMax": "0.5 0" } }, "Show Info Window": true, "Boat Edit Damage Cooldown (seconds)": 30.0, "Block Anchor in Safe Zone": true, "Block Boat Edit in Safe Zone": true, "Config Version": "1.2.5", "Repair Cooldown After Recent Damage (seconds)": 30.0, "Cooldown Frequency Repair (larger number is slower)": { "boatcontrol.use": 2.0, "boatcontrol.vip": 1.0 }, "Repair Costs (ItemShortName: Amount per block/component)": { "lowgradefuel": 4, "wood": 75 }, "Engine Upgrades": { "Enable Engine Upgrades": true, "Upgrade Levels": [ { "Level": 1, "Display Name": "Tier 1", "Fuel Efficiency Multiplier (1.0 = normal, 0.5 = half fuel consumption)": 0.9, "Power Multiplier (1.0 = normal, 2.0 = double power)": 2.0, "Upgrade Cost": { "Resource Costs (ItemShortName: Amount)": { "scrap": 100, "lowgradefuel": 50 }, "ServerRewards Points": 0, "Economics Money": 0.0 } }, { "Level": 2, "Display Name": "Tier 2", "Fuel Efficiency Multiplier (1.0 = normal, 0.5 = half fuel consumption)": 0.8, "Power Multiplier (1.0 = normal, 2.0 = double power)": 4.0, "Upgrade Cost": { "Resource Costs (ItemShortName: Amount)": { "scrap": 250, "lowgradefuel": 100, "metal.fragments": 300 }, "ServerRewards Points": 0, "Economics Money": 0.0 } }, { "Level": 3, "Display Name": "Tier 3", "Fuel Efficiency Multiplier (1.0 = normal, 0.5 = half fuel consumption)": 0.65, "Power Multiplier (1.0 = normal, 2.0 = double power)": 8.0, "Upgrade Cost": { "Resource Costs (ItemShortName: Amount)": { "scrap": 500, "lowgradefuel": 200, "metal.fragments": 500, "metal.refined": 25 }, "ServerRewards Points": 0, "Economics Money": 0.0 } }, { "Level": 4, "Display Name": "Tier 4", "Fuel Efficiency Multiplier (1.0 = normal, 0.5 = half fuel consumption)": 0.65, "Power Multiplier (1.0 = normal, 2.0 = double power)": 16.0, "Upgrade Cost": { "Resource Costs (ItemShortName: Amount)": { "scrap": 1000, "lowgradefuel": 300, "metal.fragments": 1500, "metal.refined": 100 }, "ServerRewards Points": 0, "Economics Money": 0.0 } } ], "Currency Type (Resources, ServerRewards, Economics)": "Resources" }, "Sail Upgrades": { "Enable Sail Upgrades": true, "Upgrade Levels": [ { "Level": 1, "Display Name": "Tier 1", "Thrust Multiplier (1.0 = normal, 2.0 = double thrust)": 1.5, "Upgrade Cost": { "Resource Costs (ItemShortName: Amount)": { "scrap": 75, "cloth": 100 }, "ServerRewards Points": 10, "Economics Money": 0.0 }, "Scale Multiplier (1.0 = normal size, 1.5 = 50% bigger)": 1.2 }, { "Level": 2, "Display Name": "Tier 2", "Thrust Multiplier (1.0 = normal, 2.0 = double thrust)": 2.0, "Upgrade Cost": { "Resource Costs (ItemShortName: Amount)": { "scrap": 150, "cloth": 200, "leather": 50 }, "ServerRewards Points": 15, "Economics Money": 0.0 }, "Scale Multiplier (1.0 = normal size, 1.5 = 50% bigger)": 1.4 }, { "Level": 3, "Display Name": "Tier 3", "Thrust Multiplier (1.0 = normal, 2.0 = double thrust)": 2.5, "Upgrade Cost": { "Resource Costs (ItemShortName: Amount)": { "scrap": 300, "cloth": 300, "leather": 100, "metal.fragments": 200 }, "ServerRewards Points": 20, "Economics Money": 0.0 }, "Scale Multiplier (1.0 = normal size, 1.5 = 50% bigger)": 1.6 }, { "Level": 4, "Display Name": "Tier 4", "Thrust Multiplier (1.0 = normal, 2.0 = double thrust)": 3.0, "Upgrade Cost": { "Resource Costs (ItemShortName: Amount)": { "scrap": 600, "cloth": 500, "leather": 200, "metal.fragments": 500 }, "ServerRewards Points": 30, "Economics Money": 0.0 }, "Scale Multiplier (1.0 = normal size, 1.5 = 50% bigger)": 1.8 } ], "Currency Type (Resources, ServerRewards, Economics)": "ServerRewards" }, "Enable Boat Pie Menu Key (R)": true, "Building Station Scale (1.0 = normal, 2.0 = double size)": 1.0 } 14 / Current limitations Plan your boat setup around the game Engine efficiency is configurable; engines still require fuel. The plugin does not provide a supported increase to the maximum number of engines or sails. Larger construction stations are supported; the game’s separate block-count setting still applies. Final speed depends on boat physics and the installed game version. 15 / Try it & support Try the setup and share your ideas You can try the plugin on the RustSpain Staging test server when it is online. It is a test server, so availability is not guaranteed. connect staging.rustspain.com For questions, suggestions or assistance, contact ninco90 on Discord. Feature suggestions are also welcome in the product discussion.
5.0
$20.00
Give your server any sound you want. SoundLibrary is a server-side sound library for Rust: drop .ogg files into a folder and every sound becomes instantly playable — positioned in the world, attached to players or entities, looped, streamed through vanilla networking with zero client mod or workshop upload required. No client downloads, no upload to a workshop, no restart to pick up a new file. The plugin watches its sound folder live, caches everything in server FileStorage and streams it to clients through the game's own file-request pipeline — the exact pipeline official custom content rides on. Whether you want a raid alarm that shakes the whole map, a private voice line only one player hears, or ambient sound zones that ride along a moving object, you wire it up in one API call. A complete playback API (19 methods) turns audio into a building block for other plugins: events, NPCs, minigames, raid notifications, proximity ambience. SoundLibrary does the hard networking part; your plugins do the fun part. ⭐ Features No client mod, no workshop — sounds are cached in server FileStorage and streamed to clients on demand through the game's own file-request pipeline (vanilla sv_requestfile), exactly like official custom content. Everything your players hear comes from vanilla systems. Zero-install for players — a client missing the sound simply requests it; the server answers through the same channel as official files, with the same caching, so the transfer happens exactly once per player per sound. Drop-in sound loading — the plugin watches its data folder live: add, replace, rename or delete a .ogg and it loads or unloads within seconds. No restart, no plugin reload, no console commands to teach the server about new files. Single sounds & multi-part audio — a root .ogg file is one sound; a first-level subfolder of numbered files (1.ogg, 2.ogg, 3.ogg…) is one long sound whose segments chain seamlessly in numeric order. Watcher events arriving out of order are re-sorted, so a growing folder always plays as one continuous track. Positioned playback — play any sound at a world position for every connected player. One call, whole-server audio. Attached playback — parent a sound to a player, an entity, or a specific bone, so it follows its host wherever it goes. Entity playback is heard by that entity's network subscribers and not by the rest of the map — you get proximity-correct audio for free. Private playback — target a single player or connection: only they hear it. Ideal for personal voice lines, UI-style chimes or per-player cues without leaking to everyone else. Looping — any playback can loop endlessly, positioned or attached, private or worldwide. Perfect for ambience and background music. Sound zones — spawn an invisible trigger sphere at any position and radius; every player standing inside hears its sound, players leaving stop hearing it. Parent the zone to a moving object and its audio rides along frame-by-frame — roaming ambience, event perimeters, hazard areas, moving machines. A sourceOffset places the audio point anywhere inside the zone. Built for reuse — re-entering a zone reuses the same playback instead of stacking a second one; re-saving a file with identical content does not restart audio that is already playing. Idle emitters pool back per player, so repeated plays spawn no entity churn. Surgical stop control — stop by playback id (kills exactly one play invocation), by sound name (every instance, worldwide), by name-for-one-player, or wipe everything a player is currently hearing. Stopping by name works even after the file behind the sound was replaced or deleted. Playback ids — every Play returns an id; IsSoundPlaying queries whether it still produces sound, StopSound takes it down, and 0 means the play was rejected — so your plugin always knows what is on air. Hot-reload safe — a plugin reload re-reads the folder, unregistering every sound that vanished from disk so nothing ghosts on. Reloaded versions of the same file swap into the registry cleanly. Robust by design — locked file mid-write? The watcher debounces writes and retries against transient IO locks. Watcher event buffer overflow? A full rescan re-converges the registry with the folder automatically. Corrupt or non-ogg bytes? Rejected with a logged reason before they can reach memory. Long sounds handled — segments longer than ~36 s are clamped by rewriting the ogg granule position, so the client reports and ends the sound exactly on schedule. Longer audio simply lives in segment folders. Invisible by nature — playback rides a vanilla client entity scaled down to nothing; players never see the machinery, they just hear the sound. Built-in admin tooling — a live sound table (names, CRCs, per-segment durations), instant in-game test playback, and multi-form stop commands. Dev visualization — with the client's debug.sounds flag on, a developer standing in a sound zone sees its sphere and labels drawn in world space. Tune placement without guessing. 🛠️ How it works SoundLibrary is fully server-side, and nothing it does touches the game's server entity list: A cassette holds every loaded sound's .ogg bytes in server FileStorage under a fixed network id, so client-side caches stay warm across plugin reloads. On play, an invisible speaker is streamed to the target client as pure packets — it never enters the server entity list, so the game cannot save it, cull it or destroy it behind the plugin's back. The speaker plays the audio through vanilla phone-network RPCs (the answering-machine path), the exact wire format the game itself uses. Clients missing the bytes request them via sv_requestfile; the cassette answers with token-bucket rate limiting that mirrors vanilla's request queue and honors your server's filerequestbytespersecond, filerequestbytesburst and filerequestqueuelength settings. The result: custom audio that behaves like official content, on stock clients, with no mods, no downloads and no compatibility patches. 🔌 API for developers SoundLibrary is built ecosystem-first. Call it from any other plugin through Plugin.Call, or reference it directly for the full typed surface: Playback — PlaySoundAt(name, position, loop = false) — world-positioned playback for every connected player PlaySoundFor(name, player, boneId = 0, loop = false) — attached to a player, heard only by that player PlaySoundFor(name, entity, boneId = 0, loop = false) — attached to an entity, heard by its network subscribers PlaySoundForSubscribers(name, entity, boneId, loop) — explicit subscriber playback for Plugin.Call callers PlaySoundFor(name, connection, loop = false) — targeted at one network connection Stop — StopSound(playbackId) — kill one exact play invocation and all of its emitters StopSound(name) — stop every playing instance of the sound, worldwide StopSound(name, player) / StopSound(name, connection) — stop that sound for one listener only StopSound(player) / StopSound(connection) — stop everything that listener currently hears Inspect — IsSoundLoaded(name), GetLoadedSoundNames(), GetSoundDuration(name) (total across segments), GetSoundPath(name) (disk path of the first segment) Sound zones — CreateSphere(position, radius = 5, soundName = null, loop = false, sourceOffset = default) spawns a trigger sphere and returns its GameObject for whatever your plugin does next: parent it to a moving entity, attach it to a base room, park it at an event spawn. Pass a null sound name to create a silent zone you fill in later; null parent leaves the zone standalone. Runtime loading — LoadSound(filePath) and UnloadSound(name) load or retire sounds without touching the folder. Paths outside the sound folder or beyond the first nesting level are rejected rather than half-loaded; unloading also stops any live playback of that sound. Playback ids: every play method returns a nonzero id on success and 0 on rejection (unknown sound, dead parent, no connection). Keep the id to IsSoundPlaying(id) a specific invocation or StopSound(id) it down surgically — even while the same sound plays several times for several players. For in-process plugins the typed surface goes deeper: SoundManager.CreateSound() opens a builder — WithPosition / WithParent(entity, bone) / WithLoop / For / ForPlayer / ForAllPlayers / ForSubscribersOf — finished with Play. Every internal detail is handled for you: dead parents abort cleanly instead of spawning orphaned audio, emitters pool per connection across plays, disconnected players free everything their playback held, and SoundData exposes name, path, CRC, byte count and duration of every segment for plugins that want to reason about audio, not just play it. ⚡ Performance Throttled loading — the watcher loads at most 5 files per tick and hands off work from its background threads through a single main-thread drain, so a bulk drop of 400 fresh .ogg files cannot hitch the server frame. Vanilla-shaped transfers — per-connection request budgets refill exactly like the game's own file-request queue, a full queue drops requests like vanilla does, and one connection's backlog can never starve another player's transfers. Memory that cleans up after itself — FileStorage entries are removed when the last sound using them unloads; identical files deliberately share one entry; disconnecting players detach their emitters and free their queues immediately. Pooled emitters — each player keeps a slot of idle emitters reused across playbacks, so repeated SFX never pile up network entities on their client. ⚙️ Configuration — there is none Say goodbye to config files. The folder is the configuration: 📁 data/SoundLibrary/YourSound.ogg → a sound named YourSound 📁 data/SoundLibrary/YourSong/1.ogg, 2.ogg, 3.ogg, … → a sound named YourSong, played as one ordered multi-part track. Segment files must be plain numbers; any other name is skipped with a logged reason. That's the whole setup. No config JSON, no data file, no in-game editor to break, and nothing to migrate between versions. The folder lives in your server's data directory (carbon/data/SoundLibrary on Carbon). 📄 Commands snd.print — print a table of every loaded sound: name, CRCs, per-segment durations snd.play <sound> [player] — test-play a sound, attached to the given player (or the caller), and report the playback id snd.stop — stop everything the calling player hears snd.stop <name> — stop every instance of the named sound snd.stop <name> <player> — stop that sound for one player snd.stop <id> — stop playback #id (the number returned earlier by the play API) The id form disambiguates itself: a live sound whose name happens to look numeric always wins over a playback id, so admin stops never misfire on oddly named audio. 🔑 Permissions soundlibrary.admin — access to all snd.* console commands. Grant to admins only; regular players have no sound visibility or control. ❓ FAQ How hard is setup? Put a .ogg in the folder and it is playable the same second. One permission covers the admin commands. If you can copy a file, you have deployed audio. Do my players need to install anything? No. Sounds transfer over vanilla networking on demand; the client caches them like any official custom content. Players who already have the sound cached skip the transfer entirely. How long can a sound be? Any. Can sounds move with objects? Yes, twice over: parent playback to any entity (down to a bone) through the API, or parent a sound zone to a moving object and the zone carries its audio with it frame-by-frame. The zone does not care whether its parent is an entity or a plain GameObject. Will it lag my server? Loading is bounded per tick, playback rides pooled per-player emitters, transfers honor your existing vanilla request-rate settings, and nothing enters the server entity list. One huge folder loads at server pace, not at once. What happens on a plugin reload? The registry is rebuilt from the folder: sounds still on disk reload, sounds removed from disk vanish instead of playing as ghosts, clients with cached audio are not re-transferred, and live playback is stopped rather than left running on replaced audio. Can several plugins play the same sound at once? Yes — every play is an independent playback with its own id, its own target list and its own lifecycle. One plugin stopping its playback never touches another's. 🚀 Quick Start Make sure ServerPrefabs is loaded (SoundLibrary requires it). Drop a .ogg file into data/SoundLibrary — it is loaded and playable this second. Grant yourself soundlibrary.admin and run snd.play YourSound to hear it, then snd.print to confirm the registry. Wire it into your plugins: PlaySoundAt("YourSound", position) — that's the whole integration. Update audio any time by replacing files in the folder; the watcher picks up the change while the server keeps running. 💡 What servers build with it Event and raid drama — a map-wide klaxon the moment a raid event opens, with looping ambient score until it closes. Private cues — a chime only the rewarded player hears; voice lines only the quest owner hears. Living map ambience — looping shore, cave or machine sound zones parented to terrain features or moving objects. Minigame and event soundtracks — multi-part tracks long enough for real music, chained from segment folders. Plugin ecosystems — a sound layer your other plugins share, instead of every plugin reinventing audio. ⚠️ Compatibility notes Requires the ServerPrefabs library plugin. Input format is .ogg (Vorbis) only — other formats and corrupt files are rejected with a logged reason. Sounds are heard on stock clients; nothing in this plugin asks a player to install mods, files or packs. Sound zones react to human players; NPCs are deliberately ignored, so NPC crowds never trigger zone audio. Support Discord: https://discord.gg/8nztXhvgDe — bug reports and API questions welcome. Author: 0xF.
5.0
Corrupted Drone Boss Event A giant Corrupted Drone boss that hunts players at your monuments. It thinks, dodges, shields itself and fights in phases. Kill it for crash-site loot, a damage leaderboard and rank rewards. Drop it in and it works: five monuments come ready with flight paths, and the drone shows up as a timed server event. Every monument gets its own profile, so you can run an easy guard at Junkyard and a nightmare at Launch Site on the same server. Features Smart AI. Picks its target by threat and hunts players who hide behind cover. Attacks that change in phases. Machine gun, cannon shells, napalm, homing rockets, artillery barrages and mine drops. Shield phase. Destroy the power cells to break the shield and stun the drone. Flares. Counters homing launcher missiles, so teamwork beats it. Homing launcher support. The vanilla homing launcher locks on to the drone like a helicopter. Event mode. "A Corrupted Drone has been spotted at Airfield!" It stays for a limited time, then leaves. Four respawn types. Timer, plugin load, daily schedule or event, set per monument. Damage leaderboard and rank rewards. Items, Economics, ServerRewards and commands for the top players. Crate lock. The top damage dealer's team gets the loot first. Loot your way. Built-in loot, Loottable, AlphaLoot or CustomLoot, set per monument. Health bar. Shows SHIELDED and STUNNED states. Map markers. Show health %, a respawn countdown, "Arriving in…" and "Leaves in…". Waypoint editor in-game. Draw any number of waypoints. The combat zone is calculated for you. Multi-language. Every player gets messages in their own language. Performance friendly. The drone sleeps (no AI, no physics) while no player is near. How a fight plays out The drone patrols its waypoints. When players come close it wakes up, picks a target and starts fighting. It uses its machine gun all the time, plus one special attack at a time, chosen from the current phase's list. Phase Health Default special attacks Behaviour Phase 1 100% – 70% Cannon shells, Mine drop Goes after the closest player Shield at 50% — Immune until the power cells are destroyed Phase 2 70% – 35% Cannon, Napalm, Artillery Flares on, hunts launcher users Phase 3 below 35% Napalm, Homing, Artillery, Mines Faster attacks, hunts the top damage dealer Everything in this table can be changed per monument. Special attacks Attack What players see Cannon shells Bursts of Bradley main-cannon shells at the target Napalm rockets Fire rockets that set the ground on fire Homing rockets Rockets that climb, then dive onto players Artillery barrage Smoke and a beep mark each player's spot. "INCOMING BARRAGE, MOVE!" Rockets rain down 3 seconds later. They land where players were, so moving saves you. Mine drop Landmines scattered under the drone. They arm after a moment and disappear after 60 seconds. They can't be looted. Smart AI Threat targeting. Each phase weights recent damage, holding a launcher, distance, low health and a random factor. The drone hunts whoever matters most. Line of sight. Hide behind a wall and the drone moves to a spot inside its zone that can see you again. Flares. When a homing missile gets close, the drone can fire flares, and the missile goes for the flares instead. Charges recharge over time, so a second missile right after the first gets through. Shield phase At 50% health the drone becomes SHIELDED. Hits bounce off, and power cells spawn around the monument. They show on the map and give off sparks. Destroy them all and the shield breaks. The drone is then STUNNED for a few seconds and takes bonus damage. If nobody destroys the cells in time, the drone repairs itself. When it dies The drone spins out and crashes. Its burning crates scatter around the crash site. Kill announcement in chat. Damage leaderboard showing the top players and their % of the damage. Rank rewards for the top damage dealers. Crate lock. The crates belong to the top damage dealer and their team for a few minutes. Respawn types Set per monument profile. Type Name How it spawns 0 Timer Respawns a random time (min – max) after it dies 1 Plugin load Spawns once when the plugin loads, never respawns 2 Schedule Spawns at set server times, e.g. 18:00 and 22:00 3 Event Only spawns through the drone event (default) Also per monument: Minimum online players. A due boss waits until enough players are online. Flies away when nobody comes. An idle boss leaves and frees its slot. The main config also caps how many bosses can be alive at the same time. Event mode Every 1–2 hours (configurable), the plugin picks a random event monument: Warning: "A Corrupted Drone has been spotted heading to Power Plant! It arrives in 1 min." Arrival: it stays for 30 minutes, with reminders in chat and a "leaves in…" countdown on the map. End: it's killed, or it leaves. If players are still shooting it when time runs out, it stays a bit longer. Then the timer for the next event starts. Default monuments These come with flight paths ready to go. They all use the Event respawn type, so you decide which ones use other types. ☑ Launch Site ☑ Junkyard ☑ Airfield ☑ Power Plant ☑ Water Treatment Plant Add any other monument with /drone addmonument. Waypoints are saved relative to the monument, so a path works on every map that has it. You can also use RustEdit map markers or any custom position. Note Any number of waypoints. The drone patrols your waypoints in order. Its combat zone is the outline around all of them, worked out for you, and it strafes, chases and drops mines inside that zone. See it all while editing. The waypoints show in green and the combat zone in yellow. The event area is a blue sphere and the attack radius a red one. Change those two radiuses live with /drone eventradius and /drone attackradius. Rewards and loot Rank rewards (per monument) Each rank (1st, 2nd, 3rd…) can give any mix of: Items (with skin, custom name, blueprint and chance) Economics money ServerRewards points Console commands with {steamid} and {name} Players below a minimum damage share get nothing, so one bullet doesn't count. Players who were dead when rewards went out get their items when they respawn. Crash crate loot (per monument) Loot type Value Source Default 0 The crate's vanilla loot (or your loot plugin's normal crate loot) Own 1 The plugin's own item list Loottable 2 A Loottable custom preset AlphaLoot 3 An AlphaLoot loot profile CustomLoot 4 A CustomLoot preset You also set the crate prefab, how many crates, fire around the crates, locking crates with fire, and how long until the crates disappear. Commands All commands need the DroneBossEvent.admin permission (or admin). If you leave out [name], the nearest location is used. Waypoint editing Command Description /drone edit [name] Select a location and show its waypoints and combat zone /drone addwp Add a waypoint where you are (fly at the height the drone should patrol) /drone removewp Remove the waypoint nearest to you /drone stopedit Stop editing and respawn the boss on the new path /drone eventradius <meters> Set the event area of the location you're editing (shown as a blue sphere) /drone attackradius <meters> Set the attack radius of the location you're editing (shown as a red sphere) Locations Command Description /drone add <name> Create a custom location at your position /drone addmonument Create a location for the monument nearest to you /drone remove <name> Delete a location /drone enable <name> / /drone disable <name> Turn a location on or off /drone tp <name> Teleport to a location Bosses and events Command Description /drone spawn [name] Spawn the boss now (starts an event at Event locations) /drone kill [name] Remove the boss without loot and start its respawn timer /drone status All bosses, health, respawn timers and the event state /drone event start [name] Start an event now (random monuments, or the one you name) /drone event stop End the running event and schedule the next one /drone event status Time until the next event /drone reload Reload the plugin Server console: drone status, drone spawn <name>, drone kill <name>, drone event start [name], drone event stop, drone reload. Installation Upload DroneBossEvent.cs to oxide/plugins. The plugin creates oxide/config/DroneBossEvent.json and the five default monuments in oxide/data/DroneBossEvent/Locations/. Grant yourself the admin permission: oxide.grant user YourName DroneBossEvent.admin Test it right away with /drone event start. Warning Updating from an older version? Delete oxide/config/DroneBossEvent.json once so the full config is created again. Configuration Each profile also holds the waypoints, every weapon's stats, the artillery, mine and flare settings, target weights per phase, the stun time and bonus damage, rank rewards and the full loot list. Optional plugins Plugin Used for Economics Money rewards ServerRewards Point rewards Loottable Crate loot type 2 AlphaLoot Crate loot type 3 CustomLoot Crate loot type 4 TruePVE / SimplePVE Players can always damage the boss, even on PVE servers For developers // Hooks void OnCorruptedDroneSpawned(Drone drone, string location) void OnCorruptedDroneKilled(string location, Vector3 crashPosition, BasePlayer killer) void OnCorruptedDronePlayerTarget(Drone drone, BasePlayer target) void OnCorruptedDroneLeft(string location) void OnCorruptedDroneEventStarted(Drone drone, string location) void OnCorruptedDroneEventEnded() void OnCorruptedDroneShieldUp(Drone drone, string location) void OnCorruptedDroneShieldBroken(Drone drone, string location) void OnCorruptedDroneFlares(Drone drone) // API bool IsCorruptedDrone(Drone drone) string GetCorruptedDroneLocation(Drone drone) Support Found a bug or have an idea? Open a support ticket on this page. Please include your config and a description of what happened.  
5.0
Procedural Dungeons for Rust Give your players somewhere new to take their best gear. When a portal opens, players step through into a newly generated dungeon. Inside they fight NPCs, bosses, animals and auto turrets, then collect whatever loot you’ve set up. Dungeon Events adds repeatable PvE to your Rust server. The plugin generates every layout, and a dungeon can start automatically or when a player buys one. Six difficulty presets come included for building your server’s dungeon progression, and you can customize the encounters and rewards. Players can take a dungeon on alone or bring their allies. 6 difficulty presets · 14 construction options · Classic stone dungeons · Private purchases · Custom loot · Optional economy and XP rewards Watch Dungeon Events in action Fresh layouts. Familiar controls. Every newly spawned dungeon gets a procedurally generated layout. Rooms and corridors are built by the plugin, giving players new spaces to explore while you control the difficulty, size and rewards. You do not need to build dungeon layouts or supply CopyPaste files. Choose your settings and let Dungeon Events generate the environment. Choose from 14 construction options: Wood, Legacy, Gingerbread, Stone, Adobe, Brick, Brutalist, Metal, Container, Armored, Jungle, Crypt, Space and Classic. Customize supported container colors, garage door skins, lighting and dungeon time of day to give different tiers their own identity. Classic dungeons included Turn a run into a torchlit expedition through stone chambers and branching corridors. Classic mode uses a separate layout generator, with stone floors, walls and roofs, and open passages without garage doors. Let players choose their next challenge Players can open /buydungeon, choose an available tier and pay with your configured currency. Enable ownership locking to reserve the dungeon for its owner and permitted allies. Play solo or bring a team. Allow Rust teammates and, with the optional Friends plugin, friends to join. Give currency a purpose. Charge Scrap, another item, an item with a specific skin, Economics balance or ServerRewards points. Set the pace. Configure prices, purchase cooldowns and active dungeon limits for each tier. Control access. Use tier permissions and delays after a wipe to decide when harder content becomes available. Prices and availability are configurable. The screenshot shows an example setup. From Easy to Impossible, you set the difficulty Start with Easy, Normal, Medium, Hard, Nightmare and Impossible, then adjust each tier for your community. Encounter What you control NPCs Count, names, health, damage, clothing, weapons and weapon attachments Boss NPCs Separate combat settings, equipment and loot tables Animals Species, spawn weights, health, damage, movement and sensing settings Auto turrets Count, health and weapon Dungeon layout Construction style, room settings and lighting Mix armed defenders with threats such as wolves, bears, tigers, panthers and crocodiles. Enable the species you want and build an encounter that fits each tier. An in-game event HUD shows the timer and remaining enemies, containers and turrets. Defeat the enemies and destroy the remaining loot containers and turrets to complete the dungeon. Make the rewards fit your server Give each difficulty its own reason to be played. Configure separate loot tables for regular NPCs, bosses and loot containers, with item chances, amount ranges, skins, custom names and item text. Use the included default loot table to get started, then tune the rewards around your server's economy. Optional integrations add more ways to reward a successful run: Economics and ServerRewards: configurable currency or point rewards for defeating enemies, destroying turrets and loot boxes, and completing the dungeon. SkillTree: dungeon completion XP, with options to split the reward between eligible players or give each eligible player the full amount. Keep events running on your terms Enable automatic spawning for recurring content, let players purchase their own runs, or create events through admin commands. Choose portal placement: automatic location searches or separate custom portal locations for automatic events and purchases. Manage the map: configurable marker names, colors, visibility and spawn announcements. Protect access: optional first-player ownership, ally access and portal protection rules for combat, building, deployables and vehicles. Control the event lifecycle: unentered and active lifetimes, cleanup conditions and removal delays. Shape the experience: dungeon height settings for terrain, elevated or underground placement; command restrictions; and an option to reset NPCs and animals when the last player leaves or dies. Tune server workload: adjustable batches for building, entity spawning, cleanup and location searches, plus global and per-tier event limits. Before you buy Does the basic dungeon system require other plugins? No. Dungeon generation, NPCs, the purchase menu and item-based payments are built in. CopyPaste and NpcSpawn are not required. Install optional integrations only for the features you want to use. Can I use it for solo players and groups? Yes. Configure encounter difficulty for your players and enable the teammate or friend access options you want. Friend access requires Friends; Rust team access is built in. Can I offer automatic events and private purchases together? Yes. They have separate enable settings and limits. Keep ownership locking enabled when you want access reserved to owners and permitted allies. Does returning through a portal generate another layout? No. Layouts are generated when a new dungeon spawns. Returning to an existing active dungeon takes players back to that dungeon. Are translations included? Default messages are included in English, Brazilian Portuguese, German, Spanish and Russian. Setup and reference Getting started on Oxide Player commands and permissions Admin commands Loot files and optional integrations Developer hooks Add a dungeon adventure to your server's routine. Let players choose their challenge, put their gear to work and earn rewards worth preparing for.
4.8
$14.99
TC Upgrades Manage your whole base from the Tool Cupboard. Upgrade every block, repair the base, change building skins, put up wallpapers, skin every door and manage who's authorized. It all runs from buttons right on the TC, with costs shown before you pay. No more running around with a hammer for 20 minutes. Open the cupboard, click once, done. Warning Requires ImageLibrary. TC Upgrades unloads itself if ImageLibrary isn't installed. Video Showcase Features ⬆️ Upgrade Upgrade the whole base to Wood, Stone, Metal or HQM in one click. Paid from the TC. Resources come from the cupboard's inventory. You see the full cost before starting. Remembers your skin. With auto-upgrade on, hammer upgrades automatically use the building skin you picked in the TC. 🔧 Repair Repair by material. Wood, Stone, Metal, HQM, or all deployables (doors, boxes, turrets…). Cost shown up front for each repair. Fair. Blocks damaged in the last 30 seconds can't be repaired, the same as in vanilla. 🎨 Skins Building skins. Reskin every block in the base at once, including the newest skins (Crypt stone, Jungle and more). Metal gets random colours. Tool Cupboard skins. Change the look of the TC itself. External wall and gate skins. Legacy wood and adobe high walls and gates. Door skins. Pick a skin once and it goes on every matching door in the building: wood, metal, armored (single and double) and garage doors. 🖼️ Wallpapers Walls, floors and ceilings. Both sides at once (permission). Wallpaper the inside and outside of a wall in one go. Custom wallpapers. Add any Workshop wallpaper ID in the config. A big set comes ready. Costs cloth, shown before you apply it. 👥 Auth list See everyone authorized on the cupboard. Remove players with one click (optionally owner only). ⚙️ For server owners Multi-TC support. Bases with several cupboards work correctly. Permission for every feature, grade and skin type. Sell them as VIP perks. VIP speed and discounts. Each permission can get a faster process and lower costs. Free-use permissions for upgrades, repairs, reskins and wallpapers. DLC respected. Players only see the DLC skins and wallpapers they own (with PlayerDLCAPI support for newer packs). Raid and combat block. NoEscape and BetterNoEscape support. Cancel anytime. A cancel button stops a running process. Effects and sides toggles on the TC. Move the buttons in game with /tcuadmin. No guessing offsets in the config. Notifications by chat, GameTip, Toastify or Notify. Every UI text is in the lang file. How it works Open your Tool Cupboard. New buttons appear: AUTHS · UPGRADE · REPAIR · SKIN · WALLPAPER. Pick what you want, for example UPGRADE → Stone. Check the required materials, then confirm. The base updates block by block, paid from the TC. Press CANCEL at any time to stop. Tip Players only see the buttons they have permission for, so you can give everyone Repair and keep Skins and Wallpapers for VIPs. Permissions Feature buttons Permission Shows tcupgrades.authlist AUTHS button (authorization list) tcupgrades.upgrade UPGRADE button tcupgrades.repair REPAIR button tcupgrades.skin SKIN button tcupgrades.wallpaper WALLPAPER button Grades Permission Allows tcupgrades.default All of the below at once (Wood, Stone, Metal, HQM and deployables) tcupgrades.wood Wood tcupgrades.stone Stone tcupgrades.metal Metal tcupgrades.hqm High Quality Metal tcupgrades.deploy Repairing deployables Skins and wallpapers Permission Allows tcupgrades.tcskin Tool Cupboard skins tcupgrades.wallandgates External high wall and gate skins tcupgrades.doorskins Door skins tcupgrades.wallpaper_bothsides Wallpapering both sides of a wall at once Free use Permission No resources needed for tcupgrades.upgrade.nocost Upgrading tcupgrades.repair.nocost Repairing tcupgrades.reskin.nocost Reskinning tcupgrades.wallpaper.nocost Wallpapers VIP and admin Permission Allows tcupgrades.vip / tcupgrades.mvp Faster processing and cheaper costs (set in the config, and you can add your own) tcupgrades.admin /tcuadmin button editor and /tcaddskin Note "Give default permission to all default user on Load" is on by default. On every load it gives the default group every button, every grade, and Tool Cupboard, wall and door skins. That's great for a quick start, but turn it off before setting up your own permissions, or permissions you revoke come back on the next reload. Commands Command Permission Description /tcuadmin tcupgrades.admin Turn the button editor on or off. Open a TC to move the buttons, and positions save to the config /tcaddskin <door shortname> <skin id> tcupgrades.admin Add a Workshop skin to a door type's list, for example /tcaddskin door.hinged.metal 3741220976 VIP speed and discounts Every feature (upgrade, skin, wallpaper, repair) has its own speed and cost settings: Setting Default Example VIP Example MVP Seconds per block 1.5 1.0 0.5 Cost modifier 1.0 (full price) 0.5 (half price) 0.2 (80% off) A cost modifier of 1.5 means 50% more expensive. Add as many permission tiers as you like. Each one is registered automatically. Hosting partner Installation Install ImageLibrary. Upload TCUpgrades.cs to oxide/plugins. Choose how to hand out permissions: Quick start: leave "Give default permission…" on, and everyone gets every feature. Custom: turn that option off, reload, and grant per group, for example: oxide.grant group default tcupgrades.repair oxide.grant group default tcupgrades.default oxide.grant group vip tcupgrades.skin oxide.grant group vip tcupgrades.wallpaper Open a Tool Cupboard. The new buttons are on the TC screen. (Optional) Type /tcuadmin to move the buttons where you like. Warning Keep "USE DLC SKINS AND WALLPAPERS" set to false on live servers. With it true, every DLC skin is unlocked for everyone, which is only meant for testing. Configuration Key settings explained Setting What it does USE DLC SKINS AND WALLPAPERS true unlocks all DLC for everyone (testing only). Keep false live Only owner can use features of TC Only the TC's owner can use the buttons, not everyone authorized Use Automatic Upgrades on build Hammer upgrades use the skin each player picked in the TC Give default permission… On every load, gives the default group every feature button, grade and skin type. Turn it off to manage permissions yourself Only owner can see the Remove BTN? Only the owner can remove players from the auth list Custom … wallpapers Workshop wallpaper IDs offered in the wallpaper menu (0 = no wallpaper) Custom Door Skins Workshop skin IDs per door type (or add them in game with /tcaddskin) Plugins Plugin Required? Used for ImageLibrary Yes Icons and skin previews in the UI PlayerDLCAPI Optional DLC ownership checks for newer skin and wallpaper packs NoEscape / BetterNoEscape Optional Blocks the features during raid block or combat block Toastify / Notify Optional Pop-up notifications instead of chat FAQ Where do the resources come from? From the Tool Cupboard's inventory. The cost is shown before you start. If the TC doesn't have enough, nothing happens. Can players use DLC skins they don't own? No. Players only see DLC skins and wallpapers they own. "USE DLC SKINS AND WALLPAPERS" unlocks everything, so only turn it on for testing. How do I add my own wallpapers? Add the Workshop wallpaper IDs to Custom Wall wallpapers, Custom Floor wallpapers or Custom Ceiling wallpapers in the config, then reload. How do I add more door skins? Use /tcaddskin <door shortname> <skin id> in game, or add the IDs under Custom Door Skins in the config. Why can't some blocks be repaired? Blocks damaged in the last 30 seconds can't be repaired, the same as in vanilla. Wait a moment and try again. Can I stop an upgrade halfway? Yes. Press CANCEL on the TC. The buttons overlap another plugin's UI. Type /tcuadmin, open a TC and move the buttons. Their positions save to the config. Can raided players use it to repair mid-raid? Not if you use NoEscape or BetterNoEscape. The features are blocked during raid or combat block. Does it work with several TCs in one base? Yes. Multi-TC bases are supported. Support Need help or found a bug? Open a support ticket on this page. Check out my other plugins
4.8
$25.00
Explore Enclave a 4000 sized landmass custom peninsula connected by bridges and railways system both above and below ground build on offshore custom islands or in the trees in vast forests of the map all while exploring the custom monuments along with procedurally rust generated ones!    
0.0
Launch your server in 5 minutes. A fully detailed 4500 map with perfect FPS, ready-made BetterNPC configs, and dozens of custom build spots. Perfect for your next wipe. FEATURES Save Setup Time: The BetterNPC config is already done for you. Bots are placed at all points of interest. Just upload and play. Smooth Gameplay (High FPS): Monuments are spread out evenly to reduce lag for your players. Great for Builders: Over 35% of the land is buildable; You get custom build zones marked with "X" on the map, plus secret spots in the subway marked with "XU". Water & Boats: Custom trawlers and bridges designed so tugboats and boats can pass easily. Perfect for Farmers: Many spots with fresh water and working rivers inside the island for easy farming. MAP DETAILS Size: 4500 Prefabs: ~54,000 Custom Monuments: Oil Refinery, Heli Towers, Construction Site, Crash Site, Custom Trawlers, Underwater Caves, and more. Vanilla Monuments: All standard monuments included (Launch Site, Military Tunnels, Airfield, etc.). My Discord: shemov Discord Server: https://discord.gg/UpUXuxs4Vx A password is attached to the map.  You can edit it.  
5.0
$30.00
Rust / Server Plugins BetterTC Tool Cupboard ManagementRust Plugin Upgrade. Repair. Reskin. Make your base your own. Bring your most-used Tool Cupboard features together in one interface inspired by Rust’s item store. Automate building upgrades and repairs, manage authorizations, and personalize buildings, external walls, wallpapers and your TC. Automated upkeep tasks Upgrade and repair with TC resources Personalized buildings Skins, wallpapers and external walls Permission profiles Configure access, speed and costs 01 / Video demo See BetterTC in action Take a look at BetterTC’s interface and building management features. Watch on YouTube 02 / Skin ownership Compatibility with Facepunch’s server policy Facepunch’s policy prohibits granting paid skins or DLC to players who do not legitimately own them. BetterTC includes ownership validation for building skins, TC skins and wallpapers. Building skins: all available choices remain visible, but players can only apply skins they own or skins that are free. Wallpapers: only free, custom and owned wallpapers are visible. More custom wallpapers are planned. TC skins: only owned skins are visible and selectable. Read Facepunch’s official server policy Ownership checks are enabled with the following bypass option set to false: "Bypass DLC ownership check (⚠ only allowed on creative/test servers per Facepunch rules)": false ⚠ Very important Keep the bypass disabled on ordinary public PvP and PvE servers. Facepunch only permits temporary exceptions on servers specifically set up to test game mechanics, for testing purposes. A creative or training label alone is not an exemption. Misuse may result in delisting or other sanctions. 03 / Building management Let the TC do the work Automatic upgrades Upgrade building grades using resources directly from the TC. Select the default appearance or an eligible building skin, and use the information button to estimate the materials required. Configure upgrade speed and costs through permission profiles. Automatic repairs Repair the building and supported deployables, including doors, trapdoors, windows and boxes, with resources from the TC. Configure a cooldown after recent damage to help prevent repair abuse during raids. Automatic reskinning Change a building’s appearance without manually replacing each piece. Players can switch from a skinned grade back to its default appearance when they prefer. The Container skin’s multicolor selection can also be disabled to reduce client rendering load. Building downgrades Allow players to return to a lower building grade when their base becomes too expensive to maintain. Downgrading charges resources as a fresh upgrade to the selected grade; it is not a free conversion. Disable this feature if it does not fit your server, or retain a separate administrator-only downgrade override. Configure NoEscape or RaidBlock integration to stop automatic upgrades, repairs, building reskinning, wallpaper placement and external wall reskinning when a raid block starts. Ownership and team restrictions are also configurable. 04 / Building skins Keep the available skins up to date The skin update checker adds newly available construction skins and their options to the configuration. After installing BetterTC, grant yourself bettertc.admin and click Check Update to populate the available skins and options. Applying paid content remains subject to ownership checks. 05 / External walls Change the look. Preserve the damage. Reskin stone external walls with their adobe or ice variants, or switch wooden external walls to Frontier and back. Supported external gates can also be reskinned to their available variants. The original wall’s health is preserved, so reskinning a damaged wall does not repair it. Recommended setting: "Only reskin on wall of the same grade": true Keep this enabled to use external wall reskinning as an appearance change. Disabling it allows wood-to-stone and stone-to-wood changes without a resource charge, because this wall system has no cost mechanism. 06 / Wallpapers & TC skins Personalize the details Automatically place eligible wallpapers on walls, ceilings and floors. New game wallpapers are added to the list automatically. Use included custom wallpapers and add your own through the admin wallpaper commands. Configure placement on both sides of walls, including exterior sides. Apply wallpapers to both sides of a wall, including the exterior side when configured. Place wallpapers on boats with /wpb after sitting at the boat’s steering wheel. Let players change their TC’s appearance or deploy a TC with a skin, according to their permissions and ownership. Tool Cupboard skin selection Choose an eligible TC skin from the interface, or deploy a TC using the selected skin. BetterTC carries over the cupboard’s authorizations, contents and lock when replacing its appearance. Manual wallpaper tool menu Hold the wallpaper tool and open BetterTC’s selector with /wp or the configured input button. The default input is the middle mouse button. This menu must be enabled in the configuration and requires bettertc.wallpaper.toolmenu. Wallpaper rotation hammer Administrators can obtain a special wallpaper hammer with /wphammer. Hit a wallpapered floor or foundation with this hammer to rotate its wallpaper: 90° on square pieces and 120° on triangles. Configure the cloth cost of automated wallpaper placement. Building placement uses cloth from the TC; boat placement uses cloth from the player’s inventory. The no-cost wallpaper permission waives placement resource costs. Set "Wallpaper Damage": false to protect wallpapers from melee and ammunition damage. C4 and rockets can still damage them. 07 / Authorization & inventory Manage access from the cupboard Authorized player list Show who is authorized on the TC, optionally including Steam IDs and Online, Sleeping or Offline status through the player-status permission. Hide administrators with the configured option and allow individual authorization removal with a separate permission. Automatic TC locks Use separate permissions to automatically attach a locked key lock or code lock when a TC is deployed. Code locks use a generated code, authorize the deploying player and notify them of the code; the notification masks it in streamer mode. The code-lock permission takes priority when both lock permissions are assigned. Additional TC storage Configure which additional item types the TC accepts: gunpowder, sulfur, sulfur ore, explosives, diesel barrels, CCTV cameras and targeting computers. Each item type has its own switch. Select a general inventory filter: Resources, ResourcesAndComponents or All. The ResourcesAndComponents mode also accepts supported building and utility tools. 08 / Interface & integrations A panel that adapts to your players The panel keeps a consistent size across player UI scaling settings. Buttons rearrange automatically according to the functions the player can access. Authorization lists and construction skins support pagination. Building options can be automatically sorted by grade, or retain the configured order. Configure whether players can disable automatic construction effects. Most interface images load directly from the game client. Carbon servers use the built-in Image Module; Oxide servers use ImageLibrary. Configure game tip, chat and optional Notify or UINotify alerts, plus button colors and positioning. TiersMode and TCLevels When TiersMode is installed, BetterTC reads its maximum unlocked building grade for the upgrade menu. When TCLevels is installed, BetterTC adds a button to open its Tool Cupboard level-upgrade menu. 09 / Permissions Choose the functions each player can use Assign feature permissions and configure the standard and advanced profiles to match your server. Grant the no-cost permissions carefully. Permission Purpose bettertc.admin Admin update checks; also used to hide administrators from the authorization list when configured. bettertc.authlist Show the authorized-player list button. bettertc.playerstatus Show each authorized player's status next to their name in the TC authorization list: Online (green) when connected, Sleeping (light blue) when disconnected with a sleeping character in the server, or Offline (red) when registered but no active or sleeping character is found. Without this permission, only the player name is shown. This permission only displays status; it does not grant authorization or removal rights. bettertc.deleteauth Revoke individual player authorizations. bettertc.use Use the standard speed and cost profile defined in the configuration. bettertc.vip Use the advanced speed and cost profile defined in the configuration. bettertc.repair Access automatic building repair. bettertc.repair.nocost Repair without resource costs. bettertc.reskin Access automatic building reskinning. bettertc.reskin.nocost Reskin without resource costs. bettertc.upskin Show building upgrade options with skins. bettertc.upwall Access external wall reskinning. bettertc.upgrade Access building upgrades. bettertc.upgrade.nocost Upgrade without resource costs. bettertc.wallpaper Access wallpaper placement. bettertc.wallpaper.nocost Place wallpapers without resource costs. bettertc.wallpaper.custom Show custom wallpapers. bettertc.wallpaper.toolmenu Access the manual wallpaper tool selector when enabled. bettertc.tcskinchange Change the TC skin. bettertc.tcskindeployed Deploy a TC with a skin. bettertc.autolock Automatically add a locked key lock when deploying a TC. bettertc.autocodelock Automatically add a locked code lock with a generated code when deploying a TC. Skin-related permissions do not replace paid-content ownership checks. 10 / Commands Add custom wallpapers Command Purpose /addwp <skinid> <Wall|Floor|Ceiling> Chat: add a custom wallpaper for the selected surface type. addwp <skinid> <Wall|Floor|Ceiling> Console: add a custom wallpaper for the selected surface type. /wpb Chat: place wallpapers on boats; first sit at the boat’s steering wheel. /wp Chat: open the manual wallpaper menu while holding the wallpaper tool; requires bettertc.wallpaper.toolmenu. /wphammer Chat: give yourself the wallpaper rotation hammer; requires bettertc.admin. wphammer Player console: give yourself the wallpaper rotation hammer; requires bettertc.admin. wphammer <playername or steamid> Server console: give the wallpaper rotation hammer to a selected player. Adding wallpapers from chat or a player console requires bettertc.admin. Example for a wall wallpaper: /addwp 3356517390 Wall Console equivalent: addwp 3356517390 Wall 11 / Configuration Selected configuration options This excerpt covers the settings supplied with this description, including ownership checks, raid blocking, repairs, wallpapers and permission profiles. It is not the complete configuration file, and these supplied example values may differ from the defaults in your installed version. Edit the configuration generated by your installed BetterTC version. { "Check for updates when loading": true, "Bypass DLC ownership check (⚠ only allowed on creative/test servers per Facepunch rules)": false, "Use NoEscape Plugin": false, "Use RaidBlock Plugin": true, "GUI Buttons TC - Color Default": "0.3 0.40 0.3 0.60", "GUI Buttons TC - Color Active": "0.90 0.20 0.20 0.50", "GUI Buttons TC - OffsetMin": "280 621", "GUI Buttons TC - OffsetMax": "573 643", "GUI Buttons TC - AnchorMin": "0.5 0", "GUI Buttons TC - AnchorMax": "0.5 0", "Alert Gametip": true, "Alert Chat": true, "Alert Notify Plugin": false, "Notify: select what notification type to be used": { "error": 0, "info": 0 }, "Color Prefix Chat": "#f74d31", "Show Admin Auth List": false, "Show SteamID Auth List": true, "Upgrade Effect": true, "Colour Selection MultiColor Option": false, "Reskin Enable": true, "Reskin Wall Enable": true, "Only reskin on wall of the same grade": true, "Reskin Wall TC Distance (Default: 100)": 100.0, "Deployables Repair": true, "Repair Cooldown After Recent Damage (seconds)": 30.0, "Downgrade Enable": true, "Downgrade only Owner Entity Build": false, "Upgrade only Owner Entity Build": false, "Upgrade / Downgrade only Owner and Team": true, "Wallpaper Enable": true, "Wallpaper placement Cost (Cloth)": 5, "Wallpaper Damage": true, "Wallpaper both sides": true, "Force both sides including external sides": true, "Cooldown Frequency Upgrade (larger number is slower)": { "bettertc.use": 2.0, "bettertc.vip": 1.0 }, "Cooldown Frequency Reskin (larger number is slower)": { "bettertc.use": 2.0, "bettertc.vip": 1.0 }, "Cooldown Frequency Repair (larger number is slower)": { "bettertc.use": 2.0, "bettertc.vip": 1.0 }, "Cooldown Frequency Wallpaper (larger number is slower)": { "bettertc.use": 2.0, "bettertc.vip": 1.0 }, "Cost Modifier for repairs": { "bettertc.use": 1.5, "bettertc.vip": 1.0 }, "Allow Items in TC Inventory": { "gunpowder": false, "sulfur": false, "sulfur.ore": false, "explosives": false, "diesel_barrel": true, "cctv.camera": true, "targeting.computer": true }, "Downgrade Admin": true, "Use BetterTC Wallpaper Tool Menu (requires bettertc.wallpaper.toolmenu permission)": true, "BetterTC Wallpaper Tool Menu input button (FIRE_THIRD = middle mouse button)": "FIRE_THIRD", "Item Category Filter (Resources, ResourcesAndComponents, All)": "Resources", "Auto Sort Items by Grade": true } 12 / Known issue Unexpected default blue wallpapers If default blue wallpapers appear randomly, check whether TruePVE or a similar plugin is protecting wallpaper damage. Disable that wallpaper protection in the other plugin and use BetterTC’s own wallpaper protection instead. BetterTC’s protection reduces damage, especially from melee attacks, but does not block all damage. 13 / Support Questions, ideas or a problem to report? Contact ninco90 on Discord for questions, suggestions or assistance. Custom server configuration is also available for an additional fee if you would like the plugin set up around your preferences.
4.9
TeleportTerminal turns monuments into paid travel hubs. Players walk up, see a map, pay and travel. Each destination price scales with distance and with how popular that route is right now. READY ON DAY ONE Preset destinations and preconfigured NPC terminals are already placed on monuments. Turn it on, then customize or add your own. 01 - What a player sees A route board, not a blind teleport. Players approach a terminal and press E, or talk to its NPC. The panel makes each available route, its final price and its destination clear before they commit. At the terminal What it means DESTINATION LIST Available destinations show their final price, including discounts and the current popularity surcharge. MAP VIEW An interactive monument or server map shows all destination markers, prices and zoom. CONFIRM ROUTE Click a marker or a row, confirm the trip and travel. 02 - Terminal types Choose the presence that fits the monument. Teleport points can be placed on any monument, including train tunnels and lab modules. The plugin locates the correct spots on the map automatically. Type Use at the location NPC GUARD Configure its name, kit, clothing and belt. DECORATIVE PROP Use a terminal model that suits the setting. INVISIBLE POINT Keep the interaction with no model at all. 03 - Pricing model Prices react to traffic, then settle back down. A route begins with its distance, then becomes more expensive when everybody keeps using it. The result is a money sink players can read and respond to. Order Price signal 01 Distance base. The base price comes from the distance to the destination. 02 Popularity surcharge. Every trip raises a temporary surcharge, so popular routes cost more and traffic spreads out. 03 Gradual decay. The surcharge declines over time, so routes that fall out of favour become cheaper again without a config change. 04 Permission discounts. Discounts are applied last. 04 - Payment providers One config line selects how players pay. Switch providers without changing the terminal flow. If the selected economy plugin is missing, the terminal automatically falls back to Scrap instead of breaking. Provider Availability SERVERREWARDS Optional economy provider ECONOMICS Optional economy provider IQECONOMIC Optional economy provider SCRAP Built in, and the automatic fallback 05 - Built for placement Monument-ready by default, with room to make it yours. The preset network is usable immediately. When your server needs a different arrangement, the in-game tools take over without turning setup into a config-file task. Full in-game editor Create and move terminals, snap to the nearest monument, fine-tune position and rotation, manage destinations, set marker colour, size and icon, and edit NPC profiles. Changes save immediately. Visual prefab catalog Pick terminal models from a searchable catalog with previews instead of typing prefab names from memory. Destination permissions Gate any single destination behind a permission when certain routes should be reserved. Language files included English and Russian ship with the plugin. Every message lives in the language files. 06 - What an admin sees A separate edit mode for running the network. The same interface switches into a technical editing surface when an admin needs to place, tune or maintain terminals. EDITOR MODE / TERMINAL NETWORK PLACEMENT Snap to the nearest monument, then use precise movement, rotation and grid snapping. ROUTES Add and remove terminals and destinations, including single-destination permission gates. MARKERS Set marker colour, size and icon to match the server. NPC PROFILE Edit the NPC's name, kit, clothing and gear. 07 - Dependencies Install the requirements before you place the first terminal. HumanNPC and MonumentFinder are hard requirements. TeleportTerminal will not work without them. Required - plugin will not work without these HUMANNPC Required for NPC-type terminals. MONUMENTFINDER Required to detect monument locations, including train tunnels and lab modules. Optional economy plugins SERVERREWARDS / ECONOMICS / IQECONOMIC Install one only when you want payment through that provider instead of Scrap.
0.0
Player Homes
0:17
239
6
Player Homes
Shemov
Economy Repair
0:08
166
2
Economy Repair
Brad Copp
Raid Calculator
0:29
138
5
Raid Calculator
DesignCrew
[UI] Custom Items Creator
0:13
313
0
[UI] Custom Items Creator
Kamycz3q
Wallpaper Halloween Booster Pack
0:20
280
2
Wallpaper Halloween Booster Pack
RobJ
What's New
Fresh uploads, new releases, and recently updated files.
Trending Files
Discover what files are trending right now.
Great Deals
Discounted picks, limited-time deals, and sale items worth grabbing now.
Latest Reviews
See what customers are saying about their experience with files.
Отличная идея и интересные механики! HexFront добавляет новый смысл в борьбу за территории и делает выживание увлекательнее. Спасибо авторам за работу, жду дальнейших обновлений!
Thanks for the plugin. I’ve been looking for something like this for a long time. The free alternatives are no longer supported or updated. GG
A very unusual plugin, but it’s helpful for players. Players had long been asking for a plugin like this on the server, as there are many newcomers—though it’s also great for intermediate players.
A very unusual plugin; I haven’t seen anything like it anywhere else. I was worried about the load on the server, but everything seems fine so far. I’ll need to test it further when there’s a high number of concurrent users.
Probably one of the best one grid maps out on codefling to get this map is very well made and optimized for server performance with good fps, i have had the pleasure of haven close to 60 players on the map and would like to say it's very fun and exciting to see what kind of bases players will build on the map. If you decide to buy any maps from this map dev please do as he has come out with some bangers in the past year. 
Update: The rivers issue was fixed by the mapmaker - 5 stars. All in all good map, but dont build at rivers, they are fake ones as they do not have the correct water layers attached to them. The lakes work dou.
A cool, simple plugin. Now you don’t have to go through the hassle of finding a coder to create tools—and besides, coders usually don’t make skins anyway; they just grab them from the Workshop.

About Us

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

Downloads
3.3m
Total downloads
Customers
12.4k
Customers served
Files Sold
175.5k
Total sales
Payments
3.8m
Processed total
×
×
  • Create New...

Important Information

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