Intégrations de protection de CannonRTP
CannonRTP peut valider les emplacements d’atterrissage candidats contre plusieurs plugins de protection avant de les mettre en file d’attente.
Intégrations supportées
Les dépendances optionnelles actuelles sont :
- WorldGuard
- Towny
- Lands
- GriefPrevention
- HuskTowns
- HuskClaims
Elles sont déclarées comme softdepend dans plugin.yml. CannonRTP fonctionne sans aucune d’entre elles installée.
Comment fonctionnent les vérifications de protection
- Les adaptateurs sont vérifiés dans un ordre fixe : WorldGuard, Towny, Lands, GriefPrevention, HuskTowns, HuskClaims.
- Le premier adaptateur qui bloque un emplacement arrête la vérification et devient la raison rapportée.
- Si un adaptateur est désactivé dans la configuration ou si le plugin n’est pas présent, il est ignoré.
- Si une API de protection génère une erreur, CannonRTP bloque cet atterrissage par défaut.
L’interrupteur de sécurité global pour les erreurs d’API est :
landing.failOpenOnProtectionErrors
Par défaut : false
Quand défini à true, CannonRTP permettra aux atterrissages de continuer quand un plugin de protection ne peut pas être interrogé en toute sécurité.
La commande /wc probe
Les administrateurs peuvent se tenir à n’importe quel emplacement et exécuter /wc probe pour tester si cet emplacement passe toutes les vérifications de protection. Le résultat rapporte quel plugin a bloqué l’emplacement et pourquoi, ou confirme que l’emplacement est valide.
Chemins de configuration
Tous les interrupteurs de protection sont sous protection.* dans plugins/CannonRTP/config.yml.
Comportement par plugin
WorldGuard
Clés de configuration :
protection.worldGuard.enabledprotection.worldGuard.allowGlobalRegionOnlyprotection.worldGuard.allowBuildAllowedRegionsprotection.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=ALLOWsont autorisées par défaut - les régions avec
passthrough=ALLOWsont autorisées par défaut - les autres régions protégées correspondantes sont bloquées
Towny
Clés de configuration :
protection.towny.enabledprotection.towny.allowWildernessprotection.towny.allowNationZonesprotection.towny.allowClaimedTownBlocks
Comportement par défaut :
- activé par défaut
- la nature sauvage est autorisée
- les zones de nation sont bloquées
- les blocs de ville revendiqués sont bloqués
Lands
Clés de configuration :
protection.lands.enabledprotection.lands.allowUnclaimedAreasprotection.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 :
protection.griefPrevention.enabledprotection.griefPrevention.allowWildernessprotection.griefPrevention.allowAdminClaimsprotection.griefPrevention.allowPlayerClaims
Comportement par défaut :
- activé par défaut
- la nature sauvage est autorisée
- les revendications d’administrateur sont bloquées
- les revendications de joueur sont bloquées
HuskTowns
Clés de configuration :
protection.huskTowns.enabledprotection.huskTowns.allowWildernessprotection.huskTowns.allowAdminClaimsprotection.huskTowns.allowRegularClaimsprotection.huskTowns.allowFarmClaimsprotection.huskTowns.allowPlotClaims
Comportement par défaut :
- activé par défaut
- la nature sauvage est autorisée
- les revendications d’administrateur sont bloquées
- les revendications de ville régulières sont bloquées
- les revendications de ferme sont bloquées
- les revendications de parcelle sont bloquées
HuskClaims
Clés de configuration :
protection.huskClaims.enabledprotection.huskClaims.allowWildernessprotection.huskClaims.allowAdminClaimsprotection.huskClaims.allowPlayerClaims
Comportement par défaut :
- activé par défaut
- la nature sauvage est autorisée
- les revendications d’administrateur sont bloquées
- les revendications de joueur 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é parce que :
- il est en dehors de la bordure du monde
- aucune surface sûre n’existe
- l’espace des pieds ou de la tête est bloqué
- le terrain correspond aux listes de matériaux dangereux configurées
Rapports d’échec
Quand un canon devient épuisé (ne peut pas trouver assez d’emplacements valides avant le délai de recherche), la sortie de statut et les messages destinés aux joueurs incluent une ventilation des raisons de rejet les plus courantes. Si la plupart des rejets provenaient de terrains protégés, cela est rapporté. Cela aide les administrateurs à diagnostiquer si les paramètres de protection sont trop restrictifs pour leur serveur.