Die Zonenfunktionen für Profis richten sich vor allem an Spieler mit vielen Unterzonen. Damit Neulinge nicht durch diese Funktionen verwirrt werden, sind sie erst ab
Level 30 im Zonenmenü als "Weitere Funktionen" sichtbar. Du kannst sie aber (ab Level 30) auch direkt mit dem Befehl
/zone pro aufrufen.
Namen für Unterzonen
Unterzonen werden automatisch durchnummeriert, z.B.
Steve#1.1, Steve#1.2, Steve#1.3. Aber bei vielen Unterzonen wird die Verwaltung unübersichtlich. Beispiel: In einem Abhollager mit vielen Truhen ist jede Truhe eine eigene Unterzone mit
container-Rechten für jeweils einen bestimmten Spieler, wodurch es viele Dutzend Unterzonen geben kann. Deshalb kannst du Unterzonen zusätzlich auch einen Namen geben, z.B. statt bisher
Steve#1.3 auch
Steve#1.truhe-alex
Befehl:
/zone set Zone name Name
Bedingung: Für den Befehl brauchst du
administrate-Rechte und Level 30+, er ist nur für Unterzonen möglich, der Name hat maximal 40 Zeichen und muss innerhalb der Hauptzone eindeutig sein.
Muster für Zonen und Unterzonen
Wenn ein Spieler in dem Abhollagerbeispiel für das Füllen aller Truhen zuständig ist, musst du ihm für jede einzelne Truhen-Unterzone das
container-Recht geben. Das ist mühsam und fehleranfällig, denn dabei kann schnell eine Unterzone vergessen werden. Einfacher geht das mit dem Einsatz von
Mustern. Mit einem Muster im Zonennamen sprichst du alle Zonen bzw. Unterzonen gleichzeitig an, die diesem Muster entsprechen. Für das Muster gibt es zwei Zeichen:
- Das ? (Fragezeichen) im Namen bedeutet ein beliebiges Zeichen an dieser Stelle.
Beispiel: farm_??_kiste deckt ab: farm_00_kiste, farm_99_kiste, farm_zz_kiste.
- Der * (Stern) im Namen bedeutet keins, eins oder viele Zeichen an dieser Stelle.
Beispiel: farm_*_kiste deckt ab: farm__kiste, farm_1_kiste, farm_999_kiste, farm_dekoration_kiste.
Im Abhollagerbeispiel vergibst du an den Spieler, der alle Truhen füllen soll, nur einmal
container-Rechte für das Muster
Steve#1.truhe-*. Damit kann er (in der angegebenen Hauptzone #1) alle Behälter öffnen, die in einer beliebigen Unterzone stehen, deren Name zu diesem Zeitpunkt mit
truhe- beginnt.
Das Muster wird nicht gespeichert, sondern bei der Befehlseingabe intern durch alle passenden Zonen und Unterzonen ersetzt. Kommen also später weitere Unterzonen dazu (z. B. weitere Truhen im Abhollager), gibst du den Befehl einfach nochmal ein und deckst damit die bisherigen und die neuen Unterzonen ab.
Weitere Beispiele für den Einsatz von Mustern:
- Alle Hauptzonen eines Spielers: Spieler#*
- Alle Unterzonen einer bestimmten Hauptzone: Spieler#Nummer.*
- Alle Unterzonen in allen Hauptzonen eines Spielers: Spieler#*.*
- Alle Unterzonen mit einem bestimmten Namen in allen Hauptzonen eines Spielers: Spieler#*.Name
- Alle Unterzonen mit einem bestimmten Muster in allen Hauptzonen eines Spielers: Spieler#*.Muster
Außerdem kannst du den eigenen Namen bei der Angabe von Zonen weglassen und Zonen- und Unterzonennummern durch Komma getrennt (ohne Leerzeichen!) als Liste angeben. Beispiele:
- /zone rights #1,#3,#5 allow friend Spieler2
- /zone rights #1.12,#1.13,#1.14,#1.15,#2.5 allow friend Spieler2
- /zone rights #1.*,#2.lager? allow friend Spieler2
Prioritäten für Unterzonen
Ein anderes Problem ist die Rechtevergabe bei der Überschneidung von Unterzonen. Das Abhollager in unserem Beispiel könnte eine große Unterzone sein, in der viele kleine Unterzonen für die Truhen liegen. Wenn sich an einer bestimmten Stelle (in diesem Beispiel bei jeder Truhe) zwei Unterzonen überschneiden (das Abhollager und die Truhe), muss ein Spieler bisher über passende Rechte in
allen Unterzonen verfügen. Das bedeutet, er muss nicht nur
container-Rechte in der Unterzone
truhe-alex haben, sondern auch in der Unterzone
abhollager. Damit kann er aber auch alle sonstigen Behälter in
abhollager öffnen, z. B. Dekorationen.
Um dieses Problem zu lösen, haben Unterzonen eine
Rechtepriorität. Bei überschneidenden Unterzonen muss ein Spieler nur noch über passende Rechte in den Unterzonen mit der
höchsten Priorität haben, während Unterzonen mit niedrigerer Priorität
nicht beachtet werden. Hier wird bewusst von "den Unterzonen" gesprochen, weil auch mehrere überschneidende Unterzonen mit derselben Priorität möglich sind.
Standardwert für die Priorität ist 0, negative Zahlen sind auch möglich (von -10000 bis 10000). Hast du
/zone search aktiviert, siehst du am oberen Bildschirmrand die Namen aller Zonen und Unterzonen, in denen du dich gerade befindest. Falls du an einer Stelle stehst, bei der sich verschiedene Unterzonen überschneiden, werden die Unterzonennamen mit der höchsten Priorität wie bisher in
Gold angezeigt, alle anderen Unterzonennamen, die dann logischerweise eine niedrigere Priorität haben und für die Rechte an dieser Stelle egal sind, werden in
Grau angezeigt.
Im Beispiel würde die Unterzone
truhe-alex die Priorität 1 bekommen, während
abhollager beim Standard 0 bleibt. alex bekommt das
container-Recht nur für
truhe-alex. Damit darf er in
abhollager nur seine Truhe öffnen und keine Dekorationen. In der Unterzone
truhe-alex überlagen sich zwei Unterzonen:
truhe-alex hat dort mit 1 die höchste Priorität und wird in Gold angezeigt,
abhollager hat dort mit 0 eine niedrigere Priorität und wird in Grau angezeigt.
Befehl:
/zone set Zone priority Priorität
Bedingung: Für den Befehl brauchst du
administrate-Rechte und Level 30+, er ist nur für Unterzonen möglich.
Markierung mit WorldEdit
Insbesondere beim Markieren von Unterzonen, die bekanntlich dreidimensional sind, können die vier Leuchtfeuer manchmal stören. Dann benutzt du zum Markieren
WorldEdit. Du kannst WorldEdit aber auch für jede Zonen- und Unterzonenmarkierung verwenden.
Üblicherweise benutzt du zur WorldEdit-Markierung eine Holzaxt mit Links- und Rechtsklick. Dann erscheinen Partikel, die du bereits von
/zone select kennst. Statt der Holzaxt kannst du aber auch die WorldEdit-Befehle
//pos1 und
//pos2 bzw. kürzer
//1 und
//2 verwenden. Zum Verändern der Markierung nimmst du die WorldEdit-Befehle
//expand (Vergrößerung in Blickrichtung) und
//contract (Verkleinerung in Blickrichtung).
Nachdem du den Bereich markiert hast, benutzt du den gewünschten Zonenbefehl mit dem Zusatz
#we.
Befehle:
/zone create #we
/zone subcreate Hauptzone #we
/zone expand Zone #we
Bedingung: Für die Markierung mit WorldEdit brauchst du Level 30+.
Effektive Rechte eines Spielers an einer bestimmten Stelle
Der Befehl
/zone rights Zone show Spieler bzw.
/zone rights+ Zone show Spieler zeigt die Rechte eines Spielers in
einer bestimmten Zone oder Unterzone an. Problematisch wird es, wenn es an einer bestimmten Stelle überschneidende Unterzonen gibt. Damit du den Befehl nicht für jede Zone/Unterzone einzeln aufrufen und überlegen musst, welches Recht sich an dieser Stelle schließlich durchsetzt, erlaubt der Befehl
/zone search ab Level 30 die Angabe eines Spielers. Dann kannst du mit einem Stock auf eine bestimmte Stelle rechtsklicken und siehst, welche Rechte dieser Spieler an genau dieser Stelle hat. Gibst du ein Serverteammitglied als Spieler an, werden nur seine Survival-Rechte an dieser Stelle angezeigt. Ab Rang Moderator wird zusätzlich "plus Serverteamrechte" angezeigt.
Befehl:
/zone search Spieler (ohne Angabe eines Spielers schaltest du die Stockfunktion wieder aus)
Bedingung: Für den Befehl brauchst du
administrate-Rechte auf den anzuzeigenden Zonen und Level 30+.
Alle Rechte eines Spielers
Wenn du wissen möchtest, welche Rechte ein bestimmter Spieler in
allen eigenen und
administrate-Zonen hat (diese Zonen siehst du mit
/zone info), musst du nicht jede Zone einzeln abfragen. Stattdessen benutzt du
/zone list rights mit dem Spielernamen und siehst dann in der Zonenliste, welche Rechte der Spieler in jeder Zone hat. Bei Serverteammitgliedern gilt dasselbe wie oben. Zudem kannst du durch die Angabe eines Mustern die Liste auf bestimmte Zonen verkürzen.
Befehle:
/zone list rights Spieler
/zone list rights Spieler Zonenmuster
Bedingung: Für den Befehl brauchst du
administrate-Rechte und Level 30+.