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.1.0. Use the same version in the configurator.

  2. Get the settings

    Click Import, then From my server. Select the files and confirm loading them. Selecting a server does not replace the open document. You can also import files from this device or a configuration from My projects.

  3. Edit and send

    Adjust settings, fix errors, then use Send to transfer files to the selected server. A conflict blocks sending until you choose how to resolve it. You can still export only the files you need.

Server transfers have private backups. Save keeps your work in My projects; it does not send anything to the server. A download also lets you resume without a server connection.

Settings for this version

General 3
Format version
Choice · required

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

JSON pathSchema Version

Allowed values: 2

Fixed 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

Post-wipe protection (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

Advance warnings 4
Enable warnings
On / off

Warnings are disabled by default.

JSON pathAdvance warnings → Enabled
In chat
On / off

Sends warnings in each player’s language.

JSON pathAdvance warnings → Chat
On screen
On / off

Shows an on-screen notification before the transition.

JSON pathAdvance warnings → Graphic
Lead times · minutes before
List

Up to 16 distinct lead times from 1 to 1,440 minutes. Past warnings are not replayed on reload.

JSON pathAdvance warnings → Minutes
Protection and weekly schedule 4
Enable global protection
On / off · required

Block player raid damage to owned entities covered by building privilege during protection. TC-authorized players remain exempt. Disabling removes wipe and schedule protection, not Rust's normal damage rules.

JSON pathGlobal Protection → Enabled
Announce state changes in chat
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)
Zones excluded from protection
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
Entities excluded from protection
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)
Player interface 17
Show interface
On / off

Enables the interface without changing protection rules.

JSON pathInterface → Enabled
On-screen status
On / off

Shows the global schedule status and next transition.

JSON pathInterface → HUD
Weekly schedule
On / off

Lets players open the schedule with /raid.

JSON pathInterface → Planning
Blocked raid notice
On / off

Shows a notice when the plugin blocks a raid.

JSON pathInterface → Blocked notice
Renderer
Choice

Native by default. PimpMyCUI requires a compatible package; otherwise the plugin falls back to native rendering.

JSON pathInterface → Renderer

Allowed values: native, pimpmycui

Layout
Choice

Bastion: industrial panel; Signal: console; Gazette: bulletin. Classic, Compact and Contrast are their legacy names.

JSON pathInterface → Template

Allowed values: bastion, signal, gazette, classic, compact, contrast

PimpMyCUI package
Text

Name of the installed, approved package for PimpMyCUI rendering.

JSON pathInterface → PimpMyCUI package
Horizontal position
Number

Normalized position of the HUD’s top-right reference point, from 0 to 1.

JSON pathInterface → Position X

Minimum : 0 · Maximum : 1

Vertical position
Number

Normalized position of the HUD’s top-right reference point, from 0 to 1.

JSON pathInterface → Position Y

Minimum : 0 · Maximum : 1

Scale
Number

HUD scale from 0.6 to 1.5. Schedule scale is capped at 1.1 to remain on screen.

JSON pathInterface → Scale

Minimum : 0.6 · Maximum : 1.5

Opacity
Number

Background opacity, from 0.2 to 1.

JSON pathInterface → Opacity

Minimum : 0.2 · Maximum : 1

Background
Text

Background RGB color. Gazette uses this color for its ink.

JSON pathInterface → Background color
Raids blocked
Text

Color for the protected state.

JSON pathInterface → Protected color
Raids allowed
Text

Color for the state in which the schedule permits raiding.

JSON pathInterface → Allowed color
Text
Text

Text RGB color. Gazette also uses it for its paper.

JSON pathInterface → Text color
Notice duration · seconds
Whole number

Notification display duration, from 2 to 30 seconds.

JSON pathInterface → Notice seconds

Minimum : 2 · Maximum : 30

Refresh interval · seconds
Whole number

Refreshes the countdown every 1 to 60 seconds. State transitions are shown immediately.

JSON pathInterface → Refresh seconds

Minimum : 1 · Maximum : 60

Friday 3
Allowed raids start: hour
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

Allowed raids start: minute
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

Allowed raid duration (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
Allowed raids start: hour
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

Allowed raids start: minute
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

Allowed raid duration (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
Allowed raids start: hour
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

Allowed raids start: minute
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

Allowed raid duration (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
Allowed raids start: hour
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

Allowed raids start: minute
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

Allowed raid duration (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
Allowed raids start: hour
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

Allowed raids start: minute
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

Allowed raid duration (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
Allowed raids start: hour
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

Allowed raids start: minute
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

Allowed raid duration (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
Allowed raids start: hour
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

Allowed raids start: minute
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

Allowed raid duration (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.1.0 — user guide

Beta 2.1.0. The LTS version published on Codefling remains 2.0.0. Downloading the plugin requires sign-in and a verified entitlement for the requested version. Check its product page for available access. Configuration exports remain available without buying the plugin.

This guide covers beta 2.1.0 and configuration format 2. Codefling still distributes version 2.0.0.

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. You can also connect your server to the Hub to apply the configuration over SFTP and reload the plugin over RCON.

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

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.1.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.

Interface and advance warnings

Appearance controls the protection HUD, schedule and notices. Native rendering needs neither PimpMyCUI nor ImageLibrary. Choose Bastion, Signal or Gazette; Classic, Compact and Contrast are their legacy aliases, still accepted on import.

Players open the schedule with /raid, toggle their HUD with /raid hud, and check status in chat with /raid_date. The HUD shows global schedule status. Ownership, TC privilege and exclusion conditions still apply to individual targets.

X/Y positions use normalized coordinates from 0 to 1 at the HUD’s top-right reference point. Scale ranges from 0.6 to 1.5, capped at 1.1 for the schedule. Colors retain three RGB channels; opacity is a separate setting.

Advance warnings can announce upcoming transitions in chat and on screen. They are disabled by default. Set up to 16 distinct lead times, from 1 to 1,440 minutes. The plugin accounts for post-wipe protection and does not replay past warnings after a reload.

Version 2.0.0 configurations remain readable. Interface sections are optional and use native defaults when omitted. PimpMyCUI rendering requires a compatible package approved on the server; if unavailable, native rendering is used.

HUD position and versions

Version 2.1.0 places the HUD at X=0.985, Y=0.985 by default. Keep your own coordinates if you moved it. /raid and /raid_date show the schedule and protection status.

Install the files

With a connected server, click Send in the configurator. The result shows whether the files were sent and the plugin reloaded. Without RCON, reload the plugin from your server panel after sending.

Without a connected server: Keep a copy of the current files. Place each export in the folder shown before export, or follow the paths in the ZIP. Do not put data or translation files in the config folder.

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

Configuration and transfer guide →