Standalone player shield system with recharge, damage absorption, and HUD support.
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.
By default, RustShield is configured so normal combat damage can consume shield.
Default shield damage types include:
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.
Player Command
Shows your current shield amount, maximum shield amount, and active shield profile.
Admin command for checking, giving, setting, filling, clearing, and reloading shield data.
Available admin actions:
Allows players to use the shield system when permission access is enabled in the config.
Allows access to the admin shield command.
RustShield includes configurable sections for:
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.
RustShield includes simple API methods and external hooks for other plugins that want to read or modify player shield values.
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.
admin
api
passive_recharge
healing_item
kill
respawn
first_use
OnRustShieldBroken(BasePlayer player)
Called when a player's shield breaks.
https://discord.gg/jewGrSqHB4