Raidable Shelters

Raidable Shelters 1.7.3

Sign in to download
Spawns shelters filled with loot for players to raid
This Rust plugin randomly spawns raidable shelters near players across the map. Each shelter is fully generated with lootable entities like storage boxes, furnaces, and other deployables. All containers come pre-filled with random loot, making each raid a unique and rewarding experience.

You can customize the respawn frequency of these shelters and set how long they stay before despawning.





Recommended Plugins

Shelters Not Spawning

If you're noticing that shelters aren't spawning, it's likely due to certain criteria not being met. Shelters are designed to spawn at random locations around players who meet specific conditions, such as not being in monuments, near enemy bases, or in water. If shelters aren't appearing, it means there were no valid positions available when the plugin checked for spawning.

To help troubleshoot and visualize why shelters may be failing to spawn, you can enable the debug mode in the config. This mode provides visual feedback on the reasons behind shelter spawn failures, including player states (e.g., swimming, near monuments) and environmental factors (e.g., rocks, roads).

Commands

  • /rs.test - Spawns a test shelter at the player's current location. This command is available only to admins and is primarily intended for testing purposes.

Configuration

JSON:
{
  "Version": "1.7.0",
  "Enable Debug": false,
  "Number Of Attempts To Find Shelter Position Near Players": 5,
  "Minimum Search Radius For Shelter Position Around Player": 20.0,
  "Maximum Search Radius For Shelter Position Around Player": 50.0,
  "Shelters Respawn Frequency Minutes": 60.0,
  "Delay Between Each Shelter Spawn Seconds": 5.0,
  "Nearby Entities Avoidance Radius": 6.0,
  "Rocks Avoidance Radius": 5.0,
  "Distance From No Build Zones": 10.0,
  "Shelter Health": 500.0,
  "Shelter Lifetime Seconds": 600.0,
  "Number Of Attempts For Determining Entity Position Inside Shelter": 30,
  "Number Of Attempts For Determining Entity Rotation Inside Shelter": 30,
  "Door": {
    "Skin Ids": [
      809253752,
      2246937402,
      2483070538,
      3076134051
    ]
  },
  "Turret": {
    "Spawn Auto Turret": true,
    "Health": 250.0,
    "Weapon ShortName": "rifle.ak",
    "Clip Ammo": {
      "ShortName": "ammo.rifle",
      "Skin Id": 0,
      "Minimum Amount": 30,
      "Maximum Amount": 30
    },
    "Reserve Ammo": [
      {
        "ShortName": "ammo.rifle",
        "Skin Id": 0,
        "Minimum Amount": 128,
        "Maximum Amount": 128
      }
    ],
    "Attachment Shortnames": [
      "weapon.mod.lasersight"
    ],
    "Peacekeeper": false
  },
  "Trap": {
    "Spawn Landmines": false,
    "Spawn Bear Traps": true,
    "Minimum Number Of Traps To Spawn": 1,
    "Maximum Number Of Traps To Spawn": 5,
    "Minimum Spawn Radius Around Shelter": 3.0,
    "Maximum Spawn Radius Around Shelter": 5.0
  },
  "Notification": {
    "Notify Surrounding Players Of Shelter Spawn": false,
    "Radius For Notifying Nearby Players": 40.0,
    "Send As Toast": false
  },
"Interior Entities": [
    {
      "Prefab Name": "assets/prefabs/deployable/woodenbox/woodbox_deployed.prefab",
      "Skin Ids": [],
      "Minimum Number To Spawn": 1,
      "Maximum Number To Spawn": 3,
      "Percentage To Fill Container With Items If Present": 20
    },
    {
      "Prefab Name": "assets/prefabs/deployable/furnace/furnace.prefab",
      "Skin Ids": [],
      "Minimum Number To Spawn": 1,
      "Maximum Number To Spawn": 1,
      "Percentage To Fill Container With Items If Present": 0
    }
  ],
  "Items To Spawn Inside Entity Containers": [
    {
      "Shortname": "fat.animal",
      "Skin Id": 0,
      "Minimum Amount": 10,
      "Maximum Amount": 25
    },
    {
      "Shortname": "cloth",
      "Skin Id": 0,
      "Minimum Amount": 20,
      "Maximum Amount": 30
    },
    {
      "Shortname": "wood",
      "Skin Id": 0,
      "Minimum Amount": 200,
      "Maximum Amount": 400
    },
    {
      "Shortname": "syringe.medical",
      "Skin Id": 0,
      "Minimum Amount": 1,
      "Maximum Amount": 2
    },
    {
      "Shortname": "rope",
      "Skin Id": 0,
      "Minimum Amount": 1,
      "Maximum Amount": 3
    },
    {
      "Shortname": "cctv.camera",
      "Skin Id": 0,
      "Minimum Amount": 1,
      "Maximum Amount": 1
    },
    {
      "Shortname": "roadsigns",
      "Skin Id": 0,
      "Minimum Amount": 1,
      "Maximum Amount": 2
    },
    {
      "Shortname": "stones",
      "Skin Id": 0,
      "Minimum Amount": 150,
      "Maximum Amount": 350
    },
    {
      "Shortname": "metal.fragments",
      "Skin Id": 0,
      "Minimum Amount": 30,
      "Maximum Amount": 90
    },
    {
      "Shortname": "ammo.grenadelauncher.he",
      "Skin Id": 0,
      "Minimum Amount": 1,
      "Maximum Amount": 2
    },
    {
      "Shortname": "coffeecan.helmet",
      "Skin Id": 0,
      "Minimum Amount": 1,
      "Maximum Amount": 1
    },
    {
      "Shortname": "scrap",
      "Skin Id": 0,
      "Minimum Amount": 10,
      "Maximum Amount": 25
    },
    {
      "Shortname": "icepick.salvaged",
      "Skin Id": 0,
      "Minimum Amount": 1,
      "Maximum Amount": 1
    },
    {
      "Shortname": "ptz.cctv.camera",
      "Skin Id": 0,
      "Minimum Amount": 1,
      "Maximum Amount": 1
    },
    {
      "Shortname": "corn",
      "Skin Id": 0,
      "Minimum Amount": 3,
      "Maximum Amount": 5
    },
    {
      "Shortname": "ammo.rocket.mlrs",
      "Skin Id": 0,
      "Minimum Amount": 1,
      "Maximum Amount": 1
    },
    {
      "Shortname": "wall.frame.garagedoor",
      "Skin Id": 0,
      "Minimum Amount": 1,
      "Maximum Amount": 1
    },
    {
      "Shortname": "pistol.revolver",
      "Skin Id": 0,
      "Minimum Amount": 1,
      "Maximum Amount": 1
    }
  ]
}
  • Enable Debug - This mode provides visual feedback on the reasons for shelter spawn failures, such as player state (e.g., swimming, near monuments) or environmental constraints (e.g., rocks, roads). The debug information is displayed only to players with admin privileges. It's recommended to enable this only when necessary for troubleshooting purposes.
  • Number Of Attempts To Find Shelter Position Near Players - Specifies how many attempts the plugin will make to find a suitable position for a shelter near a player.
  • Minimum Search Radius For Shelter Position Around Player - The minimum distance from a player within which the plugin will search for a suitable shelter position.
  • Maximum Search Radius For Shelter Position Around Player - The maximum distance from a player within which the plugin will search for a suitable shelter position.
  • Shelters Respawn Frequency Minutes - How often, in minutes, the plugin will attempt to respawn shelters.
  • Delay Between Each Shelter Spawn Seconds - The delay, in seconds, that the plugin waits before moving on to check the next player for shelter spawning. This ensures that shelters are spawned without overwhelming the server.
  • Nearby Entities Avoidance Radius - The radius within which the plugin will avoid placing shelters near existing entities.
  • Rocks Avoidance Radius - The radius within which the plugin will avoid placing shelters near rocks.
  • Distance From No Build Zones - The distance from building blocked areas where the plugin will avoid placing shelters.
  • Shelter Health - Defines the total health of the shelter. The health value set here also synchronizes with the health of the shelter's door.
  • Shelter Lifetime Seconds - The duration, in seconds, that a shelter will remain active before being despawned.
  • Number Of Attempts For Determining Entity Position Inside Shelter - How many attempts the plugin will make to find a suitable position for an entity inside a shelter.
  • Number Of Attempts For Determining Entity Rotation Inside Shelter - How many attempts the plugin will make to find a suitable rotation for an entity inside a shelter.
  • Door- Settings for the shelter's door:
    • Skin Ids - A list of skin ids that will be randomly selected and applied to the shelter door when it spawns.
  • Turret- Settings related to the auto turret that can be deployed on top of shelters:
    • Spawn Auto Turret - If enabled, an auto turret will automatically spawn on top of the shelter.
    • Health - Sets the amount of damage the turret can take before being destroyed.
    • Weapon Short Name - Specifies the shortname of the weapon that the turret will be equipped with upon spawning.
    • Clip Ammo- Configures the type and amount of ammo loaded into the weapon's magazine:
      • Short Name - The shortname of the ammunition type to load into the turret's weapon.
      • Skin Id - The skin id to apply to the ammunition (optional).
      • Minimum Amount - The minimum amount of ammo to load into the weapon's clip.
      • Maximum Amount - The maximum amount of ammo to load into the weapon's clip.
    • Reserve Ammo- A list of additional ammo to place in the turret's reserve inventory, which the turret will use once the clip is emptied:
      • Short Name - The shortname of the ammunition type to store as reserve ammo.
      • Skin Id - The skin id to apply to the reserve ammunition (optional).
      • Minimum Amount - The minimum amount of reserve ammo to store.
      • Maximum Amount - The maximum amount of reserve ammo to store.
    • Attachment Short Names - A list of short names for any weapon attachments that will be added to the turret's weapon (e.g., scopes, lasers).
    • Peacekeeper - If enabled, the turret will operate in peacekeeper mode, targeting only hostile players (e.g., players holding a weapon or marked as hostile).
  • Trap- Controls the spawning of traps around the shelter.
    • Spawn Landmines - Enables or disables spawning of landmines around the shelter.
    • Spawn Bear Traps - Enables or disables spawning of bear traps around the shelter.
    • Minimum Number Of Traps To Spawn - Sets the minimum number of traps that will spawn around the shelter.
    • Maximum Number Of Traps To Spawn - Sets the maximum number of traps that will spawn around the shelter.
    • Minimum Spawn Radius Around Shelter - Defines the minimum distance from the shelter within which traps will spawn, preventing them from being too close to the shelter.
    • Maximum Spawn Radius Around Shelter - Defines the maximum distance from the shelter within which traps will spawn.
  • Notification- Settings for notifying players about shelter spawns:
    • Notify Surrounding Players Of Shelter Spawn - Determine whether surrounding players should be notified when a shelter spawns. If set to false, only the player for whom the shelter spawned will be notified.
    • Radius For Notifying Nearby Players - Defines the radius within which nearby players will be notified.
    • Send As Toast - If disabled, notifications will be sent as chat messages.
  • Interior Entities- List of entities to spawn inside the shelter. Each entity configuration includes:
    • Prefab Name - Path to the prefab of the entity.
    • Skin Id - Skin id to apply to the entity.
    • Minimum Number To Spawn - The minimum number of this entity to spawn.
    • Maximum Number To Spawn - The maximum number of this entity to spawn.
    • Percentage To Fill Container With Items If Present - The percentage of the container to fill with items if the entity is a container.
  • Items To Spawn Inside Entity Containers- List of items to spawn inside entity containers. Each item configuration includes:
    • Shortname - Shortname of the item.
    • Skin Id - Skin ID of the item.
    • Minimum Amount - The minimum amount of this item to spawn.
    • Maximum Amount - The maximum amount of this item to spawn.

Stored Data

The plugin also saves the following information:
JSON:
{
  "Raidable Shelters": {
    "4480682": {
      "Interior Entities": [
        4480686,
        4480692
      ],
      "Removal Timer": 339.9337158203125
    }
  }
}
  • Raidable Shelters- Stores the unique ids of active shelters.
    • InteriorEntities - Lists the ids of entities spawned inside each shelter.
    • Removal Timer - Tracks the time remaining (in seconds) before each shelter is removed.
This ensures that shelters are always removed as scheduled, even after server crashes.

Localization

JSON:
{
  "RaidableShelterSpawned": "A raidable shelter has spawned nearby!"
}

Developer API

C#:
bool API_IsShelterRaidable(LegacyShelter shelter)
  • Checks if the given shelter is a raidable shelter.

Developer Hooks

C#:
object OnShelterInteriorEntitySpawn(LegacyShelter shelter, string prefabName, Vector3 position, Quaternion rotation)
  • Called when an entity is about to be spawned inside a raidable shelter.
  • Returning false will prevent the entity from being spawned.
  • Returning null will result in the default behavior.
C#:
void OnShelterInteriorEntitySpawned(LegacyShelter shelter, BaseEntity entity)
  • Called after an entity has been spawned inside a raidable shelter.
  • No return behavior.
Author
VisEntities
Downloads
351
First release
Last update

Ratings

5.00 star(s) 6 reviews

Also by VisEntities

  • No AFK Recycler
    No AFK Recycler
    Prevents players from staying afk while using recyclers
  • Auto Catapult Feeder
    Auto Catapult Feeder
    Automatically refills catapults with ammo from a linked stash
  • One Push Boat
    One Push Boat
    Unflips flipped boats with one push and optionally mounts the pusher to the driver seat

Latest updates

  1. 1.7.3

    Fixed traps incorrectly spawning inside or on shelter edges, now they spawn outside as intended.
  2. 1.7.2

    Optimized entity fit checks in shelters by using prefab bounds directly and removing temporary...
  3. 1.7.1

    Shelters will no longer spawn if no interior entities can be successfully placed due to bad...

Latest reviews

Very fun idea especially for early wipe, gives players the opportunity to have a mini raid on our PvE server. The latest autoturret option makes it extra fun. Nice configuration
This plugin is dope!! Good work man
great little add-on for my PVE server keep up the good work hope you keep updating it and thank you for the update today
Back
Top
Chat commands start with a /, while console commands can be entered directly in the F1 console or server console. Use find <keyword> in console to search for available commands related to the plugin. Parameters in < > are required, while [ ] are optional.
This plugin uses Oxide's permission system. Grant or revoke permissions using oxide.grant and oxide.revoke. You can assign them to individual players or groups using their Steam id or group name.
Settings are stored in the config file found under the config/ directory. You can edit this file manually, then reload the plugin to apply your changes.
Persistent data is saved in the data/ directory. This includes things like saved settings, usage stats, or player progress depending on the plugin. Deleting a data file will reset stored progress or customizations.
Language files are located in the lang/ folder. To translate messages, copy the en.json file into your target language folder (e.g. fr, de) and edit the values. Reload the plugin after changes to apply new messages.
This section lists public methods exposed by the plugin for use in other plugins. You can call these via the CallHook method. Ensure the plugin is loaded before calling its API to avoid null reference errors.
These are custom hooks that other plugins can listen for. Simply define a method with the same name and expected parameters in your plugin to handle the event. Hooks are triggered at key moments and are useful for extending or reacting to plugin behavior.
These hooks are injected into the game's code using Harmony. They let the plugin run code at key points in the game's internal logic. You can return values to block or modify behavior. Use with caution — these are powerful and can affect core mechanics.
Cart