About AgileZones
AgileZones will create and remove ZoneManager zones around Player Bases as well as moving points of interest like CargoShip, Supply Drops, Bradley, Tugboats, and Heli-Crash sites. Great care has been taken to ensure the plugin does not impact server performance and that Zones are consistent and correct even after a server-crash.
TruePVE (default) and NextGenPVE integration allows you to configure detailed rules for each zone type, e.g., Cargo Ship versus Supply Drops, with Rulesets and ZoneFlags.
Add the ZoneManagerAutoZones plugin to generate ZoneManager zones around monuments and you've got a server-enforced hybrid PVP/PVE world.
Add the ZoneDomes plugin for optional visible domes.
Add the Zone PVx Info plugin to get whether the player is inside a PVP zone on the HUD. Set Entering and Leaving Zone messages to empty quotes ("") to disable them.
Demo
You should be able to find a demo server by searching modded servers for "AgileZones". Be sure to "Show Empty" servers.
Default Configuration
{ "Enable TruePVE": true, "Enable NextGenPVE": false, "Enable ZoneDomes": true, "Enable ZoneDomes For TCs": false, "Enable ZoneDomes For SupplyDrops": true, "Enable ZoneDomes For Cargo": true, "Enable ZoneDomes For HeliCrash": true, "Enable ZoneDomes For BradleyAPC": true, "Enable ZoneDomes For Tugboats": false, "Visible Domes for Moving Zones Darkness (Default 1)": 1, "Delay creating a zone after placing a TC in seconds": 600.0, "Delay removing a zone after a TC is destroyed": 900.0, "TC Zone Radius in meters - set zero to disable": 50, "TC RuleSet": "exclude", "TC Zone Flags": null, "CargoShip Zone Radius in meters - set zero to disable": 125, "Cargo RuleSet": "exclude", "Cargo Zone Flags": null, "SupplyDrop Zone Radius in meters - set zero to disable": 50, "SupplyDrop RuleSet": "exclude", "Supply Drop Zone Flags": null, "Apc Zone Radius in meters - set zero to disable": 50, "Apc RuleSet": "exclude", "Apc Zone Flags": null, "HeliCrash Zone Radius in meters - set zero to disable": 50, "Heli RuleSet": "exclude", "Heli Zone Flags": null, "Tugboats Zone Radius in meters - set zero to disable": 50, "Tugboats RuleSet": "exclude", "Tugboats Zone Flags": null, "Entering Zone Message": "WARNING: You are now entering a PVP Zone", "Leaving Zone Message": "Leaving a PVP Zone", "Zone Tag (Adds this string to zone names)": "_PVP" }
I recommend changing ZoneDomes Darkness to 1 (down from 5 by default) as well.
Installation:
Just Drop the .cs file into the oxide/plugins directory/folder. AgileZones can be installed on existing servers as easily as a fresh wipe, at any time. Existing Bases, SupplyDrops, CargoShips, Bradley, even Heli Crashsites will be handled and have zones created, no restart required. A config file will be generated in oxide/config where you can modify the default configuration.
Use the admin only chat command "/ReloadTCs" to apply config changes to already created zones. Don't forget that config changes are not automatically loaded. You can "Oxide.Reload AgileZones" to load new config without restarting the server, and then use the /ReloadTCs chat command to apply those changes to existing zones.
Future:
This started as a 2 hour proof of concept for player-added PVP zones around TCs and ended up featuring-creeping it's way into weeks of work. There are still some things I'd like to add, but I wanted to get it out there, I hope this is a huge improvement for hybrid PVP servers.
TODO:
For now, you must modify the oxide/config/AgileZones.json file and reload the plugin. RCON Command: oxide.reload AgileZones
ZoneManager doesn't handle overlapping zones very well; you'll receive a notification for each zone you leave which might be confusing when you are still inside a PVP zone. I'd like to improve on this and some other issues with ZoneManager. I didn't realize the ZoneManager license allowed for branching; I wouldn't have jumped through some of the hoops had I known. You can improve on this by setting Entering and Leaving zone messages to empty quotes (""), and installing the Zone PVx Info plugin which will put a UI element on the HUD instead.