Aller au contenu principal

Intégrations de Protection de CannonRTP

CannonRTP peut valider les emplacements d'atterrissage candidats par rapport à plusieurs plugins de protection avant de les mettre en file pour utilisation.

Intégrations Prises en Charge

Les dépendances logicielles actuelles sont :

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

Elles sont déclarées en softdepend dans plugin.yml. CannonRTP fonctionne sans aucune d'entre elles ; les plugins manquants sont silencieusement ignorés.

Fonctionnement des Vérifications de Protection

  • Les adaptateurs sont vérifiés dans un ordre fixe : WorldGuard, Towny, Lands, GriefPrevention, HuskTowns, HuskClaims.
  • Un adaptateur de protection n'est enregistré que lorsque (a) sa bascule enabled est true dans protection.yml ET (b) le plugin est présent et chargé sur le serveur.
  • Le premier adaptateur qui bloque un emplacement arrête la vérification et devient la raison signalée.
  • Si une API de protection lève une erreur, CannonRTP bloque cet atterrissage par défaut (comportement sûr). Ceci est régi par failOpenOnProtectionErrors dans landing.yml.

La bascule globale de sécurité pour les échecs d'API est :

  • failOpenOnProtectionErrors (dans landing.yml)

Défaut : false

Lorsque définie sur true, CannonRTP autorisera les atterrissages à continuer lorsqu'un plugin de protection ne peut être interrogé en toute sécurité.

La Commande /wc probe

Les administrateurs peuvent se placer à n'importe quel endroit et lancer /wc probe pour tester si cet emplacement passe toutes les vérifications de protection activées. Le résultat indique quel plugin a bloqué l'emplacement et pourquoi, ou confirme que l'emplacement est valide.

Fichier de Configuration

Toutes les bascules de protection se trouvent dans plugins/CannonRTP/protection.yml. Les clés sont au niveau racine (par ex. worldGuard.enabled, pas protection.worldGuard.enabled).

Comportement par Plugin

WorldGuard

Clés de configuration :

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

Comportement par défaut :

  • activé par défaut
  • les emplacements couverts uniquement par __global__ sont autorisés par défaut
  • les régions avec build=ALLOW sont autorisées par défaut
  • les régions avec passthrough=ALLOW sont autorisées par défaut
  • les autres régions protégées correspondantes sont bloquées

Towny

Clés de configuration :

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

Comportement par défaut :

  • activé par défaut
  • la nature sauvage (wilderness) est autorisée
  • les zones de nation sont bloquées
  • les blocs de villes revendiqués sont bloqués

Lands

Clés de configuration :

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

Comportement par défaut :

  • activé par défaut
  • les zones non revendiquées sont autorisées
  • les zones revendiquées sont bloquées

GriefPrevention

Clés de configuration :

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

Comportement par défaut :

  • activé par défaut
  • la nature sauvage est autorisée
  • les revendications administrateur sont bloquées
  • les revendications de joueurs sont bloquées

HuskTowns

Clés de configuration :

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

Comportement par défaut :

  • activé par défaut
  • la nature sauvage est autorisée
  • les revendications administrateur sont bloquées
  • les revendications de villes régulières sont bloquées
  • les revendications de fermes sont bloquées
  • les revendications de parcelles sont bloquées

HuskClaims

Clés de configuration :

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

Comportement par défaut :

  • activé par défaut
  • la nature sauvage est autorisée
  • les revendications administrateur sont bloquées
  • les revendications de joueurs sont bloquées

La Validation Hors-Protection S'Applique Toujours

Les intégrations de protection ne sont qu'une partie de la validation d'atterrissage. Un emplacement peut encore être rejeté car :

  • il se trouve hors des limites du monde
  • aucune surface sûre n'existe
  • l'espace des pieds ou de la tête est obstrué
  • le terrain correspond aux listes de matériaux dangereux configurées
  • un listener CannonRTPLocationValidationEvent le rejette (voir Événements API)

Rapport d'Échec

Lorsqu'un canon devient épuisé (ne parvient pas à trouver suffisamment d'emplacements valides avant que searchTimeoutAttempts ne soit épuisé), la sortie de statut et les messages destinés aux joueurs incluent une analyse des raisons de rejet courantes. Si la plupart des rejets proviennent de terrains protégés, cela est signalé. Cela aide les administrateurs à diagnostiquer si les paramètres de protection sont trop restrictifs pour leur serveur.