In the player-limits.yml configuration file in the plugin's directory, containing a profiles property, which is a YAML list of objects. These objects have the following properties (starred are mandatory):
| Property | Purpose |
|---|---|
| * name | unique name of the profile, to identify it (in commands) |
| * permission | a custom permission path, e.g. 'zure.groups.vip’ |
| max-zone-count | the maximum allowed number of zones |
| max-zone-side | in block edge length |
| max-zone-volume | in blocks |
| allowed-shapes | name of shapes (e.g. CUBOID) |
Zure will load this list when the plugin loads up (or when /zure reload is executed) and check these permissions on players to determine their allowed zone counts. Example of such configuration file:
profiles:
- name: Basic
permission: zuregroup.basic
max-zone-count: 2
min-zone-side: 20
max-zone-side: 64
- name: Elite
permission: zuregroup.elite
max-zone-count: 5
min-zone-size: 15
max-zone-side: 128
- name: VIP
permission: zuregroup.vip
max-zone-count: 10
max-zone-side: 256
- name: OP
permission: zuregroup.op
max-zone-count: null # means unlimited
max-zone-side: null # means unlimited
min-zone-side: 0
All these limitations are aggregated for each player in the way it benefits the player, so if a player has both the zuregroup.basic and zuregroup.elite permissions from this example, belong to both Basic and Elite groups. They will be able to create up to 5 zones with the side-length being minimum 15 blocks and up to 128 blocks. More formally one could write:
player.limitationIn(aspect) = playerLimits.ownedBy(player).each{limitIn(aspect)}.leastRestricting()
Where by 'aspect' I mean e.g. 'max-zone-side' and 'ownedBy' checks if the player has the permission mentioned for given player-limit object.
<aside>
⚠️ When Players Exceed Limits
If you impose more restrictions to players while they have already exceeded the limited number, the zones won't be deleted, but the players won't be able to add further zones or exceed the new restrictions. You can list all active players, who exceeds their current limitations using /zure playerlimit list-violators command or check one/a list of given player(s) using the /zure playerlimit check <player-names> command.
</aside>
<aside>
⚠️ Config File Maintenance Tip
Once the server is up and running, modifying the player-limits.yml file can be done and its content applied runtime by the /zure reload command, but be aware, that the plugin maintains the file too. It's possible, that you modify the player-limits.yml file on the server and then an admin of yours uses a player-limit command updating the limitations and the plugin overwrites your file changes with the new old config with the modifications the player made (saving the config known to the running server).
</aside>
Read more on how to use it in operation in the [Operator Beginner Guide].