Calytic
Prevent "teleportation" (and more) while in raid or combat

Supported Games

No Escape prevents teleportation (and other actions) when a raid or combat is detected. NoEscape is meant to reduce the impact of many popular plugins on the core gameplay mechanics of Rust, namely combat strategy and tactics.

Blocked Commands

  • /home and /tpr -- N-Teleportation
  • /remove -- Remover Tool
  • /t home # -- Magic Teleportation
  • /bgrade -- BGrade
  • /trade -- Trade
  • /rec -- Recycle
  • /bank -- Bank
  • /kit -- Kits
  • /shop -- GUI Shop
  • /backpack -- Backpacks

Permissions

IMPORTANT You must assign permissions for the types of blocking you want.

This plugin requires permissions and cannot be used without assigning permissions to the players who are to be blocked. For example..

o.grant group default noescape.raid.tpblock

  • noescape.raid.tpblock and noescape.combat.tpblock
    Blocks teleportation (/home /tpr)
  • noescape.raid.removeblock and noescape.combat.removeblock
    Blocks remover tool (/remove)
  • noescape.raid.bgradeblock and noescape.combat.bgradeblock
    Blocks automatic building grades (/bgrade)
  • noescape.raid.buildblock and noescape.combat.buildblock
    Blocks regular building
  • noescape.raid.repairblock and noescape.combat.repairblock
    Blocks regular repairing
  • noescape.raid.upgradeblock and noescape.combat.upgradeblock
    Blocks regular upgrading of structures
  • noescape.raid.vendblock and noescape.combat.vendblock
    Blocks using vending machines
  • noescape.raid.tradeblock and noescape.combat.tradeblock
    Blocks trade (/trade)
  • noescape.raid.recycleblock and noescape.combat.recycleblock
    Blocks recycling (/recycle)
  • noescape.raid.bankblock and noescape.combat.bankblock
    Blocks bank (/bank)
  • noescape.raid.kitblock and noescape.combat.kitblock
    Blocks redeeming of kits (/kit)
  • noescape.raid.assignbedblock and noescape.combat.assignbedblock
    Blocks players from assigning others to a sleeping bag
  • noescape.raid.shopblock and noescape.combat.shopblock
    Blocks players from using shop related plugins
  • noescape.raid.craftblock and noescape.combat.craftblock
    Blocks players from crafting
  • noescape.raid.mailboxblock and noescape.combat.mailboxblock
    Blocks players from using mailbox
  • noescape.raid.backpackblock and noescape.combat.backpackblock
    Blocks players from using backpacks (Backpacks plugin, not player inventory)

Bypass Permission

  • noescape.disable
    Disables all blocking behavior for group or player

Configuration

Raid Block

Detects when a raid is occurring and block players from using teleport (or other commands).

The raid "participants" whom may be blocked:

  • The owner of the base
  • The nearby clan-mates of the owner
  • The nearby friends of the owner
  • The raid initiator
  • The nearby clan-mates of the raid initiator
  • The nearby friends of the raid initiator
  • Anyone nearby (including raiders and bystanders)

Raid Block Options

  • enabled (default: true)
    Determines if raiding will start blocking behavior
  • duration (default: 300)
    The length of time before the raid block is lifted (default 5 minutes)
  • distance (default: 100)
    The distance the owner must be from where the raid is occurring (default 100 meters)
  • notify (default: true)
    Whether or not player is notified when they are raid blocked.
  • includePrefabs
    List of additional prefabs that will start raid blocking behavior, such as doors, window bars, floor frames, wall frames, shutters, or external walls
  • excludePrefabs
    List of prefabs that will not start blocking behavior, such as a wooden ladder
  • excludeWeapons
    List of weapons that will not start blocking behavior, such as a torch
  • damageTypes
    List of damage types that will start blocking behavior. Such as: bullet, blunt, stab, slash, explosion, and heat damage.

Raid Block Except

  • owner (default: true)
    Prevents the owner from blocking themselves
  • clan (default: false)
    Prevents clan-mates from blocking eachother
  • friends (default: false)
    Prevents friends from blocking eachother

Raid Block When

  • damage
    • enabled (default: true)
      Determines if damaging a structure/prefab will start blocking behavior
    • minCondition (default: 100.0)
      The condition (percentage) of a structure before blocking will start
  • destroy (default: false)
    Determines if destroying a structure/prefab will start blocking behavior
  • unowned (default: false)
    Determines if damaging/destroying unowned structures/prefabs will start blocking behavior

Raid Block Who

  • everyone (default: false)
    Blocks everyone within configured distance, including raiders and bystanders (Note: this setting will override all other raid blocking behavior)
  • owner (default: true)
    Blocks owner of target block (if within configured distance)
  • clan (default: false)
    Block nearby clan-mates of owner or raider
  • friends (default: false)
    Block nearby friends of owner or raider
  • raider (default: false)
    Blocks player who initiated raid
  • cupboardAuthorized (default: false)
    Blocks nearby players who are authorized on you or friends cupboard

Raid Unblock When

  • death (default: true)
    Determines if death will stop raid blocking behavior
  • respawn (default: true)
    Determines if respawning will stop raid blocking behavior
  • wakeup (default: false)
    Determines if waking up will stop raid blocking behavior

Raid Block Map

  • enabled (default: false)
    Announces raid to LustyMap as an icon
  • duration (default: 150)
    Determines how long a LustyMap icon will last on the map
  • icon (default: special)
    Name of icon to be used on the map (please consult LustyMap documentation on how to use your own icons)

Raid Block Zone

  • enabled (default: false)
    Determines if ZoneManager creates a raid block zone where the raid was initiated

  • enter (default: true)
    Determines if entering a raid block zone will block anyone who enters it

  • leave (default: false)
    Determines if leaving a raid block zone will stop blocking anyone who leaves it

    Raid Block RaidableBases Zone

  • enabled (default: false)
    Determines if RaidableBases integration is enabled

  • enter (default: true)
    Determines if entering a RaidableBases raid zone will block anyone who enters it

  • leave (default: false)
    Determines if leaving a RaidableBases raid zone will stop blocking anyone who leaves it

Combat Block

Detects when a player has given or received damage to/from another player, then blocks one or both parties for the configured duration.

Combat Block Options

  • enabled (default: false)
    Determines if combat will start blocking behavior
  • duration (default: 180)
    The length of time before the combat block is lifted (default 3 minutes)
  • notify (default: true)
    Whether or not player is notified when they are combat blocked.
  • damageTypes
    List of damage types that will start blocking behavior. Such as: bullet, arrow, blunt, stab, slash, electric, explosion, and heat damage.

Combat Block When

  • giveDamage (default: true)
    • enabled (default: true)
      Whether successfully hitting another player blocks you
    • minCondition (default: 100.0)
      Your health (percentage) before blocking will start
    • minDamage (default: 1.0)
      The minimum amount of damage (per hit) before blocking will start
  • takeDamage (default: true)
    • enabled (default: true)
      Whether successfully being hit by another player blocks you
    • minCondition (default: 100.0)
      Your health (percentage) before blocking will start
    • minDamage (default: 1.0)
      The minimum amount of damage (per hit) before blocking will start
  • npcGiveDamage (default: false)
    Whether successfully hitting a npc blocks you
  • npcTakeDamage (default: false)
    Whether successfully being hit by a npc blocks you*

Combat Unblock When

  • death (default: true)
    Determines if death will stop combat blocking behavior
  • respawn (default: true)
    Determines if respawning will stop combat blocking behavior
  • wakeup (default: false)
    Determines if waking up will stop combat blocking behavior

Notifications (Built-In)

  • Chat (default: true)
    Players receive chat notifications about their block status
  • UI (default: true)
    Players receive UI notifications about their block status

Notifications (GUI Announcements)

  • enabled (default: false)
    Creates GUIAnnouncements informing players if they have been blocked or unblocked
  • backgroundColor (default: Red)
    The background color of the GUIAnnouncement notification (please consult GUIAnnouncement documentation on available color options)
  • textColor (default: White)
    The text color of the GUIAnnouncement notification (please consult GUIAnnouncement documentation on available color options)

Cache Settings

  • cacheMinutes (default: 1)
    The number of minutes that clan/friend relationships are stored in-memory before checking for new relationship status

Hook Optimization & Conflicts

Block Types

All block types are enabled by default - though none are used without the appropriate permissions. Disabling certain kinds of blocking will disable the hooks associated with those types of blocking.

For example, if you remove "craft" from the block types list, NoEscape will no longer hook CanCraft. This is useful for improving performance by disabling blocking behavior that you are not using or removing conflicts with other plugins that use the same hooks.

The following list will point out block types which may be removed for performance improvement and/or conflict resolution.

Default Block Types

  • remove
  • tp
  • bank
  • trade
  • recycle
  • shop
  • bgrade
  • build (optimized)
  • repair (optimized)
  • upgrade (optimized)
  • vend (optimized)
  • kit
  • assignbed (optimized)
  • craft (optimized)
  • mailbox (optimized)

Developer API

bool IsEscapeBlocked(BasePlayer target)
bool IsEscapeBlocked(string target)
bool IsRaidBlocked(BasePlayer target)
bool IsRaidBlocked(string target)
bool IsCombatBlocked(BasePlayer target)
bool IsCombatBlocked(string target)

void StartRaidBlocking(BasePlayer player, Vector3 position, createZone = true)
void StopBlocking(BasePlayer target)
void StopRaidBlocking(string target)
void StartCombatBlocking(BasePlayer target)
void StopCombatBlocking(string target)

// non-null stops blocking behavior
object CanRaidBlock(BasePlayer player, Vector3 position, bool createZone)
object CanCombatBlock(BasePlayer player)

MIT License


Copyright (c) 2019 Calytic


Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:


The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.


THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.