メインコンテンツまでスキップ

CannonRTP 保護プラグイン統合

CannonRTP は、候補着地地点を使用のためにキューに入れる前に、複数の保護プラグインに対して検証することができます。

サポート対象の統合

現在のソフト依存関係は以下のとおりです:

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

これらは plugin.yml で softdepend として宣言されています。CannonRTP はこれらのいずれもインストールされていなくても動作します。存在しないプラグインは静かにスキップされます。

保護チェックの仕組み

  • アダプターは固定された順序でチェックされます: WorldGuard、Towny、Lands、GriefPrevention、HuskTowns、HuskClaims。
  • 保護アダプターは、(a) protection.ymlenabled トグルが true であり、かつ (b) プラグインがサーバー上に存在しロードされている場合にのみ登録されます。
  • 地点をブロックする最初のアダプターでチェックが停止し、それが報告される理由になります。
  • 保護 API がエラーをスローした場合、CannonRTP はデフォルトでその着地をブロックします(フェイルクローズド動作)。これは landing.ymlfailOpenOnProtectionErrors で制御されます。

API 失敗時のグローバル安全トグルは以下のとおりです:

  • failOpenOnProtectionErrors ( landing.yml 内)

デフォルト: false

true に設定すると、保護プラグインを安全にクエリできない場合でも、CannonRTP は着地を続行させます。

/wc probe コマンド

管理者は任意の場所に立って /wc probe を実行することで、その地点が有効化されたすべての保護チェックを通過するかをテストできます。結果には、地点をブロックしたプラグインと理由、または地点が有効であることの確認が報告されます。

設定ファイル

すべての保護プラグインのトグルは plugins/CannonRTP/protection.yml にあります。キーはトップレベルです(例: protection.worldGuard.enabled ではなく worldGuard.enabled)。

プラグインごとの動作

WorldGuard

設定キー:

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

デフォルト動作:

  • デフォルトで有効
  • __global__ のみでカバーされる地点はデフォルトで許可
  • build=ALLOW のリージョンはデフォルトで許可
  • passthrough=ALLOW のリージョンはデフォルトで許可
  • その他の一致する保護リージョンはブロック

Towny

設定キー:

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

デフォルト動作:

  • デフォルトで有効
  • 未開拓地は許可
  • 国家ゾーンはブロック
  • 保有された町のブロックはブロック

Lands

設定キー:

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

デフォルト動作:

  • デフォルトで有効
  • 未保有領域は許可
  • 保有領域はブロック

GriefPrevention

設定キー:

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

デフォルト動作:

  • デフォルトで有効
  • 未開拓地は許可
  • 管理者クレームはブロック
  • プレイヤークレームはブロック

HuskTowns

設定キー:

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

デフォルト動作:

  • デフォルトで有効
  • 未開拓地は許可
  • 管理者クレームはブロック
  • 通常の町クレームはブロック
  • 農場クレームはブロック
  • 区画クレームはブロック

HuskClaims

設定キー:

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

デフォルト動作:

  • デフォルトで有効
  • 未開拓地は許可
  • 管理者クレームはブロック
  • プレイヤークレームはブロック

保護以外の検証も適用されます

保護プラグイン統合は着地検証の一部にすぎません。地点は以下の理由でも拒否される可能性があります:

  • ワールドボーダー外である
  • 安全な地表が存在しない
  • 足元または頭部空間がブロックされている
  • 地形が設定された危険マテリアルリストに一致する
  • CannonRTPLocationValidationEvent リスナーが拒否する(API イベント を参照)

失敗の報告

キャノンが exhausted になる(searchTimeoutAttempts を使い切る前に十分な有効地点が見つからなかった)場合、ステータス出力およびプレイヤー向けメッセージには、よくある拒否理由の内訳が含まれます。拒否のほとんどが保護された土地から発生した場合は、それが報告されます。これにより、管理者はサーバーに対して保護設定が制限的すぎるかどうかを診断しやすくなります。