Перейти к основному содержимому

Интеграции защиты CannonRTP

CannonRTP может проверять кандидатов на посадку через несколько плагинов защиты перед добавлением в очередь.

Поддерживаемые интеграции

Текущие мягкие зависимости:

  • WorldGuard
  • Towny
  • Lands
  • GriefPrevention
  • HuskTowns
  • HuskClaims

Они объявлены как softdepend в plugin.yml. CannonRTP работает без любого из них.

Как работают проверки защиты

  • Адаптеры проверяются в фиксированном порядке: WorldGuard, Towny, Lands, GriefPrevention, HuskTowns, HuskClaims.
  • Первый адаптер, заблокировавший точку, останавливает проверку и становится указанной причиной.
  • Если адаптер отключён в конфигурации или плагин не установлен, он пропускается.
  • Если API защиты выдаёт ошибку, CannonRTP блокирует эту посадку по умолчанию.

Глобальный переключатель безопасности для ошибок API:

  • landing.failOpenOnProtectionErrors

По умолчанию: false

При установке в true CannonRTP позволит продолжить посадку, когда плагин защиты не может быть безопасно опрошен.

Команда /wc probe

Администраторы могут встать в любом месте и выполнить /wc probe, чтобы проверить, проходит ли это место все проверки защиты. Результат сообщает, какой плагин заблокировал место и почему, или подтверждает его корректность.

Пути конфигурации

Все переключатели защиты находятся под protection.* в plugins/CannonRTP/config.yml.

Поведение по плагинам

WorldGuard

Ключи конфигурации:

  • protection.worldGuard.enabled
  • protection.worldGuard.allowGlobalRegionOnly
  • protection.worldGuard.allowBuildAllowedRegions
  • protection.worldGuard.allowPassthroughRegions

Поведение по умолчанию:

  • включён по умолчанию
  • точки, покрытые только __global__, разрешены по умолчанию
  • регионы с build=ALLOW разрешены по умолчанию
  • регионы с passthrough=ALLOW разрешены по умолчанию
  • другие совпадающие защищённые регионы блокируются

Towny

Ключи конфигурации:

  • protection.towny.enabled
  • protection.towny.allowWilderness
  • protection.towny.allowNationZones
  • protection.towny.allowClaimedTownBlocks

Поведение по умолчанию:

  • включён по умолчанию
  • дикая местность разрешена
  • зоны наций заблокированы
  • заявленные городские блоки заблокированы

Lands

Ключи конфигурации:

  • protection.lands.enabled
  • protection.lands.allowUnclaimedAreas
  • protection.lands.allowClaimedAreas

Поведение по умолчанию:

  • включён по умолчанию
  • незаявленные территории разрешены
  • заявленные территории заблокированы

GriefPrevention

Ключи конфигурации:

  • protection.griefPrevention.enabled
  • protection.griefPrevention.allowWilderness
  • protection.griefPrevention.allowAdminClaims
  • protection.griefPrevention.allowPlayerClaims

Поведение по умолчанию:

  • включён по умолчанию
  • дикая местность разрешена
  • административные заявки заблокированы
  • заявки игроков заблокированы

HuskTowns

Ключи конфигурации:

  • protection.huskTowns.enabled
  • protection.huskTowns.allowWilderness
  • protection.huskTowns.allowAdminClaims
  • protection.huskTowns.allowRegularClaims
  • protection.huskTowns.allowFarmClaims
  • protection.huskTowns.allowPlotClaims

Поведение по умолчанию:

  • включён по умолчанию
  • дикая местность разрешена
  • административные заявки заблокированы
  • обычные городские заявки заблокированы
  • фермерские заявки заблокированы
  • заявки участков заблокированы

HuskClaims

Ключи конфигурации:

  • protection.huskClaims.enabled
  • protection.huskClaims.allowWilderness
  • protection.huskClaims.allowAdminClaims
  • protection.huskClaims.allowPlayerClaims

Поведение по умолчанию:

  • включён по умолчанию
  • дикая местность разрешена
  • административные заявки заблокированы
  • заявки игроков заблокированы

Прочая валидация всё ещё применяется

Интеграции защиты — лишь часть валидации посадки. Точка может быть отклонена, потому что:

  • она за пределами границы мира
  • нет безопасной поверхности
  • пространство ног или головы заблокировано
  • местность совпадает со списками опасных материалов

Отчёты об ошибках

Когда пушка исчерпывается (не может найти достаточно корректных точек до тайм-аута поиска), вывод статуса и сообщения для игроков включают разбивку наиболее частых причин отклонения. Если большинство отклонений вызвано защищённой территорией, это будет указано. Это помогает администраторам диагностировать, не слишком ли строги настройки защиты для их сервера.