RustShield
1 / 2

RustShield
RustShield is a standalone player shield system for Rust servers.
It adds a separate shield layer on top of player health. When a player takes supported combat damage, the shield absorbs damage first before the remaining damage is passed through to health.
The plugin is designed to be simple, configurable, and easy to use. It includes shield profiles, passive recharge, healing item restore, shield break effects, and a compact HUD display.
Features
- Player shield system with separate current and maximum shield values
- Damage absorption before health damage
- Configurable damage types that can consume shield
- Passive shield recharge after a delay
- Optional shield restore from healing items
- Optional shield restore on kills
- Shield break state with optional screen overlay
- Compact shield HUD
- Permission/profile based shield tiers
- Admin commands for managing player shields
- Data saving for player shield states
Default Damage Behavior
By default, RustShield is configured so normal combat damage can consume shield.
Default shield damage types include:
- Bullet
- Arrow
- Slash
- Blunt
- Stab
- Bite
- Explosion
- AntiVehicle
- Cannon
Fall damage, hunger, thirst, cold, drowning, bleeding, poison, radiation, decay, collision, and other status/world damage do not consume shield unless you add those damage types to the config.
Commands
Player Command
- /shield
Shows your current shield amount, maximum shield amount, and active shield profile.
Admin Command
- /shieldadmin
Admin command for checking, giving, setting, filling, clearing, and reloading shield data.
Available admin actions:
- /shieldadmin status <player|steamid>
- /shieldadmin give <player|steamid> <amount>
- /shieldadmin set <player|steamid> <current> [max]
- /shieldadmin max <player|steamid> <amount>
- /shieldadmin full <player|steamid>
- /shieldadmin clear <player|steamid>
- /shieldadmin reload
Permissions
- rustshield.use
Allows players to use the shield system when permission access is enabled in the config.
- rustshield.admin
Allows access to the admin shield command.
Configuration
RustShield includes configurable sections for:
- Chat settings
- Commands
- General access settings
- Shield system
- Shield profiles
- Passive recharge
- Healing item restore
- Shield break behavior
- Kill restore
- Shield HUD
The default configuration is ready to use, but server owners can adjust shield values, profile tiers, recharge speed, HUD position, HUD colors, damage types, and restore behavior.
Developer API
RustShield includes simple API methods and external hooks for other plugins that want to read or modify player shield values.
API Methods
GetShield(ulong userId)
Returns the player's current shield amount.
GetMaxShield(ulong userId)
Returns the player's current maximum shield amount.
RestoreShield(ulong userId, float amount)
Restores shield to a player. Returns true if the shield value changed.
DamageShield(ulong userId, float amount)
Directly damages a player's shield. Returns true if the shield value changed.
SetShield(ulong userId, float currentShield)
Sets a player's current shield value. Returns true if the shield value changed.
SetMaxShield(ulong userId, float maximumShield)
Sets a custom maximum shield value for a player. Use 0 to return the player to their configured profile maximum. Returns true if the value changed.
ClearShield(ulong userId)
Clears a player's current shield. Returns true if the shield value changed.
External Hooks
OnRustShieldAbsorbed(BasePlayer player, float amount)
Called when a player's shield absorbs damage.
OnRustShieldRestored(BasePlayer player, float amount, string source)
Called when a player's shield is restored.
Possible restore sources include:
admin
api
passive_recharge
healing_item
kill
respawn
first_use
OnRustShieldBroken(BasePlayer player)
Called when a player's shield breaks.