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 darmoPowiązane artykuły
Vault Plugin Minecraft: ekonomia i uprawnienia, most API (2026)
Czym jest Vault plugin dla Minecraft, jak dzialaja dostawcy ekonomii i uprawnien oraz jak naprawic blad no compatible economy plugin found.
Atakują właśnie teraz: awaryjny poradnik dla admina serwera Minecraft
Instrukcja krok po kroku: co robić, jeśli twój serwer Minecraft jest atakowany właśnie teraz. Diagnostyka, awaryjne środki przez iptables, tymczasowy whitelist, kiedy dzwonić do hostingu i jak przygotować się na następny atak.
Ustawienia bezpieczeństwa Paper i Spigot: co włączyć, a co wyłączyć
Szczegółowy rozbiór ustawień bezpieczeństwa server.properties, spigot.yml, paper-global.yml, paper-world-defaults.yml i bukkit.yml. Każdy parametr z wyjaśnieniem, po co jest potrzebny, i gotowymi wartościami pod produkcję.