跳到主要内容

CannonRTP 保护集成

CannonRTP 可以在将着陆候选位置加入队列之前,对多个保护插件进行验证。

支持的集成

当前的软依赖为:

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

这些在 plugin.yml 中声明为 softdepend。CannonRTP 在没有安装任何保护插件的情况下也能正常工作。

保护检查工作原理

  • 适配器按固定顺序检查:WorldGuard、Towny、Lands、GriefPrevention、HuskTowns、HuskClaims。
  • 第一个阻止位置的适配器会停止检查并成为报告的原因。
  • 如果适配器在配置中已禁用或插件不存在,则跳过。
  • 如果保护 API 抛出错误,CannonRTP 默认阻止该着陆。

API 错误的全局安全开关为:

  • landing.failOpenOnProtectionErrors

默认:false

设置为 true 时,当保护插件无法安全查询时,CannonRTP 将允许着陆继续。

/wc probe 命令

管理员可以站在任何位置运行 /wc probe 来测试该位置是否通过所有保护检查。结果会报告哪个插件阻止了该位置及原因,或确认该位置有效。

配置路径

所有保护开关位于 plugins/CannonRTP/config.yml 中的 protection.* 下。

每插件行为

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

默认行为:

  • 默认启用
  • 荒野允许
  • 管理员认领被阻止
  • 玩家认领被阻止

非保护验证仍然适用

保护集成只是着陆验证的一部分。位置仍可能因以下原因被拒绝:

  • 在世界边界之外
  • 不存在安全表面
  • 脚部或头部空间被堵塞
  • 地形与配置的不安全材料列表匹配

失败报告

当炮台耗尽时(在搜索超时前找不到足够的有效位置),状态输出和玩家消息会包含常见拒绝原因的分解。如果大多数拒绝来自受保护的土地,这会被报告。这有助于管理员诊断保护设置是否对其服务器过于严格。