WorldGuard Region Protection: Complete Setup Guide for Regions, Flags and Priorities
Full WorldGuard tutorial covering region creation, flag configuration, region priorities, bypass permissions, child regions and spawn protection for Minecraft servers.
WorldGuard is the most widely used region protection plugin for Paper and Spigot. It lets you define three-dimensional cuboid or polygonal areas of the world and control exactly what can happen inside them — who can build, whether mobs can spawn, whether fire spreads, whether PvP is allowed, and dozens of other flags. This guide covers the complete setup from installation through advanced nested region configurations.
Dependencies and installation
WorldGuard requires WorldEdit to be installed first — it uses WorldEdit's selection system to define region boundaries. Install both jars into plugins/ and restart. WorldGuard creates plugins/WorldGuard/config.yml and a worlds/ folder where per-world region data is stored.
Creating your first region
Region creation follows a three-step process:
- Select the two corners of your region using the WorldEdit wand (
//wand, defaults to a wooden axe). Left-click one corner, right-click the opposite corner. - Define the region:
/region define spawn(replacespawnwith your region name). - Add owners and members as needed.
WorldGuard regions are three-dimensional — they extend from bedrock to the build limit by default. You can adjust vertical bounds explicitly:
/region define spawnbuilding -Ymin 60 -Ymax 120
Alternatively, make the selection first at exact heights using WorldEdit's //pos1 and //pos2 commands with coordinates before running /region define.
Owners vs members
Every region has two player categories:
- Owners can build inside the region, modify flags, add and remove members. Add with:
/region addowner <region> <player> - Members can build inside the region but cannot modify the region itself. Add with:
/region addmember <region> <player>
You can also add groups from LuckPerms as owners or members using the g: prefix:
/region addmember spawn g:vip
/region addowner shopzone g:admin
This means every player in the vip LuckPerms group is automatically a member of the spawn region without listing individual players.
Flags — controlling behavior inside regions
Flags are the core of WorldGuard. They control what happens inside a region. Set flags with:
/region flag <region> <flag> <value>
The most important flags for a survival server:
Build and interaction flags
build— whether non-members can place or break blocks. Set todenyat spawn to prevent griefing.interact— whether non-members can interact with buttons, levers, chests, doors. Set todenyto lock containers.chest-access— specifically controls chest opening, separate from general interact.use— right-click use on items like beds, crafting tables and furnaces.
PvP and damage flags
pvp— player vs player damage. Set todenyin safe zones andallowin arena regions.damage-animals— whether players can hurt passive mobs.mob-damage— whether mobs can damage players.
Environment flags
fire-spread— whether fire propagates. Always set this todenyat spawn.lava-fire— whether lava creates fire.leaf-decay— whether leaves decay naturally. Set todenyin landscaped areas to preserve trees.snow-fall,ice-form,snow-melt— useful for decorative winter builds.
Mob and entity flags
mob-spawning— whether mobs can spawn naturally. Set todenyat spawn to prevent hostile mobs appearing in the protected area.creeper-explosion— whether creepers can destroy blocks. Always deny this at spawn.ghast-fireball— whether ghast fireballs create explosions.tnt— whether TNT explodes. Deny globally, then allow in a dedicated PvP region.
Player greeting and farewell flags
Display a message when a player enters or exits a region:
/region flag spawn greeting "&aWelcome to Spawn! Type /help to get started."
/region flag spawn farewell "&7Leaving spawn..."
A complete spawn region setup
This is the flag set most survival servers apply to their spawn region:
/region flag spawn build deny
/region flag spawn chest-access deny
/region flag spawn interact deny
/region flag spawn pvp deny
/region flag spawn mob-spawning deny
/region flag spawn fire-spread deny
/region flag spawn lava-fire deny
/region flag spawn creeper-explosion deny
/region flag spawn tnt deny
/region flag spawn greeting "&aWelcome to Astroworld! &7IP: play.astroworldmc.com"
Region priorities
When regions overlap, the one with the higher priority wins any flag conflicts. Default priority is 0. Set priority with:
/region setpriority <region> <number>
Example: You have a global region at priority 0 with pvp deny. Inside that you have an arena region. Set the arena to priority 10 and give it pvp allow — the arena flag overrides the global deny inside its bounds.
/region setpriority arena 10
/region flag arena pvp allow
The __global__ region
WorldGuard has a special built-in region named __global__ that covers the entire world at priority -1. Use it to set world-wide defaults:
/region flag __global__ fire-spread deny
/region flag __global__ mob-spawning allow
/region flag __global__ pvp allow
Any named region at priority 0 or higher overrides these global defaults within its bounds.
Child regions — nested protection
Child regions inherit the flags of their parent. If a flag is not explicitly set on the child, the parent's value applies. This is useful for market stalls inside a protected market district:
/region define market-stall-01
/region setparent market-stall-01 market-district
The stall inherits all the market district's flags. Add the stall owner as a member so they can build inside their stall without being able to edit the wider market district.
Bypass permissions
Staff who need to build anywhere without being region members need the bypass permission. With LuckPerms:
/lp group admin permission set worldguard.region.bypass.* true
This grants bypass for all worlds. To limit bypass to a specific world:
/lp group admin permission set worldguard.region.bypass.survival true world=survival
Players with bypass can still see region boundaries and flags — bypass only affects whether they are blocked by build and interact denials. They still respect pvp deny unless you also grant worldguard.region.flag.bypass.
Viewing and managing regions
/region list— list all regions in the current world./region info <region>— show flags, members, owners and priority./region select <region>— highlight the region selection in WorldEdit so you can visualize its bounds./region remove <region>— delete a region. This does not delete the blocks, only the protection data.
config.yml — server-wide defaults
Key settings in plugins/WorldGuard/config.yml:
summary-on-start: true
op-permissions: false # Do NOT give OP automatic bypass
regions:
enabled: true
claim-only-inside-existing-regions: false
max-region-count-per-player:
default: 7
vip: 15
admin: -1 # unlimited
Set op-permissions: false to prevent server operators from automatically bypassing region protection. This ensures all bypass goes through LuckPerms explicitly.
Common mistakes
- Not setting
mob-spawning denyat spawn. Hostile mobs can spawn inside decorated spawn areas if this flag is omitted, especially at night. - Forgetting the
__global__region. Flags you set only on named regions do not protect wilderness. Use__global__for world-wide defaults. - Overlapping regions without priority. Two regions at the same priority with conflicting flags produce undefined results. Always give overlapping regions explicit priorities.
- Setting
build denywithoutinteract deny. Players blocked from building can still open chests and pull levers. Always pair them.
Need hosting with full config access? Astroworld Hosting — Pterodactyl panel, NVMe SSDs, 24/7 support.