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.enabledprotection.worldGuard.allowGlobalRegionOnlyprotection.worldGuard.allowBuildAllowedRegionsprotection.worldGuard.allowPassthroughRegions
默认行为:
- 默认启用
- 仅被
__global__覆盖的位置默认允许 build=ALLOW的区域默认允许passthrough=ALLOW的区域默认允许- 其他匹配的受保护区域被阻止
Towny
配置键:
protection.towny.enabledprotection.towny.allowWildernessprotection.towny.allowNationZonesprotection.towny.allowClaimedTownBlocks
默认行为:
- 默认启用
- 荒野允许
- 国家区域被阻止
- 已认领的城镇方块被阻止
Lands
配置键:
protection.lands.enabledprotection.lands.allowUnclaimedAreasprotection.lands.allowClaimedAreas
默认行为:
- 默认启用
- 未认领区域允许
- 已认领区域被阻止
GriefPrevention
配置键:
protection.griefPrevention.enabledprotection.griefPrevention.allowWildernessprotection.griefPrevention.allowAdminClaimsprotection.griefPrevention.allowPlayerClaims
默认行为:
- 默认启用
- 荒野允许
- 管理员认领被阻止
- 玩家认领被阻止
HuskTowns
配置键:
protection.huskTowns.enabledprotection.huskTowns.allowWildernessprotection.huskTowns.allowAdminClaimsprotection.huskTowns.allowRegularClaimsprotection.huskTowns.allowFarmClaimsprotection.huskTowns.allowPlotClaims
默认行为:
- 默认启用
- 荒野允许
- 管理员认领被阻止
- 普通城镇认领被阻止
- 农场认领被阻止
- 地块认领被阻止
HuskClaims
配置键:
protection.huskClaims.enabledprotection.huskClaims.allowWildernessprotection.huskClaims.allowAdminClaimsprotection.huskClaims.allowPlayerClaims
默认行为:
- 默认启用
- 荒野允许
- 管理员认领被阻止
- 玩家认领被阻止
非保护验证仍然适用
保护集成只是着陆验证的一部分。位置仍可能因以下原因被拒绝:
- 在世界边界之外
- 不存在安全表面
- 脚部或头部空间被堵塞
- 地形与配置的不安全材料列表匹配
失败报告
当炮台耗尽时(在搜索超时前找不到足够的有效位置),状态输出和玩家消息会包含常见拒绝原因的分解。如果大多数拒绝来自受保护的土地,这会被报告。这有助于管理员诊断保护设置是否对其服务器过于严格。