Saltar al contenido principal

Integraciones de protección de CannonRTP

CannonRTP puede comprobar las ubicaciones candidatas de aterrizaje con varios plugins de protección antes de añadirlas a la cola.

Integraciones compatibles​

Los plugins de protección compatibles son:

  • WorldGuard, que también necesita WorldEdit como dependencia propia.
  • Towny.
  • Lands.
  • GriefPrevention.
  • HuskTowns.
  • HuskClaims.

Todos se declaran como softdepend en plugin.yml, junto con WorldEdit y FreeMinecraftModels. CannonRTP funciona sin ninguno de ellos; los plugins ausentes se omiten silenciosamente.

Cómo funcionan las comprobaciones​

  • Los adaptadores se comprueban en un orden fijo: WorldGuard, Towny, Lands, GriefPrevention, HuskTowns y HuskClaims.
  • Un adaptador solo se registra si su ajuste enabled es true en protection.yml y el plugin está presente y cargado en el servidor.
  • El primer adaptador que bloquea una ubicación detiene la comprobación y determina el motivo informado.
  • Si una API de protección lanza un error, CannonRTP bloquea ese aterrizaje por defecto. Este comportamiento se controla mediante failOpenOnProtectionErrors en landing.yml.
  • Si el adaptador está habilitado y su plugin está presente, pero el adaptador no puede cargarse por una clase ausente o una API incompatible, CannonRTP registra Failed to hook into <plugin> y conserva un sustituto para ese plugin en la cadena de comprobaciones, de modo que el fallo no se trata como si el plugin no estuviera instalado. failOpenOnProtectionErrors decide qué hace el sustituto:
    • false (predeterminado): el sustituto bloquea todas las ubicaciones con el motivo its adapter failed to initialize (...) y los cañones dejan de buscar. Cada cañón se marca como Agotado con los terrenos protegidos como motivo, en lugar de muestrear ubicaciones que no pueden superar la comprobación. Corrige la integración, o deshabilítala en protection.yml, y después ejecuta /wc reload.
    • true: el sustituto permite todas las ubicaciones y los demás adaptadores siguen ejecutándose.

El ajuste global de seguridad para fallos de API es:

  • failOpenOnProtectionErrors, en landing.yml.

Valor predeterminado: false.

Con true, CannonRTP permite continuar el aterrizaje cuando no puede consultar de forma segura un plugin de protección. Con false, un error de consulta bloquea esa ubicación con el motivo its API could not be queried safely. Los errores de consulta se registran como avisos con cualquiera de los dos valores.

El comando /wc probe​

Los administradores pueden situarse en cualquier ubicación y ejecutar /wc probe para comprobar si supera todas las protecciones habilitadas. El resultado indica qué plugin la ha bloqueado y por qué, o confirma que los adaptadores de protección la permiten. Este comando no valida el terreno, la columna de descenso, el radio de búsqueda ni el evento de validación de ubicaciones de la API.

Archivo de configuración​

Todos los ajustes de protección están en plugins/CannonRTP/protection.yml. Las claves parten del nivel superior: por ejemplo, worldGuard.enabled, no protection.worldGuard.enabled.

Comportamiento de cada plugin​

WorldGuard​

Claves de configuración:

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

Comportamiento predeterminado:

  • Habilitado.
  • Permite ubicaciones cubiertas únicamente por __global__.
  • Permite regiones con build=ALLOW.
  • Permite regiones con passthrough=ALLOW.
  • Bloquea las demás regiones protegidas coincidentes.

Towny​

Claves de configuración:

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

Comportamiento predeterminado:

  • Habilitado.
  • Siempre permite los mundos en los que Towny no está habilitado.
  • Permite terrenos sin reclamar.
  • Bloquea zonas de naciones.
  • Bloquea bloques reclamados por ciudades.

Lands​

Claves de configuración:

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

Comportamiento predeterminado:

  • Habilitado.
  • Permite áreas sin reclamar.
  • Bloquea áreas reclamadas.

GriefPrevention​

Claves de configuración:

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

Comportamiento predeterminado:

  • Habilitado.
  • Permite terrenos sin reclamar.
  • Bloquea terrenos reclamados por administradores.
  • Bloquea terrenos reclamados por jugadores.

HuskTowns​

Claves de configuración:

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

Comportamiento predeterminado:

  • Habilitado.
  • Permite terrenos sin reclamar.
  • Bloquea terrenos reclamados por administradores.
  • Bloquea terrenos normales reclamados por ciudades.
  • Bloquea terrenos reclamados como granjas.
  • Bloquea terrenos reclamados como parcelas.

HuskClaims​

Claves de configuración:

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

Comportamiento predeterminado:

  • Habilitado.
  • Permite terrenos sin reclamar.
  • Bloquea terrenos reclamados por administradores.
  • Bloquea terrenos reclamados por jugadores.

Se siguen aplicando las demás validaciones​

Las protecciones son solo una parte de la validación del aterrizaje. Una ubicación puede rechazarse porque:

  • Está fuera del borde del mundo.
  • No hay una superficie segura.
  • El espacio de los pies o de la cabeza está bloqueado.
  • El terreno coincide con las listas de materiales inseguros configuradas.
  • Un listener de CannonRTPLocationValidationEvent la rechaza; consulta Eventos de la API.

Información sobre fallos​

Cuando un cañón queda agotado (agota searchTimeoutAttempts sin encontrar suficientes ubicaciones válidas, o se detiene antes porque una integración de protección no pudo cargarse), el estado y los mensajes para jugadores enumeran las categorías de rechazo detectadas durante ese periodo. Los terrenos protegidos aparecen aunque solo se haya rechazado una muestra por ese motivo. El texto no incluye recuentos ni ordena las categorías por frecuencia, pese a expresiones como «most samples» en el mensaje predeterminado. Úsalo para identificar qué comprobaciones investigar, no para medir cuál rechazó más ubicaciones.