Join the Game4Freak Discord Get exclusive plugin sneak peeks, talk directly with VisEntities, never miss important updates, and unlock special discount codes!
Gamemode Raid Simulator

Gamemode Raid Simulator 1.0.0

Practice and compete in realistic raid scenarios
Dependencies
Copy Paste (Required), Gamemode Core (Required), Gear Core (Optional)

Raid Simulator is a popular Rust minigame where teams of attackers try to breach defended bases and destroy the tool cupboard while defenders protect it.

Each match starts with a prep phase where defenders can fortify their base and attackers can plan their attack. Then combat begins with a timer counting down - if defenders survive the time limit they win, if attackers destroy the TC they win.

The plugin handles everything automatically: team assignment, base spawning from Copy Paste files, sleeping bag management, code lock setup, and round scoring. Players just enter the teleporter, pick their team, and play.

Features

  • Team-Based Raiding: Players join as Attackers or Defenders. Teams swap roles after each round - this round's attackers become next round's defenders.
  • Copy Paste Base Spawning: Bases automatically spawn from your saved builds at round start and despawn after. You can configure multiple bases per team and the plugin picks randomly each round for variety.
  • Preparation Phase: Set warmup time where defenders can build extra defenses and attackers plan their strategy. Combat disabled during this phase.
  • Round Timer: Set time limits for matches. Defenders win if time runs out, attackers win if they destroy the TC.
  • Automatic Authorization: Players spawn already authorized on all tool cupboards and turrets, no manual auth needed.
  • Automatic Code Locks: Code locks placed during matches auto-lock with team code. Players can access all team locks without entering codes.
  • Virtual Sleeping Bags: Takes sleeping bags from your pasted base and automatically shows them in each player's death screen. No manual spawn point placement required.
  • Win Conditions: Attackers win by destroying enemy TC, defenders win by surviving the timer.
  • Round Scoring: Track wins across multiple rounds.
  • Cupboard Management: Plugin automatically fills cupboards to prevent decay so players focus purely on raiding. Optionally prevent players from opening TC inventory entirely.
  • Friendly Fire Control: Toggle whether teammates can damage each other.
  • Real-time Scoreboards: Live display of team scores, player counts, time remaining, and match stats during active rounds.
  • Customizable Kits: Configure different loadouts for attackers, defenders, and spectators.
  • Multiple Arenas: Run multiple raid arenas simultaneously on the same server.

Dependencies

Required Plugins:
  • Gamemode Core -- The foundation plugin that handles all gamemode functionality. This plugin is built on Gamemode Core and won't work without it.
  • Copy Paste -- Essential for spawning bases. The plugin uses Copy Paste to load your saved base builds into the arena at the start of each round. Without this, bases can't spawn and the gamemode won't function.
Optional Plugins:
  • Gear Core -- Needed if you want to give players custom loadouts (kits). Without Gear Core, players spawn with empty inventory.

Permissions

  • gamemodecore.admin -- Required to use all arena setup and management commands

Commands

Arena Management:
  • gm.rs create <title> <position> <radius> [maxPlayerCapacity]-- Create a new raid arena
  • gm.rs edit <arenaId>-- Set which arena you're currently editing (required before using other commands)
  • gm.rs remove -- Delete the currently edited arena
  • gm.rs draw -- Visualize arena boundaries, spawn points, and base locations for 20 seconds
Base Configuration:
  • gm.rs base <attacker|defender> paste <filename> -- Set the Copy Paste file for a team's base
  • gm.rs base <attacker|defender> position <here|x,y,z>-- Set where the base will be pasted
  • gm.rs base <attacker|defender> rotation <degrees>-- Set base rotation angle (0-360)
  • gm.rs base <attacker|defender> option <key> <value>-- Configure Copy Paste options for base spawning
  • gm.rs base <attacker|defender> removeoption <key> -- Remove a Copy Paste option
Spawn Points:
  • gm.rs spawn spectator add <position|here> [radius] [leashRadius]-- Add a spectator spawn point
  • gm.rs spawn <attacker|defender> add <position|here> [radius]-- Add a team fallback spawn (used when players click Respawn instead of sleeping bags)
  • gm.rs spawn <spectator|attacker|defender> remove [id|nearby]-- Remove a spawn point by ID or nearest within 10 meters
  • gm.rs spawn <spectator|attacker|defender> list -- List all spawn points for a team
Teleporter:
  • gm.rs teleporter create <position> <radius> [visibilityRange] [visibleZone]-- Create teleporter zone in lobby that players use to join the arena
  • gm.rs teleporter remove -- Delete the teleporter for currently edited arena
Arena Properties:
  • gm.rs set <property> <value>-- Set various arena properties
Available Properties:
  • enabled (true/false) - Arena is active and joinable
  • maxplayers (number, -1=unlimited) - Total player capacity
  • title (text) - Arena display name
  • attackerkit (text) - Kit name for attackers
  • defenderkit (text) - Kit name for defenders
  • spectatorkit (text) - Kit name for spectators
  • prepduration (seconds) - Warmup phase before combat starts
  • roundduration (seconds, 0=unlimited) - Match time limit
  • attackermaxplayers (number) - Attacker team size
  • defendermaxplayers (number) - Defender team size
  • zoneopacity (number, 0=invisible) - Team zone dome visibility
  • radius (meters) - Arena boundary radius
  • position (here or x,y,z) - Arena center location
Rules:
  • gm.rs rule add <rule1> [rule2] [...] -- Add gameplay rules to the arena
  • gm.rs rule remove <rule1> [rule2] [...] -- Remove gameplay rules from the arena
Available Rules:
  • NoDecay - Prevents entity decay
  • NoSleeping - Kills sleepers when they disconnect
  • NoItemContainerSpawn - Prevents backpack spawning on death
  • NoCrafting - Disables crafting menu
  • NoBuilding - Prevents placing construction items
  • NoItemDropping - Prevents dropping items from inventory
  • NoCorpseSpawn - No corpses spawn on death
  • NoPvPDamage - Disables all player-vs-player damage
  • NoEnvironmentDamage - Disables fall damage, animal attacks, etc
  • NoWounding - Players can't enter wounded state
  • NoItemWear - Items don't lose condition
  • NoBleeding - No bleeding status effect
  • NoHunger - Hunger system disabled
  • NoThirst - Thirst system disabled
Player Commands:
  • /leave -- Exit the current arena and return to lobby

Arena Setup Guide

Step 1: Create Lobby
Before creating arenas, you need a lobby where players spawn and queue up. This is done through Gamemode Core - refer to the Gamemode Core documentation for lobby setup instructions.

Step 2: Create the Arena
Stand in the center of where you want your arena. This will be the reference point for the arena boundary.
Code:
gm.rs create "My Raid Arena" here 75 20
The radius (75) determines how far players can move from center. Make it big enough to fit both bases with space between them. Max players (20) is the total capacity - split this between attackers and defenders later.

Step 3: Edit the Arena
After creating, you need to select it for editing. Use the ID from the creation message (usually 001 for first arena).
Code:
gm.rs edit 001
All following commands will apply to this arena until you edit a different one.

Step 4: Configure Attacker Base
Go to where you want attackers to spawn. This should be far enough from defenders to give prep time, but close enough for reasonable raid distance.
Code:
gm.rs base attacker paste my_attacker_base
gm.rs base attacker position here
gm.rs base attacker rotation 0
The rotation controls which direction the base faces. 0 is north, 90 is east, 180 is south, 270 is west. Face the direction you want the base entrance, then set rotation.

Step 5: Configure Defender Base
Move to the defender base location. Typically you want bases facing each other, so if attacker is at 0 degrees, defender should be 180 degrees.
Code:
gm.rs base defender paste my_defender_base
gm.rs base defender position here
gm.rs base defender rotation 180
Important: Make sure both bases fit within your arena radius from Step 1.

Step 6: Add Spectator Spawns
Go to a good viewing spot - somewhere above or between the bases where spectators can watch without getting in the way.
Code:
gm.rs spawn spectator add here 2 25
The first number (2) is spawn randomization, second number (25) is leash radius. Spectators can't move more than 25m from this point.

Step 7: Create Teleporter
Go to your lobby where players will queue up to join.
Code:
gm.rs teleporter create here 3 15 true
Players walk into this 3m radius zone to join the arena. Info text shows at 15m distance. The "true" makes the dome visible.

Step 8: Add Rules
Code:
gm.rs rule add NoDecay
NoDecay prevents bases from decaying during matches. Highly recommended so structures don't take damage over time.

Step 9: Set Kits
To give players custom loadouts (raid gear for attackers, defense gear for defenders), you need Gear Core installed. Learn how to set up kits in the Gear Core documentation.
Code:
gm.rs set attackerkit raider_loadout
gm.rs set defenderkit defender_gear
Without Gear Core, players spawn with default empty inventory.

Step 10: Configure Match Settings
Set how long matches last and team sizes.
Code:
gm.rs set prepduration 60
gm.rs set roundduration 300
gm.rs set attackermaxplayers 5
gm.rs set defendermaxplayers 5
Prep duration (60 seconds) lets defenders build extra walls, place traps. Round duration (300 seconds / 5 minutes) is the time limit - defenders win if they survive this long. Adjust based on base difficulty.

Your arena is now live! Players can enter the teleporter to join matches.

Base Requirements

For bases to work properly with Raid Simulator:
  • Tool Cupboard: Each base MUST have exactly one TC (the win condition)
  • Sleeping Bags/Beds: Wherever you place these in the base, that's where players spawn. They'll show up automatically in the respawn menu for each player on the team.
  • Fill Storage Boxes with Loot: The plugin doesn't add items automatically. Stock boxes with what each team needs to do their job:
    • Attackers need raid supplies: satchels, rockets, C4, guns, healing
    • Defenders need to hold position: wood/stone for quick walls, medical supplies, close-range weapons
  • Auto-Lock & Authorization: Code locks and turrets work automatically. Place locks on doors/boxes, and players on the team can use them without entering codes. Turrets and cupboards auto-authorize team members.

How Spawns Work

Sleeping bags in your pasted base become spawn points automatically. The plugin names them by floor level - "Ground Floor", "Floor 2", "Rooftop", etc. If multiple bags are on the same floor, they get labeled A, B, C.

Players can place extra bags during prep or combat. These get added to the team spawn list automatically. If enemies destroy bags, those spawns disappear.

Fallback spawns (configured with gm.rs spawn <team> add) are backups. They activate when a player clicks Respawn instead of choosing a specific bag, or when all bags are destroyed.

Spectator spawns are safe viewing spots with a leash radius to keep them from wandering into the fight.

Configuration

JSON:
{
  "Version": "1.0.0",
  "Locked Inventory Containers": [
    "wear"
  ],
  "Scoreboard Opacity": 40.0
}
  • Locked Inventory Containers -- Which inventory slots are locked during matches to prevent equipment changes mid-combat. Options: "wear", "belt", "main", "all".
  • Scoreboard Opacity -- Background transparency of scoreboard (0 = invisible, 100 = solid). Higher values improve readability but increase screen obstruction.

Stored Data

JSON:
{
  "001": {
    "Enabled": true,
    "Id": "001",
    "Title": "Compound Raid Arena",
    "Gamemode": "RaidSimulator",
    "Radius": 75.0,
    "Position": {
      "x": 1000.0,
      "y": 50.0,
      "z": 500.0
    },
    "Rules": [
      "NoDecay",
      "NoSleeping",
      "NoItemContainerSpawn",
      "NoCrafting"
    ],
    "Teleporter": {
      "Radius": 3.0,
      "Position": {
        "x": 100.0,
        "y": 10.0,
        "z": 200.0
      },
      "Information Text Visibility Range": 15.0,
      "Visible Zone": true
    },
    "Information Template": "{Title}\nGamemode: {Gamemode}\nStatus: {Status}\nTime Left: {TimeLeft}\n\nAttackers ({AttackerCount} / {AttackerMax}):\n{AttackerList}\n\nDefenders ({DefenderCount} / {DefenderMax}):\n{DefenderList}",
    "Maximum Player Capacity": 20,
    "Spawn Points": [],
    "Blocked Commands": [],
    "Attacker Team Settings": {
      "Base Configurations": [
        {
          "CopyPaste Filename": "attacker_base",
          "Base Spawn Position": {
            "x": 1050.0,
            "y": 50.0,
            "z": 500.0
          },
          "Base Rotation In Degrees": 0.0,
          "Paste Options": {
            "auth": "false",
            "stability": "false",
            "inventories": "true",
            "deployables": "true",
            "height": "3.0"
          }
        }
      ],
      "Randomize Base Selection": false,
      "Maximum Players Allowed On This Team": 5,
      "Fallback Spawn Points": []
    },
    "Defender Team Settings": {
      "Base Configurations": [
        {
          "CopyPaste Filename": "defender_fortress",
          "Base Spawn Position": {
            "x": 950.0,
            "y": 50.0,
            "z": 500.0
          },
          "Base Rotation In Degrees": 180.0,
          "Paste Options": {
            "auth": "false",
            "stability": "false",
            "inventories": "true",
            "deployables": "true",
            "height": "3.0"
          }
        }
      ],
      "Randomize Base Selection": false,
      "Maximum Players Allowed On This Team": 5,
      "Fallback Spawn Points": []
    },
    "Preparation Phase Duration In Seconds (time before raid begins for setup)": 60.0,
    "Round Duration In Seconds (0 = unlimited time)": 300.0,
    "Attacker Equipment Kit (GearCore gear set name, leave empty for none)": "raider_kit",
    "Defender Equipment Kit (GearCore gear set name, leave empty for none)": "defender_kit",
    "Spectator Equipment Kit (GearCore gear set name, leave empty for none)": "",
    "Spectator Spawn Points (where spectators spawn and respawn)": [
      {
        "Id": "001",
        "Position": {
          "x": 1000.0,
          "y": 55.0,
          "z": 550.0
        },
        "Rotation": {
          "x": 0.0,
          "y": 0.0,
          "z": 0.0
        },
        "Radius": 2.0,
        "Leash Radius": 30.0
      }
    ],
    "Prevent Tool Cupboard Access (blocks players from opening TCs during match)": true,
    "Minimum Players Per Team Required To Start": 1,
    "Allow Friendly Fire (teammates can damage each other)": false,
    "Team Zone Opacity (0 = invisible, higher = more visible dome layers)": 1
  }
}
Arena Properties:
  • Enabled -- Arena is active and joinable
  • Id -- Unique arena identifier (auto-assigned on creation)
  • Title -- Display name shown to players
  • Gamemode -- Always "RaidSimulator"
  • Radius -- Arena boundary radius in meters
  • Position -- Arena center coordinates
  • Maximum Player Capacity -- Total players allowed (-1 = unlimited)
  • Rules -- Active gameplay restrictions (see Commands section for list)
  • Information Template -- Text shown at teleporter with placeholders like {Title}, {Status}, {TimeLeft}, {AttackerCount}, {DefenderCount}
Teleporter:
  • Radius -- Teleporter zone size in meters
  • Position -- Teleporter location in lobby
  • Information Text Visibility Range -- Distance where info text appears
  • Visible Zone -- Whether teleporter dome is visible
Match Configuration:
  • Preparation Phase Duration In Seconds -- Warmup time before combat starts. During prep phase, combat is disabled and team zones prevent crossing. Recommended: 45-120 seconds depending on base complexity.
  • Round Duration In Seconds -- Match time limit (0 = unlimited, not recommended). If time expires, defenders win automatically. Consider base size when setting duration.
  • Minimum Players Per Team Required To Start -- Players needed on each team before round begins. Prevents unfair 1v0 scenarios.
  • Allow Friendly Fire -- Whether teammates can damage each other. Set true for hardcore mode or to prevent explosive spam.
  • Prevent Tool Cupboard Access -- Blocks opening TC inventory during match. Focuses gameplay on destruction rather than looting.
  • Team Zone Opacity -- Visual dome layers around bases during prep (0 = invisible, higher = more visible). Helps identify base boundaries.
Team Configuration (Attacker/Defender):
  • Base Configurations-- List of possible bases for the team
    • CopyPaste Filename -- Name of saved Copy Paste file (without .json)
    • Base Spawn Position -- Where to paste the base
    • Base Rotation In Degrees -- Rotation angle 0-360
    • Paste Options -- Copy Paste plugin settings (see below)
  • Randomize Base Selection -- If true and multiple bases exist, randomly pick one each round
  • Maximum Players Allowed On This Team -- Team size limit
  • Fallback Spawn Points -- Backup spawns when players click Respawn instead of sleeping bags
Equipment Kits:
  • Attacker Equipment Kit -- Gear Core kit name for attackers (leave empty for none)
  • Defender Equipment Kit -- Gear Core kit name for defenders (leave empty for none)
  • Spectator Equipment Kit -- Gear Core kit name for spectators (leave empty for none)
Spectator Spawn Points:
  • Id -- Spawn identifier
  • Position -- Spawn location
  • Radius -- Randomization radius in meters
  • Leash Radius -- Maximum distance before auto-teleport back
Paste Options:
Important options you may need to configure:
  • height -- Vertical adjustment in meters. Positive raises base, negative lowers it. Useful for terrain adjustment.
  • inventories -- Whether to copy container contents. Set false for empty containers.
For other paste options, refer to Copy Paste documentation.

Localization

JSON:
{
  "Attackers.Win": "Attackers win! The tool cupboard has been destroyed.",
  "Defenders.Win": "Defenders win! The base was successfully defended.",
  "TimeExpired.DefendersWin": "Defenders win! Time expired.",
  "Team.Full": "That team is full.",
  "PrepPhase.Attacker": "Prep phase. Scout your position and gear up. Combat is disabled.",
  "PrepPhase.Defender": "Prep phase. Fortify your base and prepare. Combat is disabled.",
  "RoundStart.Attacker": "Raid started! Breach and destroy the enemy tool cupboard.",
  "RoundStart.Defender": "Raid started! Defend your tool cupboard.",
  "Team.CannotDisband": "You cannot disband the team during a match.",
  "Team.CannotLeave": "You cannot leave the team during a match.",
  "Team.CannotKick": "You cannot kick teammates during a match.",
  "Building.CannotPlaceTC": "You cannot place tool cupboards.",
  "Zone.StayInBase": "Stay within your base during prep phase.",
  "CodeLock.CannotUnlock": "Code locks cannot be unlocked.",
  "Wait.PrepPhase": "Please wait for the prep phase to start.",
  "CodeLock.CannotChange": "Codes cannot be changed during the match.",
  "CodeLock.CannotAccessEnemy": "You cannot access enemy locks.",
  "CodeLock.CannotEnterEnemy": "You cannot enter codes on enemy locks.",
  "Cupboard.CannotAuthEnemy": "You cannot access enemy tool cupboards.",
  "Cupboard.CannotClearAuth": "The auth list is locked.",
  "Cupboard.CannotDeauth": "You cannot deauthorize from your team's cupboard.",
  "Cupboard.AccessDisabled": "Cupboard access is disabled during the match.",
  "Container.LockedByEnemy": "This container belongs to the enemy.",
  "Door.LockedByEnemy": "This door belongs to the enemy.",
  "Scoreboard.Attackers": "Attackers ({0})",
  "Scoreboard.Defenders": "Defenders ({0})",
  "Scoreboard.AttackersRight": "({0}) Attackers",
  "Scoreboard.DefendersRight": "({0}) Defenders",
  "Scoreboard.ScoreLine": "Attackers {0} - {1} Defenders",
  "Status.WaitingForPlayers": "Waiting for Players",
  "Status.NeedPlayers": "Need players on both teams",
  "Status.PrepPhase": "Prep Phase",
  "Status.RaidInProgress": "Raid in Progress",
  "Status.BreachTC": "Destroy the Enemy TC",
  "Status.ProtectTC": "Defend Your TC",
  "Status.RoundOver": "Round Over",
  "UI.SelectTeam": "Select Team",
  "UI.SelectTeamSubtitle": "Raid the enemy base or defend your own from raiders",
  "UI.Attackers": "Attackers",
  "UI.Defenders": "Defenders",
  "UI.Spectator": "Spectate"
}
  • Like
Reactions: reddo
Author
VisEntities
License duration
Unlimited
Price
29.99 USD
First release
Last update

Ratings

0.00 star(s) 0 reviews

Parent plugin

Also by VisEntities

  • Anti No Recoil
    Anti No Recoil
    Analyzes player spray patterns and flags unusually accurate recoil control
  • One Push Boat
    One Push Boat
    Unflips flipped boats with one push and optionally mounts the pusher to the driver seat
  • Server Password
    Server Password
    Blocks gameplay with a keypad ui until the correct password is entered
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