WorldGuard: konfiguracja ochrony terenu i walka z griefem

WorldGuard: konfiguracja ochrony terenu i walka z griefem

Grief zabija serwer szybciej niż jakikolwiek DDoS. Wystarczy, że jeden znudzony gość zaleje spawn lawą, a połowa online wychodzi przed obiadem. Ten poradnik dotyczy WorldGuard, faktycznego standardu ochrony terenu na Paper i Spigot. Zainstalujemy plugin, narysujemy regiony, omówimy flagi, które naprawdę mają znaczenie, ustawimy hierarchię parent/child i zamkniemy luki, które prawie każdy admin za pierwszym razem przeocza.

Czym jest WorldGuard i po co go używać

WorldGuard to plugin od EngineHub, który dodaje regiony z konfigurowalnymi regułami. Wewnątrz regionu decydujesz, czy gracze mogą niszczyć bloki, otwierać skrzynie, spawnować moby, odpalać TNT, rozprzestrzeniać ogień i tak dalej. Wszystko sterowane jest flagami, a tych w pluginie jest ponad osiemdziesiąt.

Technicznie WorldGuard zależy od WorldEdit, ponieważ zaznaczanie obszaru pod region wykonuje się natywnymi komendami WorldEdit (//wand, //pos1, //pos2). Bez WorldEdit plugin po prostu się nie uruchomi. To standard w ekosystemie EngineHub, do którego przyzwyczajasz się w pierwszy dzień.

W skrócie WorldGuard rozwiązuje trzy zadania: chroni spawn i ważne budowle, dzieli świat na strefy reguł (PvE, PvP, areny, strefy bezpieczne) i przekazuje regiony graczom jako claimy z owners i members.

Instalacja na Paper lub Spigot 1.20+

WorldGuard wspiera Paper i Spigot od wersji 1.13 i szybko aktualizuje się pod nowe edycje. W 2026 roku działa stabilnie na Paper 1.20.x i 1.21.x. Wsparcie dla Folii jest częściowe, asynchroniczne regiony nie są jeszcze zaimplementowane, więc serwery produkcyjne powinny zostać na Paperze.

Sama instalacja to klasyczne kopiowanie plików:

# pobierz stabilne buildy WorldEdit i WorldGuard z EngineHub
cd /opt/minecraft/plugins
wget https://dev.bukkit.org/projects/worldedit/files/latest -O WorldEdit.jar
wget https://dev.bukkit.org/projects/worldguard/files/latest -O WorldGuard.jar

# restart serwera
systemctl restart minecraft

Po pierwszym starcie plugin tworzy katalog plugins/WorldGuard/ z plikiem config.yml i podkatalogiem worlds/<świat>/ dla każdego załadowanego świata. Regiony domyślnie zapisuje się w regions.yml, lub w SQL po przełączeniu backendu.

Bazowy worldguard-config.yml

Domyślna konfiguracja jest w porządku, ale kilka opcji warto podkręcić od razu. Oto skrócony przykład produkcyjny:

# plugins/WorldGuard/config.yml (fragment)
regions:
  use-creature-spawn-event: true
  enable: true
  invincibility-removes-mobs: true
  high-frequency-flags: false
  use-paper-entity-origin: true

protection:
  item-durability: true
  remove-infinite-stacks: true
  disable-xp-orb-drops: false

ignition:
  block-tnt: false
  block-tnt-block-damage: false
  block-lighter: false

fire:
  disable-all-fire-spread: false
  disable-fire-spread-blocks: []

Plik config.yml jest globalny, a reguły danego świata znajdziesz w plugins/WorldGuard/worlds/world/config.yml, gdzie możesz nadpisać każdą wartość lokalnie. Wygodne, gdy survival i creative chodzą na jednym serwerze.

Tworzenie pierwszego regionu: //wand → //pos1/pos2 → /rg define

Tu WorldGuard pokazuje swoją moc. Bierzesz drewnianą siekierę, klikasz dwa rogi, nazywasz region i gotowe.

# 1. weź wand WorldEdit
//wand

# 2. lewy klik = pos1, prawy klik = pos2
# (albo komendą na bieżącej pozycji)
//pos1
//pos2

# 3. zdefiniuj region "spawn" w obrębie zaznaczenia
/rg define spawn

# 4. sprawdź, co wyszło
/rg info spawn

Nazwy regionów muszą być małymi literami, bez spacji i kropek. W praktyce trzymamy się snake_case: spawn_market, pvp_arena_north, vip_zone_alpha.

Aby zmienić granice istniejącego regionu bez utraty flag i członków:

//pos1
//pos2
/rg redefine spawn

redefine zachowuje owners, members, flagi i priorytet, zmienia tylko geometrię. /rg remove spawn usuwa region całkowicie.

Hierarchia regionów: parent, child i priorytety

Tu początkujący się potykają. Regiony mogą się nakładać, a WorldGuard musi zdecydować, czyje flagi obowiązują. Robi to według dwóch reguł.

Priorytet (/rg setpriority <region> <liczba>): wyższa liczba wygrywa w miejscach nakładania. Domyślnie 0. Dla areny w spawnie ustaw spawn=5 i pvp_arena=10, wtedy w arenie działają jej flagi, a nie te ze spawnu.

Powiązanie parent/child (/rg setparent <child> <parent>): region potomny dziedziczy flagi rodzica, jeśli sam ich nie zdefiniował. Przydatne dla sklepów wewnątrz spawnu, działek w dzielnicy i tak dalej.

# shop staje się dzieckiem spawn
/rg setparent shop spawn

# shop dziedziczy flagi spawn, ale może nadpisać use=allow do handlu
/rg flag shop use allow
/rg setpriority shop 10

Najczęściej priorytety załatwiają wszystko, parents przydają się głównie w zagnieżdżonych obszarach administracyjnych, gdy chcesz zmianę flagi propagować po całym drzewie.

Flagi, których faktycznie używasz

Pełna lista flag jest w dokumentacji WorldGuard, ale na produkcji aktywnie wykorzystuje się około dwudziestu. Oto zestaw, który spotkasz na każdym serwerze.

# podstawowa ochrona budowli
/rg flag spawn build deny
/rg flag spawn use deny
/rg flag spawn chest-access deny
/rg flag spawn interact deny

# wyłączamy eksplozje i ogień
/rg flag spawn tnt deny
/rg flag spawn creeper-explosion deny
/rg flag spawn other-explosion deny
/rg flag spawn fire-spread deny
/rg flag spawn lava-flow deny
/rg flag spawn water-flow deny

# żadnych mobów na spawnie
/rg flag spawn mob-spawning deny
/rg flag spawn mob-damage deny

# PvP off
/rg flag spawn pvp deny

# wejście, wyjście, powitania
/rg flag spawn entry allow
/rg flag spawn exit allow
/rg flag spawn greeting Witaj na spawnie!
/rg flag spawn farewell Powodzenia w przygodzie!

Kilka uwag z praktyki. Flaga build blokuje stawianie i niszczenie bloków, ale nie otwieranie skrzyń, do tego służy chest-access. Flaga use obejmuje przyciski, dźwignie, drzwi i podobne interakcje. Jeśli chcesz uniemożliwić aktywację pułapek na spawnie, ustaw use deny i zapomnisz o trollach z TNT-przyciskami pod łóżkiem.

interact jest szersza niż use - obejmuje każdą interakcję z blokami i bytami. W obszarze, który ma być całkowicie zamrożony, interact deny likwiduje 90 procent wektorów griefu.

Region global: reguły dla całego świata

Każdy świat ma ukryty region __global__, który pokrywa całą przestrzeń i działa tam, gdzie nie ma innych regionów. Świetny do globalnego wyłączania irytujących mechanik:

# brak ognia w całym świecie
/rg flag __global__ fire-spread deny
/rg flag __global__ lava-fire deny

# brak PvP poza arenami
/rg flag __global__ pvp deny

# creeper rani moby, ale nie niszczy bloków
/rg flag __global__ creeper-explosion deny
/rg flag __global__ tnt deny

Pamiętaj: __global__ ma priorytet 0, więc każdy zwykły region z priorytetem >= 0 nadpisze te flagi w swoich granicach. Czyli ustawiając globalnie pvp deny, wewnątrz pvp_arena możesz dać pvp allow z priorytetem 10 i arena zadziała tak, jak trzeba.

Owners i members regionu

Region ma dwie role: owner i member. Owners mogą zmieniać flagi i dodawać innych, members otrzymują uprawnienia wynikające z flag, ale nie konfigurują regionu.

# dodaj ownera
/rg addowner shop_alex Alex_M

# dodaj membera
/rg addmember shop_alex Friend_42

# sprawdź skład
/rg info shop_alex

# usuń
/rg removemember shop_alex Friend_42

Gracz jest traktowany jako member, jeśli został wprost dodany lub należy do grupy LuckPerms dopisanej z prefiksem g:. Przykład: /rg addmember spawn g:vip sprawia, że wszyscy z grupy vip są członkami regionu spawn.

Flagi grupowe: -g members, -g nonmembers, -g owners

Wiele flag można zawęzić do konkretnej grupy graczy, służy do tego -g. Klasyk: members budują, reszta nie.

# members budują, reszta nie
/rg flag shop_alex build deny
/rg flag shop_alex -g members build allow

# wszyscy mogą wejść, nikt nie wyjdzie (więzienie)
/rg flag prison entry allow
/rg flag prison -g nonmembers exit deny

# tylko owners otwierają skrzynie
/rg flag shop_alex chest-access deny
/rg flag shop_alex -g owners chest-access allow

Grupy rozumiane przez WorldGuard: members, nonmembers, owners, nonowners, all. W połączeniu z LuckPerms możesz powiązać uprawnienia z rangami w danym regionie.

WorldGuard plus LuckPerms

LuckPerms przydziela uprawnienia kontekstowo - per świat, per region, per tryb gry. Ładnie współpracuje z WorldGuard.

# pozwól grupie vip używać /home tylko w regionie spawn
/lp group vip permission set essentials.home true world=world region=spawn

Aby kontekst regionu zadziałał, w LuckPerms musi być włączony WorldGuard context calculator, w nowych buildach jest domyślnie. Sprawdzisz przez /lp networksync i /lp verbose, gdy gracz wykonuje komendę.

Typowe błędy, na które wpada każdy

Cztery klasyki, na które łapie się każdy, kto pierwszy raz konfiguruje WorldGuard.

Lawa i woda nadal przepływają przez granicę regionu. build deny nie zatrzymuje przepływów. Potrzebujesz lava-flow deny i water-flow deny wewnątrz regionu plus lava-fire deny, żeby lawa nie podpalała otoczenia.

Creepery wciąż rozwalają spawn. tnt deny blokuje tylko TNT. Dla creeperów potrzebujesz creeper-explosion deny, dla ghastów i kryształów Endu other-explosion deny. Najprościej ustawić wszystkie trzy naraz.

Moby spawnują się w strefie chronionej. mob-spawning deny wyłącza naturalny spawn, ale nie powstrzymuje mobów wchodzących z sąsiednich chunków. Oświetl pobliskie jaskinie, a w razie czego ustaw mob-damage deny, żeby przynajmniej nie zadawały obrażeń.

Bloki komend i przyciski przy pułapkach. Jeśli na mapie są strzałkowe pułapki albo ukryte przyciski TNT, koniecznie ustaw use deny lub interact deny. Inaczej każdy zwiedzający pociągnie dźwignię i wyzeruje połowę budowli.

WorldGuard, GriefPrevention czy Lands

Krótko o konkurencji. GriefPrevention stawia na automatyczne claimy złotą łopatą i prosty UX dla graczy, ale ma znacznie mniej flag. Lands to nowoczesny płatny plugin z GUI, ekonomią i ładnymi menu, świetna opcja dla komercyjnych survivali. WorldGuard wciąż wygrywa surową liczbą flag i integracji, jest słusznym wyborem, gdy potrzebujesz pełnej kontroli i już używasz WorldEdit.

Na większości średnich i dużych serwerów WorldGuard działa razem z GriefPrevention albo Lands: WorldGuard pilnuje stref administracyjnych (spawn, sklepy, areny), a drugi plugin pozwala graczom claimować własne domy.

FAQ

Czy WorldGuard działa z Folią

W 2026 pełna kompatybilność jeszcze nie istnieje. EngineHub pracuje nad tym, ale regiony nie obsługują jeszcze modelu wątkowania Folii. Serwery produkcyjne powinny zostać na Paperze albo czekać na oficjalny build.

Jak cofnąć grief, który już się wydarzył

Sam WorldGuard nie loguje zmian bloków. Do rollbacku służy CoreProtect lub LogBlock: CoreProtect to standard branżowy, robi rollback po graczu albo czasie w dwóch komendach. Zainstaluj go tego samego dnia co WorldGuard, bez tego ochrona jest niepełna.

Czy mogę sprzedawać regiony graczom za walutę gry

Tak, przez Vault plus dowolny plugin ekonomii. Ustaw /rg flag <region> buyable allow i /rg flag <region> price 5000, potem /rg buy <region> pozwala graczowi kupić region i automatycznie zostać ownerem. Wygodne przy projektach z miastami i dzielnicami.

Jak zrobić, żeby tylko owner regionu otwierał skrzynie

Zablokuj chest-access dla wszystkich i odblokuj dla owners:

/rg flag house_42 chest-access deny
/rg flag house_42 -g owners chest-access allow

To zamknie skrzynie, enderchesty, beczki i shulker boxy dla każdego oprócz właściciela.

Czy WorldGuard spowalnia serwer

Sam plugin jest lekki, sprawdzanie flag idzie przez indeks regionów R-tree. Realne obciążenie pojawia się dopiero przy tysiącach małych nakładających się regionów w jednym chunku. Na zwykłym serwerze ze stoma regionami nie zauważysz różnicy. Przy 10000+ claimów przełącz na backend SQL i włącz cache w config.yml.

Czy mogę używać WorldGuard bez WorldEdit

Nie. WorldEdit to twarda zależność. Bez niego plugin nie wystartuje, w logu pojawi się Unknown dependency: WorldEdit. Instaluj oba w pasującej do siebie wersji.

Jak chronić cały świat poza jedną strefą

Użyj __global__. Tam ustaw ogólne zakazy, potem stwórz zwykły region z priorytetem > 0 i zezwól w nim na to, co potrzeba. Przykład: globalnie pvp deny, w pvp_arena z priorytetem 10 pvp allow.

Co dalej

Gdy WorldGuard już działa, od razu instaluj CoreProtect. Bez niego każda dziura w flagach to utracone budowle. Następnie rozpisz na kartce listę stref serwera (spawn, sklepy, areny, warpy) z priorytetami i flagami i utwórz je jedną sesją. Dorzucanie regionów na bieżąco zamienia hierarchię w bałagan.

Pilnuj logów pod kątem komunikatów Region X has invalid flag, pojawiają się po aktualizacjach pluginów i poprawia je /rg flag <region> <flag> -e. Z tymi nawykami serwer przestaje krwawić od griefu, a ty wracasz do budowania, zamiast łatać dziury.


Chroń swój serwer przed atakami DDoS

Darmowa ochrona z konfiguracją w 5 minut. 1 TB ruchu w zestawie.

Wypróbuj za darmo


Powiązane artykuły