Skip to content
← All documentation

/// PIMPMYRUST PLUGIN

Raid Time Protection

Settings guide for this version of Raid Time Protection. Check the plugin page before using it on your server.

Prepare your file

  1. Check the installed version

    This guide describes Raid Time Protection 2.0.0. Use the same version in the configurator.

  2. Import your configuration

    Open the configurator and import your current JSON. For a new installation, you can start from the provided example.

  3. Edit and download

    Adjust the settings, fix reported errors, and download the JSON. Keep a copy of your old file before replacing it.

Your configuration is not saved on the site. Keep the exported file; you can import it again later.

Settings for this version

General 3
Schema Version
Choice · required

Internal configuration format marker. Keep the value supplied for this plugin version.

JSON pathSchema Version

Allowed values: 2

UTC Offset Minutes
Whole number · required

Fixed protection-schedule offset from UTC, in minutes. Example: 120 = UTC+2. It does not automatically follow daylight-saving changes.

JSON pathUTC Offset Minutes

Minimum : -840 · Maximum : 840

Wipe Protection Time (in hours)
Number · required

Protection duration from the start of the wipe, in hours. While global protection is enabled, this takes priority over weekly raid windows.

JSON pathWipe Protection Time (in hours)

Minimum : 0 · Maximum : 720

Global Protection 4
Enabled
On / off · required

Enable global protection rules for eligible entities. When disabled, neither wipe protection nor weekly protection windows apply.

JSON pathGlobal Protection → Enabled
Show Alert (recquires Notify plugin)
On / off · required

Announce protection-state changes in chat. Despite the legacy field name, the Notify plugin is not required in this version.

JSON pathGlobal Protection → Show Alert (recquires Notify plugin)
(ZoneManager) Disabled protection zones
JSON value · required

ZoneManager zone IDs where protection should be excluded. ZoneManager is required for this exclusion; its absence does not turn protection off elsewhere.

JSON pathGlobal Protection → (ZoneManager) Disabled protection zones
Disable protection prefabs (optional)
JSON value · required

Prefab names excluded from protection. These entities can take damage during protected periods; leave empty if no exclusion is intended.

JSON pathGlobal Protection → Disable protection prefabs (optional)
Friday 3
Stop Protection Hours
Whole number · required

Hour when raiding becomes allowed on this day (0–23), using the chosen UTC offset. Protection remains active outside the window.

JSON pathGlobal Protection → Friday → Stop Protection Hours

Minimum : 0 · Maximum : 23

Stop Protection Minutes
Whole number · required

Minutes within the raid-window start hour (0–59). For example, hour 22 and minutes 30 start the window at 22:30.

JSON pathGlobal Protection → Friday → Stop Protection Minutes

Minimum : 0 · Maximum : 59

Stop Protection Duration (in minutes)
Whole number · required

Allowed raid-window duration in minutes. It may cross midnight; 0 creates no window for this day. Wipe protection still takes priority.

JSON pathGlobal Protection → Friday → Stop Protection Duration (in minutes)

Minimum : 0 · Maximum : 1440

Monday 3
Stop Protection Hours
Whole number · required

Hour when raiding becomes allowed on this day (0–23), using the chosen UTC offset. Protection remains active outside the window.

JSON pathGlobal Protection → Monday → Stop Protection Hours

Minimum : 0 · Maximum : 23

Stop Protection Minutes
Whole number · required

Minutes within the raid-window start hour (0–59). For example, hour 22 and minutes 30 start the window at 22:30.

JSON pathGlobal Protection → Monday → Stop Protection Minutes

Minimum : 0 · Maximum : 59

Stop Protection Duration (in minutes)
Whole number · required

Allowed raid-window duration in minutes. It may cross midnight; 0 creates no window for this day. Wipe protection still takes priority.

JSON pathGlobal Protection → Monday → Stop Protection Duration (in minutes)

Minimum : 0 · Maximum : 1440

Saturday 3
Stop Protection Hours
Whole number · required

Hour when raiding becomes allowed on this day (0–23), using the chosen UTC offset. Protection remains active outside the window.

JSON pathGlobal Protection → Saturday → Stop Protection Hours

Minimum : 0 · Maximum : 23

Stop Protection Minutes
Whole number · required

Minutes within the raid-window start hour (0–59). For example, hour 22 and minutes 30 start the window at 22:30.

JSON pathGlobal Protection → Saturday → Stop Protection Minutes

Minimum : 0 · Maximum : 59

Stop Protection Duration (in minutes)
Whole number · required

Allowed raid-window duration in minutes. It may cross midnight; 0 creates no window for this day. Wipe protection still takes priority.

JSON pathGlobal Protection → Saturday → Stop Protection Duration (in minutes)

Minimum : 0 · Maximum : 1440

Sunday 3
Stop Protection Hours
Whole number · required

Hour when raiding becomes allowed on this day (0–23), using the chosen UTC offset. Protection remains active outside the window.

JSON pathGlobal Protection → Sunday → Stop Protection Hours

Minimum : 0 · Maximum : 23

Stop Protection Minutes
Whole number · required

Minutes within the raid-window start hour (0–59). For example, hour 22 and minutes 30 start the window at 22:30.

JSON pathGlobal Protection → Sunday → Stop Protection Minutes

Minimum : 0 · Maximum : 59

Stop Protection Duration (in minutes)
Whole number · required

Allowed raid-window duration in minutes. It may cross midnight; 0 creates no window for this day. Wipe protection still takes priority.

JSON pathGlobal Protection → Sunday → Stop Protection Duration (in minutes)

Minimum : 0 · Maximum : 1440

Thursday 3
Stop Protection Hours
Whole number · required

Hour when raiding becomes allowed on this day (0–23), using the chosen UTC offset. Protection remains active outside the window.

JSON pathGlobal Protection → Thursday → Stop Protection Hours

Minimum : 0 · Maximum : 23

Stop Protection Minutes
Whole number · required

Minutes within the raid-window start hour (0–59). For example, hour 22 and minutes 30 start the window at 22:30.

JSON pathGlobal Protection → Thursday → Stop Protection Minutes

Minimum : 0 · Maximum : 59

Stop Protection Duration (in minutes)
Whole number · required

Allowed raid-window duration in minutes. It may cross midnight; 0 creates no window for this day. Wipe protection still takes priority.

JSON pathGlobal Protection → Thursday → Stop Protection Duration (in minutes)

Minimum : 0 · Maximum : 1440

Tuesday 3
Stop Protection Hours
Whole number · required

Hour when raiding becomes allowed on this day (0–23), using the chosen UTC offset. Protection remains active outside the window.

JSON pathGlobal Protection → Tuesday → Stop Protection Hours

Minimum : 0 · Maximum : 23

Stop Protection Minutes
Whole number · required

Minutes within the raid-window start hour (0–59). For example, hour 22 and minutes 30 start the window at 22:30.

JSON pathGlobal Protection → Tuesday → Stop Protection Minutes

Minimum : 0 · Maximum : 59

Stop Protection Duration (in minutes)
Whole number · required

Allowed raid-window duration in minutes. It may cross midnight; 0 creates no window for this day. Wipe protection still takes priority.

JSON pathGlobal Protection → Tuesday → Stop Protection Duration (in minutes)

Minimum : 0 · Maximum : 1440

Wednesday 3
Stop Protection Hours
Whole number · required

Hour when raiding becomes allowed on this day (0–23), using the chosen UTC offset. Protection remains active outside the window.

JSON pathGlobal Protection → Wednesday → Stop Protection Hours

Minimum : 0 · Maximum : 23

Stop Protection Minutes
Whole number · required

Minutes within the raid-window start hour (0–59). For example, hour 22 and minutes 30 start the window at 22:30.

JSON pathGlobal Protection → Wednesday → Stop Protection Minutes

Minimum : 0 · Maximum : 59

Stop Protection Duration (in minutes)
Whole number · required

Allowed raid-window duration in minutes. It may cross midnight; 0 creates no window for this day. Wipe protection still takes priority.

JSON pathGlobal Protection → Wednesday → Stop Protection Duration (in minutes)

Minimum : 0 · Maximum : 1440

Plugin instructions

Raid Time Protection 2.0.0 — user guide

This guide covers the Codefling version 2.0.0 and configuration schema version 2.

Installation

  1. Stop the server or use the framework's documented safe plugin-reload procedure.
  2. Back up the existing RaidTimeProtection.json configuration.
  3. Copy RaidTimeProtection.cs to the framework plugin directory.
  4. Start or reload the plugin.
  5. Review the generated configuration before allowing players to connect.

The web configurator exports RaidTimeProtection.json. Install it as oxide/config/RaidTimeProtection.json, or in the corresponding Carbon config directory, then reload the plugin. Exporting a file does not install it.

Version 2 can migrate a readable legacy configuration. Keep the generated .v1.bak until the configuration and schedule are confirmed. See MIGRATION.md.

Schedule model

Each day defines when raiding becomes allowed and for how many minutes. The configured UTC offset is fixed; it does not change automatically for daylight saving time.

A Friday start at 22:00 with a duration of 360 minutes allows raiding until Saturday 04:00. Intervals include their start and exclude their end.

When global protection is enabled:

  • post-wipe protection always keeps protection active;
  • raiding is allowed inside the weekly raid window;
  • protection is active outside the window.

When global protection is disabled by a healthy configuration, damage is allowed regardless of the wipe and weekly schedule. Invalid or unreadable configuration cannot disable protection.

Damage policy

The plugin uses a deliberately narrow damage policy:

  • the target must be an owned DecayEntity with a building privilege;
  • the hit must be attributed to a player;
  • TC-authorized players may damage the target;
  • configured prefabs and Zone Manager zones may allow damage;
  • decay, electric, NPC player, Bradley APC, and CH47 damage are excluded;
  • otherwise an eligible protected hit is reduced to zero.

Indirect damage without an attributable player is not claimed as protected. Rockets, splash, fire, MLRS, patrol helicopter, vehicles, doors, deployables, external walls, and other current Rust paths require the retained live-smoke matrix before public coverage claims.

Command and disclosure

/raid_date is intentionally public and read-only. It reports whether protection is active and the next transition in UTC. Server operators should treat the schedule as public information. No permission is required in version 2.0.0, and there is no state-changing command.

Optional dependency

Zone Manager is optional. If it is absent, fails, or returns an unsupported value, no zone exclusion is applied and protection remains in force for an otherwise eligible target. Configure zone identifiers under (ZoneManager) Disabled protection zones.

State-change alerts use built-in server chat. Notify is not required. The legacy JSON property label is retained for configuration compatibility.

Localization

The plugin registers English message keys through the framework language service. Operators can override:

  • BuildingProtected
  • ProtectionActivated
  • ProtectionDeactivated
  • StatusProtected
  • StatusAllowed
  • StatusNoTransition
  • ActiveWord
  • InactiveWord

Keep placeholders such as {0} intact.

Known limitations

Compilation checks do not validate live damage behavior. Before changing a production server, verify the configured schedule, damage rules and any Zone Manager integration on a test server.

Configuration example

{
  "Schema Version": 2,
  "UTC Offset Minutes": 120,
  "Wipe Protection Time (in hours)": 48.0,
  "Global Protection": {
    "Enabled": true,
    "(ZoneManager) Disabled protection zones": [],
    "Disable protection prefabs (optional)": [],
    "Friday": {
      "Stop Protection Hours": 22,
      "Stop Protection Minutes": 0,
      "Stop Protection Duration (in minutes)": 360
    }
  }
}

This Friday window starts at 22:00 in the configured fixed offset and ends at 04:00 Saturday. The offset does not change automatically for daylight saving.

Troubleshooting and FAQ

  • If the schedule is shifted, verify UTC Offset Minutes and update it when your local daylight-saving policy changes.
  • If a cross-midnight window ends unexpectedly, configure the full duration on the day where the window starts.
  • If a Zone Manager exclusion is ignored, verify the exact zone ID and the integration response; an unavailable integration keeps protection active.
  • If post-wipe protection lasts longer than expected, verify the configured fractional hours and the server wipe timestamp.
  • /raid_date is intentionally public and read-only. No permission is required.
  • Notify is not required; the retained legacy label controls built-in chat alerts.

Install the file

After keeping a copy of the previous file, place the exported JSON at this location on your server:

oxide/config/RaidTimeProtection.json

Follow the plugin instructions above for dependencies and reloading. Exporting does not connect the site to your server.