Main Commands
Root command: /maxprotections with alias /mp.| Command | Permission | Description |
|---|---|---|
| /mp create | maxprotections.admin | Opens the admin protection-stone creation menu. |
| /mp reload | maxprotections.admin | Reloads config and language files. |
| /mp lang | maxprotections.admin | Opens the language selection menu. |
| /mp debug <region> | maxprotections.admin.debug | Prints owner, members, YAML state, WorldGuard state, bounds, and stone coordinates for a placed protection or WG region. |
| /mp listplaced | maxprotections.admin.listplaced | Opens the admin menu with every tracked placed protection. Click an entry to print debug details. |
| /mp report protections | maxprotections.admin.report | Prints SQL-backed totals, active/orphaned counts, largest regions, top owners, and logged event count. |
| /mp repair | maxprotections.admin.repair | Repairs missing SQL tracking for safe MaxProtections WorldGuard regions when the protection YAML and center stone can be identified. |
| /mp repair cleanup | maxprotections.admin.repair | Removes stale tracker entries whose WorldGuard region no longer exists. It does not delete WorldGuard regions. |
| /mp migrate protectionstones preview | maxprotections.admin.migrate | Scans ProtectionStones WorldGuard regions and reports what MaxProtections can import without changing data. |
Protection Commands
Root command: /protection with alias /p.| Command | Permission | Description |
|---|---|---|
| /p give <player> <protection> <amount> | maxprotections.protection.give | Gives protection stones to a player. |
| /p buy <protection> | maxprotections.protection.buy | Buys one protection stone using Vault when a price is configured. |
| /p rent [region] | maxprotections.protection + protection owner | Pays overdue rent for the current or selected protection and reactivates it if suspended. |
| /p fly | maxprotections.protection.fly | Toggles flight while you remain inside an accessible protection. Flight is removed when leaving, dying, disconnecting, changing world, or losing access. |
| /p menu | Protection owner/member-admin rank or maxprotections.admin | Opens the protection menu for the region at your position. |
| /p settings | maxprotections.flags + protection owner/member-admin rank, or maxprotections.admin | Opens flag controls for the current protection. |
| /p member or /p members | Protection owner/member-admin rank or maxprotections.admin | Opens the member management menu. |
| /p member add <player> | Protection owner/member-admin rank or maxprotections.admin | Sends a pending invitation to an online player. |
| /p member remove <player> | Protection owner/member-admin rank or maxprotections.admin | Removes a member, teleports them outside if needed, and logs the event. |
Permissions
| Permission | Default | Description |
|---|---|---|
| maxprotections.admin | OP | Full MaxProtections admin access. Includes admin debug/list/repair/report/migrate and protection child permissions. |
| maxprotections.admin.debug | OP | Allows /mp debug <region>. |
| maxprotections.admin.listplaced | OP | Allows /mp listplaced. |
| maxprotections.admin.repair | OP | Allows /mp repair and /mp repair cleanup. |
| maxprotections.admin.report | OP | Allows /mp report protections. |
| maxprotections.admin.migrate | OP | Allows previewing and applying supported protection-plugin migrations. |
| maxprotections.protection | Everyone | Allows player protection commands that require a base permission, including /p rent. |
| maxprotections.protection.give | OP | Allows /p give. |
| maxprotections.protection.buy | Everyone | Allows /p buy. |
Protection limit permissions are generated dynamically from limits.groups in config.yml. For example, a group key vip defaults to maxprotections.limits.vip unless the group has a custom permission.
Permission Setup Guide
The plugin uses two different access layers:- Bukkit permissions decide who can use global features such as buying stones, paying rent, flying in protections, giving stones, removing other players' stones, and admin tools.
- Protection ranks decide what a player can do inside a specific placed protection. Owners and protection-admin members can manage members, aliases, menus, and settings; regular members only get access according to the protection flags.
Normal Players
For a normal survival player, keep these permissions enabled:| Permission | Why normal players need it |
|---|---|
| maxprotections.protection | Lets the player use base protection features that require the plugin permission, currently /p rent. |
| maxprotections.protection.buy | Lets the player buy protection stones with /p buy <protection>. |
| maxprotections.flags | Lets owners and protection-admin members edit flags from /p settings. Without this, owning the protection is not enough to change flags. |
These three permissions are default: true in plugin.yml, so regular players receive them automatically unless your permission plugin explicitly denies them. If your server uses a strict LuckPerms setup, you can still set them manually:
Rank Permissions
Protection limits come from limits in config.yml. The default config gives everyone the default profile unless they have a better group permission:| Rank/group | Permission | Default limits |
|---|---|---|
| Default | No extra permission | 3 protections, max radius 25, price range 0-100000. |
| VIP | maxprotections.limits.vip | 10 protections, max radius 50, price range 0-250000. |
| MVP | maxprotections.limits.mvp | 20 protections, max radius 75, price range 0-500000. |
If a player has multiple limit permissions, the group with the highest priority wins. In the default config, mvp has priority 20 and wins over vip priority 10.
Optional Extra Permissions
Use these only for selected ranks or staff:| Permission | Recommended for | Notes |
|---|---|---|
| maxprotections.protection.fly | VIP, MVP, staff | Lets the player use /p fly, but only inside protections they can access. Flight is removed when leaving, dying, disconnecting, changing world, or losing access. |
| maxprotections.protection.give | Staff, crates/rewards operators | Lets the sender use /p give <player> <protection> <amount>. Keep this away from normal players because it creates protection items. |
| maxprotections.protection.remove.others | Senior staff only | Lets staff remove another player's protection stone. This can affect player property, so treat it as a moderation/admin permission. |
| maxprotections.admin.debug | Support staff | Allows /mp debug <region> for diagnosing a placed protection or WorldGuard region. |
| maxprotections.admin.listplaced | Support staff | Allows /mp listplaced, the admin list of tracked protections. |
| maxprotections.admin.report | Admin staff | Allows /mp report protections, useful for auditing totals and database state. |
| maxprotections.admin.repair | Owner/admin only | Allows /mp repair and cleanup. This changes tracking data and should not be given widely. |
| maxprotections.admin.migrate | Owner/admin only | Allows /mp migrate protectionstones preview and /mp migrate protectionstones apply. This imports external protection state and should not be given widely. |
| maxprotections.admin | Owner/admin only | Full plugin admin access. It includes admin debug/list/repair/report/migrate plus protection child permissions. |
Suggested Server Setup
For a standard server:| Server rank | Suggested permissions |
|---|---|
| Default | maxprotections.protection, maxprotections.protection.buy, maxprotections.flags |
| VIP | Default permissions + maxprotections.limits.vip + optional maxprotections.protection.fly |
| MVP | Default permissions + maxprotections.limits.mvp + optional maxprotections.protection.fly |
| Helper/mod | Default permissions + maxprotections.admin.debug + maxprotections.admin.listplaced |
| Admin | maxprotections.admin |
| Owner | maxprotections.admin + OP if you want full server-level control |
Test the setup in game with a non-OP account. Check /p buy, placing a stone, /p settings, /p member add, /p home, /p rent if rent is enabled, and verify that restricted commands such as /p give, /p fly, /mp repair, and breaking another player's protection stone are blocked unless the rank is supposed to have them.
Runtime Files
- protections/<id>.yml: editable source for each protection stone, item, radius, price, WorldGuard defaults, and actionbar text.
- protections.db: SQLite runtime database for placed stones, owner/member state, pending invitations, event logs, aliases, homes, flags, rent status, region bounds, and stone coordinates.
