About Offline Raid Protection
The Offline Raid Protection plugin is a comprehensive solution that reduces or completely prevents damage to player-owned bases, vehicles, and boats when their owners are offline. Offering unparalleled control, server owners can adjust the level of damage based on real-world hours or the amount of time a player has been offline.
New in version 1.6.0, you can also set customized schedules and automated wipe phases.
Designed for servers seeking meaningful offline or online protection, without sacrificing server performance, this plugin provides total control over damage scales, cooldowns, team behaviour, decaying bases, rentable shops, apartments and more.
Highlights
Flexible Damage Scaling: Set damage scales based on real-world hours and/or offline time. A scale of 0.0 blocks all damage; a scale of 1.0 allows normal, vanilla-level damage; and values above 1.0 actively increase incoming damage.
Scheduled Timescales: Temporarily override standard damage scales for specific date ranges. Perfect for custom weekend rates, holiday events, launch-day protection, or planned balance changes.
Wipe Templates: Automate your wipe cycle with reusable phases (e.g., strong protection immediately post-wipe, scaling down over subsequent days). Assign a default template for every wipe, or queue a specific template for the next wipe only.
Status HUD: An optional, configurable on-screen HUD that displays a building's current protection status, protection percentage, remaining time, and penalty timers. Position and visibility rules are customizable.
Game Tip Messages: Displays color-coded game-tip messages to attackers, optionally restricted to specific damage types (melee, ranged, explosive).
Admin-Only Map Markers: Equip your admins with color-coded map markers for protected Tool Cupboards and boats. Markers feature dynamic protection-state circles, live boat tracking, and detailed hover tooltips showing authorized players. Marker colors, radius, transparency, and refresh rates are configurable.
Team, Clan & Code Lock Integration: Protection intelligently accounts for teams or clans, and optionally Code Lock whitelists.
Boat & Vehicle Protection: Optionally extend protection to modular boats, tugboats, and vehicles, including their relevant authorization paths.
Anti-Abuse Penalties: Discourage players from exploiting protection by applying configurable penalties when they leave or disband teams.
Apartment & Rentable Shop Support: Protects against master-key break-ins based solely on the actual rental owner, ignoring team or clan status for these specific entities.
Grief TC Detection: Automatically identifies and excludes later-placed, overlapping Tool Cupboards from receiving protection. Admins can manually inspect and override these classifications.
Cache System: The plugin uses a caching system to optimize performance and keep the impact on the server to a bare minimum.
Developer API: Exposes endpoints for other plugins to query protection scales, owner IDs, remaining time, and penalty states via Plugin.Call.
Scheduled Timescales & Wipe Templates
Your standard configuration acts as the baseline fallback. When "Enable scheduled timescales" is turned on and a valid scheduled profile is active, its specific damage-scale tables take absolute precedence for that date range. Once the schedule expires (or if no profile is active), the plugin seamlessly reverts to your normal configuration.
Wipe Templates are reusable blueprints, not live schedules. When the server detects a new save, the plugin checks for a queued template. If there is none, it uses your designated default template to automatically generate concrete, dated schedule profiles based on the template's phases. Then, the queued selection is cleared while the default template remains ready for future wipes.
Configuration & Editing
- Carbon Users: Type /orp.schedule to open a powerful in-game Schedule and Wipe Template editor.
-
Oxide Users (or Carbon without Admin UI modules): Schedules and templates can be easily edited manually within their dedicated .json data files. The Documentation section describes how to edit the JSON files in detail. Using /orp.schedule will instead report the current schedule state in the chat/console.
Commands
All command names can be changed in the configuration.
- /orp or /ao <Steam ID or full name> — Check a player's offline protection status. You can type the command without a name when looking at a player's structure
- /raidprot — Show Offline Raid Protection information
- /orp.fill.onlinetimes — Fill all players offline times (Chat & Console command)
- /orp.test.offline <steam id or full name> <hours> — Change a player's offline time
- /orp.test.online <steam id or full name> — Change a player's offline time to the current time
- /orp.test.penalty <steam id or full name> <hours> — Change the duration of a player's penalty. A negative value or zero would disable the penalty
-
/orp.test.grief — Display the detected Grief-TC status of the building you are looking at
/orp.test.grief <true|false|none> — Force the Grief-TC status of the looked-at building
/orp.test.grief <true|false|none> <TC network ID> [...] — Set the status for one or more Tool Cupboards by network ID -
/orp.schedule — Open the Carbon schedule/template editor when available; otherwise show scheduling information.
/orp.schedule <true|false> — Enable or disable Scheduled Timescales (admin only). - orp.update.permissions — Refresh the protection-permission status (`offlineraidprotection.protect`) for all players (Console command)
- orp.update.prefabs <true> — Updates the 'Prefabs to protect' list in the configuration. Overwrites the list with the 'true' argument (Console command)
-
orp.dump.prefabs — Clears the 'Prefabs to protect' list in the configuration (Console command)
Permissions
All permissions can be configured.
- offlineraidprotection.protect — Allows a player to be protected from raids
- offlineraidprotection.check — Allows a player to check the offline protection status of other players
- offlineraidprotection.admin — Allows use of administrative commands, including schedule controls
Use oxide.grant / oxide.revoke or carbon.grant / carbon.revoke to manage permissions, depending on the framework in use.
Configuration
The configuration is to a large extent self-explanatory.
Raid Protection Options
Only mitigate damage caused by players:
- Choose whether or not to only mitigate damage caused directly by players.
- Enable this to prevent players from causing base damage by baiting patrol helicopters, etc.
Protect players that are online:
- Choose whether or not to protect the bases of the players who are online.
- Works when "Scale of damage depending on the current hour of the real day" is configured.
Enable scheduled timescales:
- Enable this option to allow valid profiles in `ScheduledTimescale.json` to override the normal real-time and offline-time damage-scale tables during their configured date range. When disabled, Offline Raid Protection always uses the normal configuration tables.
- This option also enables Wipe Template materialization on a new save. As an admin, use the command /orp.schedule true or /orp.schedule false to change it in-game. On Carbon with the required UI modules, `/orp.schedule` opens the editor; on Oxide or without those modules, edit the dedicated JSON files manually.
Scale of damage depending on the current hour of the real day:
- Defines the protection levels based on the current hour of the real day.
- The key is the hour of the day (0-23), and the value is the protection scale (0 — 340282300000000000000000000000000000000).
Example:
"0": 0.0, "1": 0.0, "2": 0.0, "3": 0.0 This means that the protection level is 100% from midnight to 3am.
Scale of damage depending on the offline time in hours:
- Defines the protection levels based on the time since the player went offline. The key is the number of hours since the player went offline, and the value is the protection scale (0 — 340282300000000000000000000000000000000).
- The value of the hours can also be a decimal number.
Example:
"12": 0.25, "24": 0.5, "48": 1.0, "96": 2.0 This means that 12 hours after the player goes offline, the protection level will be 75%. After 24 hours it will be 50% and after 48 hours it will be 0%. After 96 hours, the damage is increased by 100%.
Cooldown in minutes:
- During this time, damage levels will remain vanilla. Raids are possible.
- Set this to a positive value to discourage defenders from interrupting raids by logging off.
Scale of damage between the cooldown and the first configured time:
- During this time, the level of damage between the cooldown and the first configured time can be set to a specific value, such as 0.0
Online time to qualify for offline raid protection in minutes:
- Time to qualify for offline raid protection after a player connects
- Set this to a positive value to discourage players from quickly logging on and back off solely to reset protection.
Protect all prefabs:
- Choose whether to protect all prefabs or only specific ones.
- This will protect anything in the TC range.
Protect AI (animals, NPCs, Bradley and attack helicopters etc.) if 'Protect all Prefabs' is enabled:
- Choose whether or not to protect AI entities if "Protect all Prefabs" is enabled.
- Set to false to reduce hook times, and to avoid protecting wild animals that wander by offline bases.
Protect modular and tug boats:
- Choose whether to protect modular boats and tugboats and their deployables.
- Checks wheel authorisation list, plus optionally lock authorisation lists.
Protect vehicles:
- Choose whether to protect vehicles or not.
- Vehicle lock authorisation always has priority.
- If you want to exclude certain vehicles from protection, add them to the blacklist.
- Tugboats and modular boats are separate from this.
Protect twigs:
- Choose whether to protect twigs or not.
Protect decaying buildings:
- Choose whether to protect buildings that are either decaying, or have at least 50% of building blocks below 90% health.
Ignore decay if due solely to twig:
- Choose whether to ignore decay state caused solely due to the presence of twig building blocks combined with a lack of wood in the TC.
- Set to true to ensure raiders cannot disable protection by building twig onto an offline base.
Protect grief TCs:
- Choose whether detected grief Tool Cupboards should retain Offline Raid Protection.
- True: Detected grief TCs remain protected normally.
- False: A separately placed, later-created Tool Cupboard overlapping another building’s privilege area can be classified as a grief TC and will not receive Offline Raid Protection.
- The default is true. Set this to false only if you want ORP to exclude detected grief TCs. Admins can use `/orp.test.grief` to inspect or override individual classifications.
Prefabs to protect:
- List of prefabs that will be protected.
- Make sure you remove the prefabs you don't want to protect, some of them are pointless.
Prefabs blacklist:
- List of prefabs that will not be protected.
-
Prefabs in the blacklist will always have priority to be unprotected.
Apartment Complex Protection Options
Protect apartments from break-ins:
- Whether to protect apartments from master key break-ins when Raid Protection is active.
Protect apartment even when owner absent:
- Whether apartments with no owner inside should remain protected.
- True: Apartment protection applies regardless of owner's offline location.
- False: Apartment protection applies only when owner is offline inside of the apartment.
Protect apartment even when rent due:
- Whether apartments with no upkeep remaining should remain protected.
- True: Apartment protection applies even in Rent Due state.
- False: Apartment protection does not apply in Rent Due state.
Protect shops from break-ins:
- Whether to protect rentable shops from master key break-ins when Raid Protection is active.
Protect only when damage scale below:
- Whether to limit apartment and/or shop break-in protection based on damage scale.
- Example: Set to 0.2 to protect only when damage scale is between 0 and 0.2 (i.e. when protection level is between 80% and 100%).
- Set to 1.0 or higher to apply break-in protection regardless of damage scale.
Use damage scale as break-in success chance:
- Whether to make a random roll on each break-in attempt, with chance of success equal to damage scale (e.g. 25% chance of success at 75% protection level, 80% chance at 20% protection level, etc.).
-
Only applies when apartment or shop is otherwise protected.
Status HUD Options
The Status HUD is optional and disabled by default. It provides players with a compact, configurable view of the protection state for the privilege area they are in.
Enabled — Turns the Status HUD on or off.
Anchor minimum / Anchor maximum — Sets the HUD anchor position using Unity screen coordinates. The default anchors place it at the top-right of the screen.
Offset minimum / Offset maximum — Sets the HUD bounds in pixels relative to its anchors. Adjust these values to move or resize the panel without changing its anchor position.
Refresh interval in seconds — Controls how often the HUD refreshes. A lower value updates it more frequently.
Display inside trusted privilege — Choose whether the normal HUD is shown while the player is authorized on the relevant building or boat.
Display only when protection is active — Hides the normal HUD whenever no active protection is being applied.
Display after status command — Shows the HUD temporarily when a player uses the check status command.
Status command display duration in seconds — Sets how long the command-triggered HUD remains visible.
Show protection percentage — Displays the current protection percentage.
Show remaining protection time — Displays the remaining time for the current protection scale when applicable.
Show penalty timer — Displays a player’s active penalty timer when applicable.
Map Marker Options
Map markers are optional and disabled by default. Only players with the plugin’s admin permission can use them; regular players cannot.
Enabled — Turns Tool Cupboard and boat markers on or off.
Refresh interval in seconds — Controls how often marker state and labels are refreshed. Use a longer interval if immediate visual updates are not required.
Enable boat live circle — Updates the map-radius circle for tugboats and modular boats as they move.
Visual radius in metres — Sets the radius of each marker circle.
Alpha — Sets circle transparency. "0" is fully transparent, and "1" is fully opaque.
Protected color — The color used for 100% protected status.
Partial protection color — Color used when only partial protection applies.
Vulnerable color — Color used when normal or vulnerable status applies.
Decaying color — Color used for decaying building status.
Grief color — Color used for a detected or forced grief tool cupboard status.
Outline color — Color used for the marker circle outline.
Tooltip marker text max. players — Limits how many authorized player names are shown in a marker tooltip.
Timezone Options
The fallback timezone is UTC if you leave it blank in the configuration, or if your configured timezone doesn't exist.
The timezone identifiers are different for Windows and Linux.
You can check the appendices to find your preferred timezone.
Developer API
Other Carbon/Oxide plugins can access ORP data through `Plugin.Call`.
Available API methods:
float API_GetEntityDamageScale(BaseCombatEntity entity, BasePlayer attacker) ulong API_GetEntityProtectionTargetID(BaseCombatEntity entity, BasePlayer attacker) float API_GetPlayerDamageScale(ulong playerID) long API_GetRemainingTimeTicks(ulong playerID) long API_GetPenaltyEndUtcTicks(ulong playerID) bool API_EnablePenalty(ulong playerID, float durationHours) bool API_DisablePenalty(ulong playerID) int API_EnablePenalties(ICollection<ulong> playerIDs, float durationHours) int API_DisablePenalties(ICollection<ulong> playerIDs)
Return conventions:
- Damage-scale methods return -1f when no applicable ORP scale exists
- API_GetEntityProtectionTargetID returns 0UL when no target is available
- Time methods return 0L when no active value exists
- Bulk methods return the number of successfully processed known players
Conclusion
The Offline Raid Protection plugin provides a comprehensive solution for protecting players' structures and vehicles. This plugin is essential for any Rust server owner who wants to provide a fair and enjoyable gaming experience for their players.