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 unterstützten Schutz-Plugins sind:
- WorldGuard (benötigt außerdem WorldEdit, das WorldGuard ohnehin voraussetzt)
- Towny
- Lands
- GriefPrevention
- HuskTowns
- HuskClaims
Diese sind alle in der plugin.yml als softdepend deklariert (neben WorldEdit und FreeMinecraftModels). 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. - Wenn ein Adapter aktiviert und sein Plugin vorhanden ist, der Adapter selbst sich aber nicht laden lässt (fehlende Klasse, inkompatible API-Version), protokolliert CannonRTP
Failed to hook into <plugin>und behält für dieses Plugin einen Platzhalter in der Prüfkette, damit der Fehlschlag nicht so behandelt wird, als wäre das Plugin nicht installiert.failOpenOnProtectionErrorsentscheidet, was der Platzhalter tut:false(Standard): Der Platzhalter blockiert jeden Ort mit dem Grundits adapter failed to initialize (...), und die Kanonen hören auf zu suchen. Jede Kanone wird mit geschütztem Land als Grund als Exhausted markiert, statt Orte zu prüfen, die nicht bestehen können. Behebe die Integration oder deaktiviere sie inprotection.ymlund führe dann/wc reloadaus.true: Der Platzhalter erlaubt jeden Ort, und die anderen Adapter laufen weiterhin.
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. Bei false blockiert ein Abfragefehler diesen Ort mit dem Grund its API could not be queried safely. Abfragefehler werden bei beiden Einstellungen als Warnungen protokolliert.
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 die Schutzadapter ihn erlauben. Der Befehl prüft weder das Gelände noch die Blocksäule für den Abwurf, den Suchradius oder das API-Event zur Standortvalidierung.
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
- Welten, in denen Towny nicht aktiviert ist, sind immer erlaubt
- 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
Weitere 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 ist (sie findet nicht genügend gültige Orte, bevor searchTimeoutAttempts aufgebraucht ist, oder stoppt vorzeitig, weil eine Schutz-Integration nicht geladen werden konnte), nennen Statusausgabe und Spielernachrichten die in diesem Suchfenster aufgetretenen Ablehnungskategorien. Geschütztes Land wird bereits genannt, wenn ein einziger Kandidat deshalb abgelehnt wurde. Trotz Formulierungen wie „most samples“ im Standardtext enthält die Meldung weder Anzahlen noch eine Rangfolge nach Häufigkeit. Nutze sie, um zu untersuchende Prüfungen zu erkennen, nicht um deren Ablehnungshäufigkeit zu vergleichen.