Plugins

UnderwaterLabPuzzleReset

1.0.0

Automatically resets Underwater Lab puzzle and IO states after runs, keeping labs reliable throughout the wipe.

UnderwaterLabPuzzleReset.cs 1 version
Details

About the plugin

UnderwaterLabPuzzleReset keeps Underwater Labs repeatable by resetting selected puzzle/IO states after a security door is opened. After the configured delay, the reset will only occur once the area is clear of players (optional proximity wait), helping avoid resets during active runs.

Operation overview: the plugin watches doors matching the configured prefab names, detects the closed-to-open transition, schedules a reset after ResetDelaySeconds, then checks for nearby players within PlayerBlockRadius (re-checking every PlayerBlockRecheckSeconds as needed). Associated IO is located within IoSearchRadius for the reset logic.

This plugin is fully automatic and does not provide chat commands or permissions.

What it does

  • Watches configured lab security doors and schedules resets on open events
  • Player proximity checks to prevent resets during active runs
  • Configurable delay, search radius, and re-check cadence

Config (config.json)

{
  "Doors": [
    "door.hinged.underwater_labs.security"
  ],
  "ResetDelaySeconds": 3600.0,
  "IoSearchRadius": 18.0,
  "PlayerBlockRadius": 100.0,
  "PlayerBlockRecheckSeconds": 300.0
}

All versions

TestLoot

1.0.0

Staff utility for spawning loot containers and inspecting results in a controlled workflow.

TestLoot.cs 1 version
Details

About the plugin

TestLoot is a staff utility for validating loot containers in a controlled way. It provides an in-game UI listing common loot container prefabs. Select a container and quantity, spawn it in front of you, and the plugin will eject the contents after a short delay and remove the spawned entities.

Usage: grant the permission below (or use an admin account), then run /tl to open the UI. The interface uses console actions under the testloot.* prefix for its buttons; players typically do not run those commands manually.

What it does

  • Scrollable list of vanilla loot container short names and paths
  • Quantity presets and delayed ejection to inspect contents
  • Spawns in front of the player (range-limited) and cleans up automatically

Commands

  • /tl — Open the TestLoot UI (requires permission or admin)
  • F1 console: testloot.close — Close the UI (used by UI buttons)
  • F1 console: testloot.select <index> — Select a container row
  • F1 console: testloot.amount <n> — Set spawn amount
  • F1 console: testloot.spawn — Spawn and start the eject timer

Permissions

Use these in your permissions config (Oxide/…).

testloot.use

Config (config.json)

{}

All versions

TeamShare

1.4.0

Team authorization management for code locks, turrets, and tool cupboards, with optional blueprint sharing controls.

TeamShare.cs 5 versions
Details

About the plugin

TeamShare provides a unified workflow for team authorization on key building security systems: code locks, auto turrets, and tool cupboards. Players manage a primary code (and optional guest code) from a UI, and the plugin can apply team authorization to newly placed entities. Depending on the Operating Mode, it can also keep authorization in sync when team membership changes.

Commands default to /teamui and /share, and can be renamed via configuration. The UI triggers console actions under the teamshare_* prefix (toggles, code entry, and UI close); these are listed for completeness and for servers integrating custom UI flows.

When Use Permissions is enabled, access is controlled by teamshare.use plus feature-specific permissions.

What it does

  • Per-player toggles for code lock, tool cupboard, turret, quiet mode, and guest code features
  • Operating Mode 1 (on placement) or Mode 2 (backward sync across tracked entities)
  • Optional integration hooks (WelcomeController palette, NoEscape raid/combat blocks)
  • Optional blueprint sharing for team (and clan, when supported) with granular controls

Commands

  • /teamui — Open the TeamShare UI (default; configurable)
  • /share — Alias for the UI command (default; configurable)
  • F1 console: teamshare_close_ui
  • F1 console: teamshare_toggle_codelock / teamshare_toggle_cupboard / teamshare_toggle_turret
  • F1 console: teamshare_toggle_quiet / teamshare_toggle_guestcode
  • F1 console: teamshare_set_temp_code / teamshare_set_temp_guest_code
  • F1 console: teamshare_toggle_reveal_main / teamshare_toggle_reveal_guest
  • F1 console: teamshare_confirm_code / teamshare_confirm_guest_code

Permissions

Use these in your permissions config (Oxide/…).

teamshare.useteamshare.codelockteamshare.cupboardteamshare.turretteamshare.guestteamshare.blueprint

Config (config.json)

{
  "Use Permissions": true,
  "Using WelcomeController": false,
  "Debug Mode": false,
  "Messages": {
    "NoPermission": "You don't have permission to use this command.",
    "InvalidCode": "Invalid code. Please enter a 4-digit numerical code.",
    "CodeSet": "Code set to: {0}",
    "GuestCodeSet": "Guest code set to: {0}",
    "NoCodeSet": "You have not set any code. Use the UI to set a code.",
    "CodeAutoLocked": "Code lock placed with code {0}.",
    "CodeAutoLockedWithGuest": "Code lock placed with code {0} and guest code {1}.",
    "CupboardAuthorized": "{0} authorized on the Tool Cupboard",
    "NoEscape.RaidBlocked": "Cannot set codes during raid block.",
    "NoEscape.CombatBlocked": "Cannot set codes during combat block.",
    "NoGuestCodeSet": "Please enter a guest code first.",
    "AuthedBackward": "Authed \"{0}\" to {1} codelocks, {2} turrets and {3} TC's",
    "BlueprintSharedSharer": "You shared \"{0}\" with {1} teammate(s).",
    "BlueprintReceivedReceiver": "{0} shared \"{1}\" with the team.",
    "BlueprintBulkReceived": "Team share: you received {0} blueprint(s) from {1}.",
    "BlueprintBulkFromYourLibrary": "Team share: {0} received {1} blueprint(s) from your library."
  },
  "UI Settings": {
    "UIBackgroundColor": "0 0 0 0.6",
    "UIPrimaryColor": "1 0.4 0 0.5",
    "UIDangerButtonColor": "1 0 0 1",
    "UIToggleOnColor": "0.15 0.6 0.15 1",
    "UIToggleOffColor": "0.6 0.15 0.15 1",
    "Animated Buttons": true
  },
  "Commands Settings": {
    "Open UI Command": "teamui",
    "Share Command": "share"
  },
  "AddonName for WelcomeController": "TeamShare",
  "NoEscape Integration": {
    "Block During Raid Block": true,
    "Block During Combat Block": true
  },
  "Operating Mode": 1,
  "Blueprint team sharing enabled": true,
  "Blueprint clan sharing enabled (Clans Reborn)": true,
  "Blueprint share from research items (study action)": true,
  "Blueprint share from tech tree unlocks": true,
  "Blueprint share blocked item short names": [],
  "Blueprint library resync delay seconds after learn": 3.0
}

All versions

RaidHours

1.1.4

Configurable raid protection windows with player status checks and an admin scheduling panel.

RaidHours.cs 1 version
Details

About the plugin

RaidHours enforces time-based raid protection using one or more protected windows in your configured timezone. During a protected window, damage to protected entities can be reduced or fully blocked based on the configured block percentage. Outside protected windows, normal raiding rules apply.

Players can use /raid to check the current status. Administrators use /raidhours to open the scheduling panel. Bypass, ownership checks, and the scope of protection (structures, deployables, twig, vehicles) are configurable.

What it does

  • Configurable windows: start/end time (HH:mm), start day, and block percentage
  • Optional protection for deployables, traps, twig, and selected vehicles
  • Chat and hint announcements when protection starts or ends
  • Prefab coverage maintained via data file and in-plugin admin tools

Commands

  • /raid — Players check whether raid protection is active (see Require raidhours.check permission)
  • /raidhours — Admin UI for configuring windows (requires raidhours.admin)

Permissions

Use these in your permissions config (Oxide/…).

raidhours.checkraidhours.bypassraidhours.admin

Config (config.json)

{
  "Timezone (IANA id, e.g. UTC or America/New_York)": "UTC",
  "Protect turrets, SAM sites, shotgun & flame traps": false,
  "Protect all deployables (turrets, traps, SAM, etc.)": false,
  "Protect twig (building blocks at twig grade)": false,
  "Protect vehicles (Modular boats & Tugboat, see whitelist/blacklist)": false,
  "Protected vehicle whitelist (prefabs protected when Protect vehicles is on). Move from blacklist to protect.": [
    "Tugboat",
    "Modularboat",
    "Modularcar"
  ],
  "Unprotected vehicle blacklist (prefabs never protected). Move to whitelist to protect.": [
    "Minicopter",
    "Scraptransporthelicopter",
    "Attackhelicopter",
    "Pedalbike",
    "Motorbike",
    "Motorbike_sidecar",
    "Snowmobile",
    "Pedaltrike",
    "Dpv.deployed",
    "Submarineduo.entity",
    "Kayak",
    "Ptboat",
    "Rhib",
    "Rowboat",
    "Submarinesolo.entity"
  ],
  "Base owner = TC authed (on) or builder/teammate & Auth (off)": false,
  "Command for players to check raid times": "raid",
  "Command for admins to open panel": "raidhours",
  "Require raidhours.check permission to use /raid (if false, everyone can use it)": false,
  "Notify attacker in chat when raid block applies (cooldown seconds; 0 = disabled; 60 = 1 per minute)": 60.0,
  "Steam ID used for chat icon (profile picture) on raid messages; empty = default icon": "76561197963047047",
  "Announce in chat when raid block starts": true,
  "Announce in chat when raid block ends": true,
  "Chat message when raid block starts ({pct} = block %, {duration} = time until end)": "<color=#8f8>Raid block is now ACTIVE</color> - {pct}% protection for {duration}",
  "Chat message when raid block ends": "<color=#fa8>Raid block has ended</color> - raiding is allowed",
  "Show game hint when raid block starts (duration and % protection)": true,
  "How long to show the game hint (seconds)": 8.0,
  "Game hint text when block starts ({duration} = time until end, {pct} = block %)": "Raid block active for {duration} with {pct}% protection",
  "Show game hint when raid block ends": true,
  "Game hint text when block ends": "Raid block has ended - raiding is allowed",
  "Protected time windows (start and end in HH:mm, block % per window)": [
    {
      "Start (time on start day when window opens)": "22:00",
      "End (defines duration: e.g. 17:00 to 11:00 = 18 hours from start)": "06:00",
      "Day (start day: Everyday, WipeDay, or weekday; uses configured timezone)": "Everyday",
      "Block percent (0 = no block, 100 = full block)": 100
    }
  ]
}

All versions

CupboardPlus

1.1.4

Tool Cupboard UI for upgrades, skins, repairs, and customization (permission and dependency aware).

CupboardPlus.cs 1 version
Details

About the plugin

CupboardPlus expands the Tool Cupboard experience with an in-game UI for upgrades, skins, repairs, and wallpapers (and optional downgrades). The plugin can use ImageLibrary for artwork and PlayerDLCAPI to respect owned DLC when presenting cosmetic options.

Use /cplus while targeting a tool cupboard you are authorized on. Actions are queued and applied over time. Permissions are separated so you can grant general access while restricting high-impact or administrative functionality.

What it does

  • Queued upgrades, skins, and repairs with UI feedback
  • Wallpaper support, plus optional downgrade support (config/permission gated)
  • Optional integrations via referenced plugins (e.g. NoEscape)

Commands

  • /cplus — Open CupboardPlus when targeting an authorized tool cupboard

Permissions

Use these in your permissions config (Oxide/…).

cupboardplus.usecupboardplus.upgradecupboardplus.skincupboardplus.repaircupboardplus.wallpapercupboardplus.downgradecupboardplus.nocostcupboardplus.admin

Dependencies

Config (config.json)

{
  "Upgrade interval seconds": 1.0,
  "Enable upgrade animation": true,
  "Enable downgrade": false,
  "UI Settings": {
    "Background Color": "0 0 0 0.6",
    "UI Placement (1-3)": 1
  },
  "Header Image URL": "https://cdn3.mapstr.gg/030480909803e47414b124bbc8d91435.png",
  "Hammer Image URL": "https://cdn3.mapstr.gg/61b497c73fd2c1544554b2e8e2c0a3e4.png",
  "Spray Can Image URL": "https://cdn3.mapstr.gg/70e5648f8096313cc375738ae6b7bc4f.png",
  "Repair Image URL": "https://cdn3.mapstr.gg/0945991cf5a29662edf460c575846cd0.png",
  "Wallpaper Image URL": "https://cdn3.mapstr.gg/2285dc5c650f1c63eee99b2fb1839106.png",
  "Settings Icon URL": "https://cdn3.mapstr.gg/c9965709071f2caafc637324074bb71b.png",
  "Upgrade Button Image URL": "https://cdn3.mapstr.gg/7d89978e143051ea48e6cf55b19472ca.png",
  "Skin Button Image URL": "https://cdn3.mapstr.gg/43020936b1625ecdc491f6a08fcf4208.png",
  "Skin Image URLs": {
    "Wood": "https://cdn3.mapstr.gg/495d9eea48104d5435c572622560b066.png",
    "Legacy Wood": "https://cdn3.mapstr.gg/e4900e505959b45d817f9fbe5829f7fa.png",
    "Stone": "https://cdn3.mapstr.gg/dbdeae837e3d18e9621ca7314f26035b.png",
    "Adobe": "https://cdn3.mapstr.gg/8bc2c2d23657ccadaa0259b9b3874ee9.png",
    "Brick": "https://cdn3.mapstr.gg/65edfac27afdbd04c9ffb827fd84194e.png",
    "Brutalist": "https://cdn3.mapstr.gg/299cf51df54cd14b7205aa3bbd04869c.png",
    "Jungle": "https://cdn3.mapstr.gg/f4b009d2f4ebb7b1ebc2fee02e03faf0.png",
    "Metal": "https://cdn3.mapstr.gg/d847c52a391a5d3bdf360f26fc002b3d.png",
    "Container": "https://cdn3.mapstr.gg/0c50e5a82d0c5d16ecf3f631796074cc.png",
    "Armored": "https://cdn3.mapstr.gg/0a532d3c7072e79b77af7ed7d861809e.png",
    "Space Station": "https://cdn3.mapstr.gg/2ec32349c1cb62b9816a4f90d288039d.png"
  },
  "Default Skin Checkmark Image URL": "https://cdn3.mapstr.gg/cc9c79fc4939d214dba1658f333264a7.png",
  "Wallpaper None Image URL": "https://cdn3.mapstr.gg/e2884cf43b0e7752fe691ed16bb15762.png",
  "Skin Preview Placeholder Image URL": "https://cdn3.mapstr.gg/25ee457984b36c1a238c693c2dc2c030.png"
}

All versions