Zum Hauptinhalt springen

CannonRTP Schutz-Integrationen

CannonRTP kann Kandidaten-Landeorte gegen mehrere Schutz-Plugins validieren, bevor sie zur Verwendung in die Warteschlange aufgenommen werden.

Unterstützte Integrationen

Die aktuellen Soft-Abhängigkeiten sind:

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

Diese sind in der plugin.yml als softdepend deklariert. CannonRTP funktioniert auch ohne dass eines davon installiert ist; fehlende Plugins werden stillschweigend übersprungen.

Wie Schutzprüfungen funktionieren

  • Adapter werden in einer festen Reihenfolge geprüft: WorldGuard, Towny, Lands, GriefPrevention, HuskTowns, HuskClaims.
  • Ein Schutzadapter wird nur registriert, wenn (a) sein Schalter enabled in protection.yml auf true steht UND (b) das Plugin auf dem Server vorhanden und geladen ist.
  • Der erste Adapter, der einen Ort blockiert, stoppt die Prüfung und wird als gemeldeter Grund verwendet.
  • Wenn eine Schutz-API einen Fehler wirft, blockiert CannonRTP standardmäßig diese Landung (das sichere Verhalten). Dies wird durch failOpenOnProtectionErrors in landing.yml gesteuert.

Der globale Sicherheitsschalter für API-Fehler ist:

  • failOpenOnProtectionErrors (in landing.yml)

Standard: false

Wenn auf true gesetzt, lässt CannonRTP Landungen weiterhin zu, wenn ein Schutz-Plugin nicht sicher abgefragt werden kann.

Der Befehl /wc probe

Admins können sich an einer beliebigen Position aufstellen und /wc probe ausführen, um zu testen, ob diese Position alle aktivierten Schutzprüfungen besteht. Das Ergebnis meldet, welches Plugin den Ort blockiert hat und warum, oder bestätigt, dass der Ort gültig ist.

Konfigurationsdatei

Alle Schutzschalter befinden sich in plugins/CannonRTP/protection.yml. Schlüssel sind auf oberster Ebene (z. B. worldGuard.enabled, nicht protection.worldGuard.enabled).

Plugin-spezifisches Verhalten

WorldGuard

Konfigurationsschlüssel:

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

Standardverhalten:

  • standardmäßig aktiviert
  • Orte, die nur von __global__ abgedeckt sind, sind standardmäßig erlaubt
  • Regionen mit build=ALLOW sind standardmäßig erlaubt
  • Regionen mit passthrough=ALLOW sind standardmäßig erlaubt
  • andere zutreffende geschützte Regionen werden blockiert

Towny

Konfigurationsschlüssel:

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

Standardverhalten:

  • standardmäßig aktiviert
  • Wildnis ist erlaubt
  • Nationszonen werden blockiert
  • beanspruchte Town-Blöcke werden blockiert

Lands

Konfigurationsschlüssel:

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

Standardverhalten:

  • standardmäßig aktiviert
  • unbeanspruchte Gebiete sind erlaubt
  • beanspruchte Gebiete werden blockiert

GriefPrevention

Konfigurationsschlüssel:

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

Standardverhalten:

  • standardmäßig aktiviert
  • Wildnis ist erlaubt
  • Admin-Claims werden blockiert
  • Spieler-Claims werden blockiert

HuskTowns

Konfigurationsschlüssel:

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

Standardverhalten:

  • standardmäßig aktiviert
  • Wildnis ist erlaubt
  • Admin-Claims werden blockiert
  • reguläre Town-Claims werden blockiert
  • Farm-Claims werden blockiert
  • Plot-Claims werden blockiert

HuskClaims

Konfigurationsschlüssel:

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

Standardverhalten:

  • standardmäßig aktiviert
  • Wildnis ist erlaubt
  • Admin-Claims werden blockiert
  • Spieler-Claims werden blockiert

Nicht-Schutz-Validierung gilt weiterhin

Schutz-Integrationen sind nur ein Teil der Landevalidierung. Ein Ort kann immer noch abgelehnt werden, weil:

  • er außerhalb der Weltgrenze liegt
  • keine sichere Oberfläche existiert
  • der Fuß- oder Kopfraum blockiert ist
  • das Gelände den konfigurierten Listen unsicherer Materialien entspricht
  • ein CannonRTPLocationValidationEvent-Listener ihn verwirft (siehe API-Events)

Fehlerberichterstattung

Wenn eine Kanone erschöpft wird (nicht genug gültige Orte finden kann, bevor searchTimeoutAttempts aufgebraucht ist), enthält die Statusausgabe und die spielerseitigen Nachrichten eine Aufschlüsselung der häufigsten Ablehnungsgründe. Wenn die meisten Ablehnungen von geschütztem Land stammten, wird das gemeldet. Das hilft Admins, zu diagnostizieren, ob die Schutzeinstellungen für ihren Server zu restriktiv sind.