Better No Escape

Better No Escape 1.4.3

Prevents teleportation, crafting, building, and more while in combat or raiding
image.jpg



Better No Escape creates a balanced gameplay environment by preventing players from exploiting teleportation commands, crafting items, or using other game mechanics to escape from combat situations or active raids. When a player engages in combat or damages a building, they become temporarily "blocked" from performing certain actions, ensuring fair and engaging PvP encounters.

The plugin features two independent blocking systems that work together:
  • Combat Block triggers when players deal or receive damage from other players or NPCs. This prevents players from teleporting away mid-fight or using healing items to gain unfair advantages during combat.
  • Raid Block activates when players damage buildings or deployables. It can create dynamic raid zones around targeted buildings that block all players within the zone from using escape mechanics, making offline raids and defensive play more meaningful.
Both systems are highly configurable with permission-based profiles, allowing you to create different rule sets for VIP players, streamers, or other groups. The plugin includes an intuitive HUD that displays remaining block time, integrates with popular clan and team plugins, and exposes a full API for developers.

Features

  • Dual Blocking System - Separate combat and raid blocking with independent durations and rules
  • Dynamic Raid Zones - Automatically creates zones around raided buildings using Zone Manager and Zone Domes
  • Customizable Action Restrictions - Block teleportation, crafting, building, healing, vending, kits, trading, and 15+ other actions
  • Damage Accumulation - Requires minimum damage threshold before triggering blocks to prevent spam
  • Friendly Fire Detection - Integrates with Clans and Friends plugins to prevent blocking during friendly damage
  • Permission Profiles - Create custom rule sets for different player groups (VIP, Streamer, etc.)
  • Entity Filtering - Include/exclude specific entities using keyword matching on prefab or type names
  • Distance Checks - Only trigger raid blocks if attacker is within configurable range
  • Health Percentage Triggers - Only block raids when building health drops below specified threshold
  • Command Blocking - Block specific commands during combat or raid situations
  • Real-time HUD Display - Shows remaining block time with customizable UI
  • Relationship-Based Blocking - Spread raid blocks to teammates, clanmates, friends, allies, or authorized players
  • Unblock Conditions - Configure when blocks are removed (death, respawn, disconnect)
  • Weapon Blacklist - Exclude specific weapons from triggering blocks
  • Damage Type Filtering - Only trigger blocks from specific damage types (bullets, explosions, etc.)
  • Third-Party Integration - Supports Clans, Backpacks, NTeleportation, Zone Manager, Kits, and more

Better No Escape vs No Escape

FeatureNo EscapeBetter No Escape
SetupRequires granting dozens of individual permissions for each block type (tpblock, craftblock, buildblock, etc.)Configure your blocked actions in one place and it just works — no permission setup needed
Raid ZonesFixed radius from where damage occurred — same size for every baseCalculates actual building footprint — small bases get small zones, large compounds get appropriate coverage
Visual Zone BoundariesNo visual indication of raid zoneZone Domes integration shows players exactly where the boundaries are
Combat Block DetectionSingle hit triggers block — stray bullets and accidents countDamage adds up over a short window, so only real fights trigger blocks
Permission ProfilesOne global config for all playersCreate custom rule sets for VIPs, donors, streamers — each group gets their own blocked actions and commands
Blockable Actions~15 actions21 actions including healing, mounting, TC auth/deauth, stash hiding, item pickup, item deployment
Combat vs Raid RulesShared settings for bothIndependent command lists and action restrictions — block /home during raids but allow it in combat

Recommended Plugins

  • Nerfed Raid Building -- Makes newly placed or upgraded walls spawn at reduced health during raids instead of full HP, preventing defenders from panic-spamming fresh structures. Replaces the Raidblock Building Health plugin for users migrating from the original No Escape.

Permissions

  • betternoescape.admin -- Allows use of admin commands
  • betternoescape.bypass -- Bypasses all combat and raid blocking

Permission Profiles

Permission profiles allow you to create custom blocking rules for different player groups. Each profile requires a permission in the format betternoescape.<suffix>.

Example permissions from default config:
  • betternoescape.vip -- Uses VIP profile with reduced restrictions
  • betternoescape.streamer -- Uses Streamer profile with reduced restrictions
Players with profile permissions will use the profile's custom blocked commands and disallowed actions instead of the default configuration.

Commands

  • bne.reset <playerNameOrId> -- Removes all blocks from the specified player
  • bne.reset <playerNameOrId> combat -- Removes only combat block from the specified player
  • bne.reset <playerNameOrId> raid -- Removes only raid block from the specified player

Configuration

Combat Block Settings

JSON:
"Combat Block": {
  "Enabled": true,
  "Block Duration Seconds": 180.0,
  "Block Attacker On Damage Dealt": true,
  "Minimum Damage To Block Attacker": 0.0,
  "Block Victim On Damage Taken": true,
  "Minimum Damage To Block Victim": 0.0,
  "Damage Accumulation Window Seconds": 5.0,
  "Ignore Friendly Fire": true,
  "Include Entity Keywords (prefab or type name substring)": [
    "scientist",
    "patrolhelicopter",
    "bradleyapc"
  ],
  "Exclude Entity Keywords (prefab or type name substring)": [
    "corpse"
  ],
  "Allowed Damage Types": [
    "Bullet",
    "Arrow",
    "Blunt",
    "Slash",
    "Stab",
    "ElectricShock"
  ],
  "Ignored Weapon Prefabs": [],
  "Blocked Commands": [
    "tp"
  ],
  "Disallowed Actions": [
    "NoCraft",
    "NoBuild",
    "NoItemDrop",
    "NoRepair",
    "NoUpgrade",
    "NoRecycle",
    "NoAutoGrade",
    "NoVending",
    "NoKit",
    "NoTeleport",
    "NoTrade",
    "NoBackpack",
    "NoHeal",
    "NoBank",
    "NoStash",
    "NoMount",
    "NoItemDeploy",
    "NoAuth",
    "NoDeauth",
    "NoItemPickup",
    "NoArmory"
  ]
}
  • Enabled -- Master toggle for combat blocking system. Set to false to disable all combat blocking.
  • Block Duration Seconds -- How long players remain combat blocked after damage occurs (default: 180 seconds / 3 minutes).
  • Block Attacker On Damage Dealt -- Whether the attacking player gets combat blocked when dealing damage.
  • Minimum Damage To Block Attacker -- Minimum damage the attacker must deal before getting blocked. Set to 0.0 to block on any damage. Higher values prevent spam from weak weapons (e.g., set to 5.0 to require at least 5 damage).
  • Block Victim On Damage Taken -- Whether the victim gets combat blocked when taking damage.
  • Minimum Damage To Block Victim -- Minimum damage the victim must take before getting blocked. Works the same as attacker minimum.
  • Damage Accumulation Window Seconds -- Time window for accumulating damage to reach minimum threshold. If a player deals 3 damage, then 3 more damage within this window, it counts as 6 total damage. After this window expires, damage counter resets.
  • Ignore Friendly Fire -- When true, damage between teammates, clanmates, friends, or allies will not trigger combat blocks. Requires Clans and/or Friends plugins.
  • Include Entity Keywords -- List of keywords to match against entity prefab names or type names. Only entities matching these keywords will trigger combat blocks. Use lowercase keywords.
  • Exclude Entity Keywords -- Entities matching these keywords will never trigger combat blocks, even if they match include keywords. Useful for excluding specific entity types like corpses.
  • Allowed Damage Types -- Only these damage types will trigger combat blocks. Remove types to prevent blocking from those sources. Available types: Bullet, Arrow, Blunt, Slash, Stab, Bite, Poison, Cold, Drowned, Heat, Hunger, Thirst, Radiation, RadiationExposure, Bleeding, Fall, Generic, Explosion, ElectricShock, AntiVehicle.
  • Ignored Weapon Prefabs -- Specific weapon short prefab names that will never trigger combat blocks. Example: ["snowball", "candycaneclub"] to exclude snowballs and candy cane clubs.
  • Blocked Commands -- List of commands that cannot be used while combat blocked. Commands are checked case-insensitive without the prefix. Example: to block /tp`, /tpr, and /home, use ["tp", "tpr", "home"].
  • Disallowed Actions -- List of actions players cannot perform while combat blocked. See Profile Configuration for all available action types.

Raid Block Settings

JSON:
"Raid Block": {
  "Enabled": true,
  "Block Duration Seconds": 300.0,
  "Only Block If Entity Health Below Percent (0-100)": 0,
  "Only Block If Entity Has Owner": true,
  "Ignore If Attacker Farther Than (metres)": 10.0,
  "Include Entity Keywords (prefab or type name substring)": [
    "building",
    "door"
  ],
  "Exclude Entity Keywords (prefab or type name substring)": [
    "ladder"
  ],
  "Allowed Damage Types": [
    "Explosion",
    "Blunt"
  ],
  "Ignored Weapon Prefabs": [],
  "Block Nearby Players Within Distance (only used if raid zone is disabled)": 30.0,
  "Relations To Block Near Attacker (ignored if raid zone is enabled)": [
    "Owner",
    "Teammate",
    "Auth"
  ],
  "Raid Zone (blocks all players in zone, ignores relations)": {
    "Create Zone": true,
    "Zone Radius (metres added outside the building)": 30.0,
    "Zone Flags": {
      "nobuild": "true",
      "nodeploy": "true",
      "noplayerloot": "true"
    },
    "Dome Stack": 1,
    "Dome Color (0-standard, 1-red, 2-blue, 3-green, 4-purple)": 0
  },
  "Blocked Commands": [
    "tp"
  ],
  "Disallowed Actions": [
    "NoCraft",
    "NoBuild",
    "NoItemDrop",
    "NoRepair",
    "NoUpgrade",
    "NoRecycle",
    "NoAutoGrade",
    "NoVending",
    "NoKit",
    "NoTeleport",
    "NoTrade",
    "NoBackpack",
    "NoHeal",
    "NoArmory",
    "NoStash",
    "NoMount",
    "NoItemDeploy",
    "NoAuth",
    "NoDeauth",
    "NoItemPickup",
    "NoBank"
  ]
}
  • Enabled -- Master toggle for raid blocking system.
  • Block Duration Seconds -- How long the raid block lasts (default: 300 seconds / 5 minutes). This timer refreshes each time the building takes damage.
  • Only Block If Entity Health Below Percent -- Only trigger raid blocks when the damaged entity's health drops below this percentage. Set to 0 to always trigger regardless of health. Set to 50 to only trigger when entity is below 50% health.
  • Only Block If Entity Has Owner -- When true, only blocks raids on owned entities. Unowned entities (like monuments) won't trigger blocks.
  • Ignore If Attacker Farther Than -- If the attacker is farther than this distance from the damaged entity, no raid block occurs. Set to 0.0 to disable distance checking. Default 10.0 prevents blocking from long-range explosive throws.
  • Include Entity Keywords -- Entities must match at least one of these keywords to trigger raid blocks. Default includes "building" and "door". Use lowercase.
  • Exclude Entity Keywords -- Entities matching these keywords never trigger raid blocks.
  • Allowed Damage Types -- Only these damage types trigger raid blocks. Default includes "Explosion" and "Blunt" for typical raiding tools like rockets, C4, and melee weapons.
  • Ignored Weapon Prefabs -- Weapon short prefab names that won't trigger raid blocks.
  • Block Nearby Players Within Distance -- Only used when raid zones are disabled. Blocks all players within this distance of the damaged entity who match the relationship criteria below.
  • Relations To Block Near Attacker-- Only used when raid zones are disabled. Defines which players get blocked based on their relationship to the attacker or building owner. Available relationships:
    • "Everyone" -- Blocks all players in range (overrides all other settings if present)
    • "Owner" -- Building owner
    • "Teammate" -- Players on the same team (default Rust team system)
    • "Friend" -- Friends of attacker or owner (requires Friends plugin)
    • "Clanmate" -- Clan members of attacker or owner (requires Clans plugin)
    • "ClanAlly" -- Allied clan members (requires Clans plugin)
    • "Auth" -- Players authorized on tool cupboards in the building

Raid Zone Configuration

When "Create Zone": true, the plugin creates dynamic zones around raided buildings using Zone Manager and optionally Zone Domes.
  • Create Zone -- When true, creates a zone around the entire building that blocks all players inside, regardless of relationships. When false, uses the distance and relationship settings above instead.
  • Zone Radius -- Additional radius added beyond the building's actual size. The plugin automatically calculates the building's size and adds this buffer.
  • Zone Flags-- Zone Manager flags to apply to the raid zone. These control zone behavior:
    • "nobuild": "true" -- Prevents building in the zone
    • "nodeploy": "true" -- Prevents deploying items in the zone
    • "noplayerloot": "true" -- Prevents looting players in the zone
See Zone Manager documentation for all available flags.
  • Dome Stack -- Number of dome layers to stack on the zone for visibility. Set to 0 to disable domes. Each stack adds another dome layer. Default 1 creates a single visible dome. Requires Zone Domes plugin.
  • Dome Color-- Color of the zone dome:
    • 0 -- Standard (white/transparent)
    • 1 -- Red
    • 2 -- Blue
    • 3 -- Green
    • 4 -- Purple

Unblock Conditions

JSON:
"Unblock When": {
  "Unblock When Player Dies": true,
  "Unblock When Player Respawns": true,
  "Unblock When Player Respawns At Bag": false,
  "Unblock When Player Disconnects": true
}
  • Unblock When Player Dies -- Removes all blocks when player dies.
  • Unblock When Player Respawns -- Removes all blocks when player respawns (not at a bag/bed).
  • Unblock When Player Respawns At Bag -- Removes all blocks when player respawns at a sleeping bag or bed. Set to false to prevent respawning at a nearby bag to escape blocks.
  • Unblock When Player Disconnects -- Removes all blocks when player disconnects. Set to false to keep blocks active even when offline (they'll resume on reconnect).

Profile Configuration

JSON:
"Permission Profiles": [
  {
    "Permission Suffix": "vip",
    "Disallowed Actions": [
      "NoBuild",
      "NoUpgrade"
    ],
    "Blocked Commands": [
      "tp"
    ]
  },
  {
    "Permission Suffix": "streamer",
    "Disallowed Actions": [
      "NoBuild",
      "NoUpgrade"
    ],
    "Blocked Commands": [
      "tp"
    ]
  }
]
Each profile creates a permission in the format betternoescape.<suffix>;. Players with a profile permission use that profile's settings instead of the default combat/raid settings.
  • Permission Suffix -- The suffix appended to betternoescape. to create the permission name. Must be lowercase.
  • Disallowed Actions -- Custom action restrictions for this profile. Only these actions will be blocked, replacing the default lists entirely.
  • Blocked Commands -- Custom command blocks for this profile, replacing default lists.
Available Actions:
  • NoCraft - Prevents crafting items
  • NoBuild - Prevents placing building blocks
  • NoItemDrop - Prevents dropping items
  • NoRepair - Prevents repairing structures
  • NoUpgrade - Prevents upgrading building blocks
  • NoRecycle - Prevents using recyclers
  • NoAutoGrade - Prevents BGrade plugin auto-upgrading
  • NoVending - Prevents using vending machines
  • NoKit - Prevents redeeming kits (requires Kits plugin)
  • NoTeleport - Prevents teleportation (requires NTeleportation plugin)
  • NoTrade - Prevents trading (requires Trade plugin)
  • NoBackpack - Prevents opening backpacks (requires Backpacks plugin)
  • NoHeal - Prevents using medical items
  • NoBank - Prevents using bank (requires Bank plugin)
  • NoStash - Prevents hiding stashes
  • NoMount - Prevents mounting vehicles/animals
  • NoItemDeploy - Prevents deploying items like sleeping bags, furnaces, etc.
  • NoAuth - Prevents authorizing on tool cupboards
  • NoDeauth - Prevents deauthorizing on tool cupboards
  • NoItemPickup - Prevents picking up items
  • NoArmory - Prevents using armory boxes (requires Armory plugin)

Troubleshooting

Blocks not triggering:
  • Check that Enabled is true for the relevant block type
  • Verify the damage type is in Allowed Damage Types
  • Ensure minimum damage thresholds are met
  • Check if the weapon is in Ignored Weapon Prefabs
  • Verify entity matches Include Entity Keywords and doesn't match Exclude Entity Keywords
  • For raid blocks: verify attacker is within Ignore If Attacker Farther Than distance (set to 0 to disable distance check)
Raid zones not appearing:
  • Install Zone Manager plugin (required)
  • Set "Create Zone": true in configuration
  • Install Zone Domes plugin for visual domes (optional but recommended)
  • Check console for zone creation errors
Friendly fire still triggering blocks:
  • Set Ignore Friendly Fire to true
  • Install Clans and/or Friends plugins
  • Verify players are actually teammates/friends/clanmates in those plugins
Players bypassing blocks:
  • Check if they have betternoescape.bypass permission
  • Verify the specific action is in Disallowed Actions or command is in Blocked Commands
  • Check if they're using a permission profile with different settings

Developer API

API_IsCombatBlocked

C#:
bool API_IsCombatBlocked(BasePlayer player)
Checks if a player is currently combat blocked.
  • player (BasePlayer) -- The player to check
  • Returns bool -- true if player has an active combat block, false otherwise

API_IsRaidBlocked

C#:
bool API_IsRaidBlocked(BasePlayer player)
Checks if a player is currently raid blocked (including zone-based blocking).
  • player (BasePlayer) -- The player to check
  • Returns bool -- true if player has an active raid block, false otherwise

API_GetCombatBlockTimeLeft

C#:
double API_GetCombatBlockTimeLeft(BasePlayer player)
Gets the remaining combat block time in seconds for a player.
  • player (BasePlayer) - The player to check
  • Returns double - Remaining time in seconds until combat block expires, or 0.0 if not blocked

API_GetRaidBlockTimeLeft

C#:
double API_GetRaidBlockTimeLeft(BasePlayer player)
Gets the remaining raid block time in seconds for a player.
  • player (BasePlayer) - The player to check
  • Returns double - Remaining time in seconds until raid block expires, or 0.0 if not blocked

Usage Example

C#:
// Example: Integrate with custom teleport plugin
private object CanTeleport(BasePlayer player)
{
    if (BetterNoEscape == null)
        return null;

    // Check combat block
    bool combatBlocked = (bool)BetterNoEscape.Call("API_IsCombatBlocked", player);
    if (combatBlocked)
    {
        double timeLeft = (double)BetterNoEscape.Call("API_GetCombatBlockTimeLeft", player);
        return $"Cannot teleport while combat blocked! ({timeLeft:F0}s remaining)";
    }

    // Check raid block
    bool raidBlocked = (bool)BetterNoEscape.Call("API_IsRaidBlocked", player);
    if (raidBlocked)
    {
        double timeLeft = (double)BetterNoEscape.Call("API_GetRaidBlockTimeLeft", player);
        return $"Cannot teleport while raid blocked! ({timeLeft:F0}s remaining)";
    }

    return null; // Allow teleport
}
Author
VisEntities
License duration
Unlimited
Price
14.99 USD
First release
Last update

Ratings

0.00 star(s) 0 reviews

Also by VisEntities

Latest updates

  1. 1.4.3

    Fixed NPC entities (scientists, etc.) bypassing combat block include/exclude keyword filters.
  2. 1.4.2

    Patched for the November 6th Rust update.
  3. 1.4.1

    Fixed BGrade integration not working due to incorrect method signature.
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