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
enabledinprotection.ymlauftruesteht 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
failOpenOnProtectionErrorsinlanding.ymlgesteuert.
Der globale Sicherheitsschalter für API-Fehler ist:
failOpenOnProtectionErrors(inlanding.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.enabledworldGuard.allowGlobalRegionOnlyworldGuard.allowBuildAllowedRegionsworldGuard.allowPassthroughRegions
Standardverhalten:
- standardmäßig aktiviert
- Orte, die nur von
__global__abgedeckt sind, sind standardmäßig erlaubt - Regionen mit
build=ALLOWsind standardmäßig erlaubt - Regionen mit
passthrough=ALLOWsind standardmäßig erlaubt - andere zutreffende geschützte Regionen werden blockiert
Towny
Konfigurationsschlüssel:
towny.enabledtowny.allowWildernesstowny.allowNationZonestowny.allowClaimedTownBlocks
Standardverhalten:
- standardmäßig aktiviert
- Wildnis ist erlaubt
- Nationszonen werden blockiert
- beanspruchte Town-Blöcke werden blockiert
Lands
Konfigurationsschlüssel:
lands.enabledlands.allowUnclaimedAreaslands.allowClaimedAreas
Standardverhalten:
- standardmäßig aktiviert
- unbeanspruchte Gebiete sind erlaubt
- beanspruchte Gebiete werden blockiert
GriefPrevention
Konfigurationsschlüssel:
griefPrevention.enabledgriefPrevention.allowWildernessgriefPrevention.allowAdminClaimsgriefPrevention.allowPlayerClaims
Standardverhalten:
- standardmäßig aktiviert
- Wildnis ist erlaubt
- Admin-Claims werden blockiert
- Spieler-Claims werden blockiert
HuskTowns
Konfigurationsschlüssel:
huskTowns.enabledhuskTowns.allowWildernesshuskTowns.allowAdminClaimshuskTowns.allowRegularClaimshuskTowns.allowFarmClaimshuskTowns.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.enabledhuskClaims.allowWildernesshuskClaims.allowAdminClaimshuskClaims.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.