▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/MaxProtections
MaxProtections

MaxProtections

The best protection plugin with menu +

Оцените первым
22
1

DISCORD: https://discord.com/invite/Vr46JHm2kd

WIKI: https://docs.maxking.lat/

MaxProtections

MaxProtections is a modern Paper protection plugin based on WorldGuard regions, configurable protection stones, interactive menus, member ranks, multilingual files, and safe runtime tracking.

Requirements

  • Java 21 or newer.
  • Paper API 1.21 compatible server.
  • Spigot is not supported because the plugin uses Paper-only APIs.
  • WorldGuard is required.
  • Vault is optional and only needed for protection prices, economy purchases, and protection rent.
  • ProtectionStones is optional and only needed while running /mp migrate protectionstones.

REMEMBER TO CHECK THE WIKI TO STAY UP-TO-DATE ON PERMISSIONS AND COMMANDS

Main Commands

Root command: /maxprotections with alias /mp.

CommandPermissionDescription
/mp createmaxprotections.adminOpens the admin protection-stone creation menu.
/mp reloadmaxprotections.adminReloads config and language files.
/mp langmaxprotections.adminOpens the language selection menu.
/mp debug <region>maxprotections.admin.debugPrints owner, members, YAML state, WorldGuard state, bounds, and stone coordinates for a placed protection or WG region.
/mp listplacedmaxprotections.admin.listplacedOpens the admin menu with every tracked placed protection. Click an entry to print debug details.
/mp report protectionsmaxprotections.admin.reportPrints SQL-backed totals, active/orphaned counts, largest regions, top owners, and logged event count.
/mp repairmaxprotections.admin.repairRepairs missing SQL tracking for safe MaxProtections WorldGuard regions when the protection YAML and center stone can be identified.
/mp repair cleanupmaxprotections.admin.repairRemoves stale tracker entries whose WorldGuard region no longer exists. It does not delete WorldGuard regions.
/mp migrate protectionstones previewmaxprotections.admin.migrateScans ProtectionStones WorldGuard regions and reports what MaxProtections can import without changing data.
/mp migrate protectionstones applymaxprotections.admin.migrateImports supported ProtectionStones regions into protections.db while keeping original region IDs, owners, members, bounds, and physical stone materials.

Protection Commands

Root command: /protection with alias /p.

CommandPermissionDescription
/p give <player> <protection> <amount>maxprotections.protection.giveGives protection stones to a player.
/p buy <protection>maxprotections.protection.buyBuys one protection stone using Vault when a price is configured.
/p rent [region]maxprotections.protection + protection ownerPays overdue rent for the current or selected protection and reactivates it if suspended.
/p flymaxprotections.protection.flyToggles flight while you remain inside an accessible protection. Flight is removed when leaving, dying, disconnecting, changing world, or losing access.
/p menuProtection owner/member-admin rank or maxprotections.adminOpens the protection menu for the region at your position.
/p settingsmaxprotections.flags + protection owner/member-admin rank, or maxprotections.adminOpens flag controls for the current protection.
/p member or /p membersProtection owner/member-admin rank or maxprotections.adminOpens the member management menu.
/p member add <player>Protection owner/member-admin rank or maxprotections.adminSends a pending invitation to an online player.
/p member remove <player>Protection owner/member-admin rank or maxprotections.adminRemoves a member, teleports them outside if needed, and logs the event.
/p invite accept <id>Invited playerAccepts a pending protection invitation.
/p invite deny <id>Invited playerRejects a pending protection invitation.
/p trust <player>Protection owner/member-admin rank or maxprotections.adminShortcut for sending a member invitation.
/p untrust <player>Protection owner/member-admin rank or maxprotections.adminShortcut for removing a member.
/p teleport <id> or /p tp <id>Protection access/rankTeleports to an accessible protection home.
/p home or /p homesProtection access/rankOpens the protection homes menu.
/p sethomeProtection ownerSets the current protection home to your current location.
/p alias <alias>Protection owner/member-admin rank or maxprotections.adminSets a friendly alias for the current protection.
/p info [id]Current protection, or protection access/rank when using an id or aliasShows information about the current or selected protection.
/p viewAny player inside a protectionShows the protection border effect.
/p leaveProtection member/admin-member inside a protectionRemoves your member access and teleports you outside the current protection. Owners cannot leave their own protection.
/p listPlayer-owned protectionsLists protections owned by the player.

Permissions

PermissionDefaultDescription
maxprotections.adminOPFull MaxProtections admin access. Includes admin debug/list/repair/report/migrate and protection child permissions.
maxprotections.admin.debugOPAllows /mp debug <region>.
maxprotections.admin.listplacedOPAllows /mp listplaced.
maxprotections.admin.repairOPAllows /mp repair and /mp repair cleanup.
maxprotections.admin.reportOPAllows /mp report protections.
maxprotections.admin.migrateOPAllows previewing and applying supported protection-plugin migrations.
maxprotections.protectionEveryoneAllows player protection commands that require a base permission, including /p rent.
maxprotections.protection.giveOPAllows /p give.
maxprotections.protection.buyEveryoneAllows /p buy.
maxprotections.protection.flyOPAllows /p fly inside accessible protections.
maxprotections.protection.remove.othersOPAllows removing another player's protection stone.
maxprotections.flagsEveryoneAllows protection owners/admins to modify protection flags from the menu.

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:

PermissionWhy normal players need it
maxprotections.protectionLets the player use base protection features that require the plugin permission, currently /p rent.
maxprotections.protection.buyLets the player buy protection stones with /p buy <protection>.
maxprotections.flagsLets 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:

/lp group default permission set maxprotections.protection true
/lp group default permission set maxprotections.protection.buy true
/lp group default permission set maxprotections.flags true

Normal players do not need extra permissions to place a valid protection stone, open their own protection menu, invite members, accept invites, teleport to accessible homes, set their own protection home, list their protections, view borders, or leave a protection. Those actions are controlled by ownership, invitations, member rank, and whether the player is inside or has access to that protection.

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/groupPermissionDefault limits
DefaultNo extra permission3 protections, max radius 25, price range 0-100000.
VIPmaxprotections.limits.vip10 protections, max radius 50, price range 0-250000.
MVPmaxprotections.limits.mvp20 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.

Example LuckPerms setup:

/lp group vip permission set maxprotections.limits.vip true
/lp group mvp permission set maxprotections.limits.mvp true

You can add more ranks under limits.groups in config.yml. Each group can define its own permission, priority, max-protections, max-radius, min-price, and max-price. After changing limits, reload the plugin with /mp reload.

Optional Extra Permissions

Use these only for selected ranks or staff:

PermissionRecommended forNotes
maxprotections.protection.flyVIP, MVP, staffLets 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.giveStaff, crates/rewards operatorsLets the sender use /p give <player> <protection> <amount>. Keep this away from normal players because it creates protection items.
maxprotections.protection.remove.othersSenior staff onlyLets staff remove another player's protection stone. This can affect player property, so treat it as a moderation/admin permission.
maxprotections.admin.debugSupport staffAllows /mp debug <region> for diagnosing a placed protection or WorldGuard region.
maxprotections.admin.listplacedSupport staffAllows /mp listplaced, the admin list of tracked protections.
maxprotections.admin.reportAdmin staffAllows /mp report protections, useful for auditing totals and database state.
maxprotections.admin.repairOwner/admin onlyAllows /mp repair and cleanup. This changes tracking data and should not be given widely.
maxprotections.admin.migrateOwner/admin onlyAllows /mp migrate protectionstones preview and /mp migrate protectionstones apply. This imports external protection state and should not be given widely.
maxprotections.adminOwner/admin onlyFull plugin admin access. It includes admin debug/list/repair/report/migrate plus protection child permissions.

Suggested Server Setup

For a standard server:

Server rankSuggested permissions
Defaultmaxprotections.protection, maxprotections.protection.buy, maxprotections.flags
VIPDefault permissions + maxprotections.limits.vip + optional maxprotections.protection.fly
MVPDefault permissions + maxprotections.limits.mvp + optional maxprotections.protection.fly
Helper/modDefault permissions + maxprotections.admin.debug + maxprotections.admin.listplaced
Adminmaxprotections.admin
Ownermaxprotections.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.

Do not edit protections.db by hand while the server is running. Use the YAML files only for configurable templates, menus, language, and protection definitions. Use /mp repair only when WorldGuard and the SQL tracking data drift out of sync.

ProtectionStones Migration

MaxProtections can import existing ProtectionStones regions so the server can stop depending on ProtectionStones afterward.

Run this first while ProtectionStones is still installed and enabled:

/mp migrate protectionstones preview

Review the report and make backups of your WorldGuard regions.yml files plus plugins/MaxProtections/protections.db. Then run:

/mp migrate protectionstones apply

Imported protections keep their original WorldGuard region IDs, owner UUIDs, member UUIDs, bounds, home when available, and physical protection block material. During apply, MaxProtections reuses an existing protections/<id>.yml with the same material and detected radius when possible; otherwise it creates one automatically, such as ps_diamond_block_r25.yml, with price: 0 and price-rent: 0. The generated YAML ID is used as the MaxProtections type, while the original WorldGuard region ID stays unchanged.

Protection Rent

Rent is controlled from protection.rent in config.yml:

protection:
  rent:
    enabled: false
    period-hours: 168
    check-interval-minutes: 10

When enabled, each placed protection receives a paid-until timestamp. The plugin periodically tries to charge the owner through Vault using price-rent from that protection's protections/<id>.yml file, while price remains the one-time buy price. Existing files without price-rent fall back to price, then to legacy economy.price. If the owner cannot pay or economy is unavailable, the protection is safely suspended: the SQL record, members, alias, home, and stone remain, but the WorldGuard region is removed so the area no longer protects. The owner can run /p rent <region-or-alias> after getting funds to pay and reactivate the region.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.1.x1.21.x

Платформы

Поддерживаемые окружения

Сервер

Зависимости

Ссылки


Создатели

Детали

Лицензия:
Опубликован:2 недели назад
Обновлён:6 дней назад
Главная