/// 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
- Check the installed version
This guide describes Raid Time Protection 2.1.0. Use the same version in the configurator.
- 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.
- 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 path
Schema VersionAllowed 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 path
UTC Offset MinutesMinimum : -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 path
Wipe Protection Time (in hours)Minimum : 0 · Maximum : 720
Advance warnings 4
- Enable warnings
- On / off
Warnings are disabled by default.
JSON path
Advance warnings → Enabled - In chat
- On / off
Sends warnings in each player’s language.
JSON path
Advance warnings → Chat - On screen
- On / off
Shows an on-screen notification before the transition.
JSON path
Advance 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 path
Advance 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 path
Global 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 path
Global 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 path
Global 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 path
Global Protection → Disable protection prefabs (optional)
Player interface 17
- Show interface
- On / off
Enables the interface without changing protection rules.
JSON path
Interface → Enabled - On-screen status
- On / off
Shows the global schedule status and next transition.
JSON path
Interface → HUD - Weekly schedule
- On / off
Lets players open the schedule with /raid.
JSON path
Interface → Planning - Blocked raid notice
- On / off
Shows a notice when the plugin blocks a raid.
JSON path
Interface → Blocked notice - Renderer
- Choice
Native by default. PimpMyCUI requires a compatible package; otherwise the plugin falls back to native rendering.
JSON path
Interface → RendererAllowed values: native, pimpmycui
- Layout
- Choice
Bastion: industrial panel; Signal: console; Gazette: bulletin. Classic, Compact and Contrast are their legacy names.
JSON path
Interface → TemplateAllowed values: bastion, signal, gazette, classic, compact, contrast
- PimpMyCUI package
- Text
Name of the installed, approved package for PimpMyCUI rendering.
JSON path
Interface → PimpMyCUI package - Horizontal position
- Number
Normalized position of the HUD’s top-right reference point, from 0 to 1.
JSON path
Interface → Position XMinimum : 0 · Maximum : 1
- Vertical position
- Number
Normalized position of the HUD’s top-right reference point, from 0 to 1.
JSON path
Interface → Position YMinimum : 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 path
Interface → ScaleMinimum : 0.6 · Maximum : 1.5
- Opacity
- Number
Background opacity, from 0.2 to 1.
JSON path
Interface → OpacityMinimum : 0.2 · Maximum : 1
- Background
- Text
Background RGB color. Gazette uses this color for its ink.
JSON path
Interface → Background color - Raids blocked
- Text
Color for the protected state.
JSON path
Interface → Protected color - Raids allowed
- Text
Color for the state in which the schedule permits raiding.
JSON path
Interface → Allowed color - Text
- Text
Text RGB color. Gazette also uses it for its paper.
JSON path
Interface → Text color - Notice duration · seconds
- Whole number
Notification display duration, from 2 to 30 seconds.
JSON path
Interface → Notice secondsMinimum : 2 · Maximum : 30
- Refresh interval · seconds
- Whole number
Refreshes the countdown every 1 to 60 seconds. State transitions are shown immediately.
JSON path
Interface → Refresh secondsMinimum : 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 path
Global Protection → Friday → Stop Protection HoursMinimum : 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 path
Global Protection → Friday → Stop Protection MinutesMinimum : 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 path
Global 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 path
Global Protection → Monday → Stop Protection HoursMinimum : 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 path
Global Protection → Monday → Stop Protection MinutesMinimum : 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 path
Global 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 path
Global Protection → Saturday → Stop Protection HoursMinimum : 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 path
Global Protection → Saturday → Stop Protection MinutesMinimum : 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 path
Global 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 path
Global Protection → Sunday → Stop Protection HoursMinimum : 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 path
Global Protection → Sunday → Stop Protection MinutesMinimum : 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 path
Global 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 path
Global Protection → Thursday → Stop Protection HoursMinimum : 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 path
Global Protection → Thursday → Stop Protection MinutesMinimum : 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 path
Global 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 path
Global Protection → Tuesday → Stop Protection HoursMinimum : 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 path
Global Protection → Tuesday → Stop Protection MinutesMinimum : 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 path
Global 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 path
Global Protection → Wednesday → Stop Protection HoursMinimum : 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 path
Global Protection → Wednesday → Stop Protection MinutesMinimum : 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 path
Global 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
- Stop the server or use the framework's documented safe plugin-reload procedure.
- Back up the existing
RaidTimeProtection.jsonconfiguration. - Copy
RaidTimeProtection.csto the framework plugin directory. - Start or reload the plugin.
- 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
DecayEntitywith 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:
BuildingProtectedProtectionActivatedProtectionDeactivatedStatusProtectedStatusAllowedStatusNoTransitionActiveWordInactiveWord
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 Minutesand 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_dateis 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.