Introduction
What ExyliaProtections is, what it covers, what it needs to run and how this documentation is organised.
ExyliaProtections lets players protect land. A protection is a box of blocks with an owner, members,
roles and flags, made by placing a core block or by selecting two corners. Everything an owner
does with it — members, roles, flags, bans, the bank, plots, a public warp — is done from /protections,
and most of it also from a command standing inside the land.
It is a premium plugin, sold through the Exylia store and installed through a licence loader. Protections used to be a module of ExyliaSurvivalCore; they are now this plugin, which reads the same data under new table names. See Migration.
What is included
Core tiers bought from a shop or handed out by staff, the two-corner selector, per-player, per-tier and per-world limits, overlap and distance rules, picking a core up and moving it.
BackendsThe plugin enforces everything itself, and can also mirror every protection as a WorldGuard region with native flags so other plugins see it.
People and accessMembers and clans, roles with 26 permissions, per-player overrides, flags, bans, lock, greetings and an audit log.
MenusThe hub, the list, a protection's overview and its seven sections, and every file they are drawn from.
RaidsLives, core health, siege windows and an offline shield. Off by default.
EconomyA bank per protection, upkeep and abandoned land, selling, giving and renting. Off by default.
Land toolsPlots, level upgrades, member perks, time and weather, merging, border previews and BlueMap or Dynmap markers.
AdministrationA network-wide admin search, the in-game tier editor and an inactive-land cleanup with a preview.
Only the core of the plugin is on after a fresh install: protecting land, members, roles, flags, bans,
lock, greetings, logs and border previews. Raids, the bank, upkeep, the market, rent, plots, upgrades,
warps, perks, time and weather and merging each have a switch in submodules, all off. See
Configuration.
Requirements
| Requirement | Detail |
|---|---|
| Server | Paper 1.21 or newer, or a fork of it. Folia supported. |
| Java | 21 |
| Required dependencies | packetevents, and ExyliaLib 1.238.0 or newer — installed for you if it is missing |
| Optional dependencies | ExyliaSurvivalCore, ExyliaEconomy or Vault, PlaceholderAPI, WorldGuard and WorldEdit, BlueMap, dynmap, Worlds or Multiverse-Core |
What each optional plugin adds is listed on Installation.
Configuration, the menus and their prompts, the database, the selector, economy, clans, teleports, placeholders and the cross-server channels all come from ExyliaLib. ExyliaProtections is written on top of it and does not run without it, which is why the loader installs it on a server that lacks it.
How a network sees protections
Every protection is one row in the database, and every server sharing that database keeps all of them in memory. A player's list and their limits count every server. Only the server a protection was made on enforces it, draws it and mirrors it to WorldGuard; the others list it and can teleport a member to it. With Redis configured, a change made on one server reaches the others at once.
How to read this documentation
Getting started
Installation, then a first protection with a member and a flag in a few minutes.
Protecting land
Cores, the selector and limits, the two backends, people and access, and the menus.
Systems
Raids, the economy, the land tools, warps, administration and migrating from ExyliaSurvivalCore or ProtectionStones.
Reference
Commands, permissions, placeholders, every configuration key, the developer API and the questions that come up most.
Conventions
- Values marked as default are what the plugin writes the first time it starts. If the file already exists, your value is kept.
- Identifiers between
<and>are variables./protections warp <name>means/protections warp spawn, not/protections warp <spawn>. - "The protection here" is the protection the player is standing in. Commands that act on land act on that one.
- Colours use ExyliaLib palette tokens (
{primary},{highlight},{muted}), and&codes work too.
Something missing on this page? Tell us on Discord