WorldGuard is one of those plugins that quietly holds a public Minecraft server together. It keeps your spawn pristine, stops your PvP arena from turning into a crater, and makes sure your shop district only opens for the right players. Yet most tutorials stop at /rg define and never explain the part that actually matters: flags, priorities, and what happens when two regions overlap. This guide exists to help you close that gap.
We wrote it for server owners, administrators, and staff who already know how to run a Paper or Spigot server but want a single, trustworthy reference for WorldGuard regions and flags. Every command below was tested on a Paper 1.21.x server running WorldGuard 7.x with WorldEdit 7.x, and cross-checked against the official EngineHub documentation. None of it is theoretical, so you can copy a command, paste it into your console, and watch it work.
By the end you will be able to protect a spawn, spin up a PvP arena, box in a shop district, and share a public farm without accidentally blocking legitimate builds or dragging down your ticking rate. We also cover the mistakes that generate the most support tickets: priority conflicts, forgotten owners, and the sneaky global region that quietly overrides everything you set.
Prerequisites: WorldEdit, WorldGuard, and Permissions
WorldGuard does not work alone. It leans on WorldEdit for the selection wand, the clipboard, and the region storage backend. Install both or neither, because a WorldGuard without WorldEdit will simply refuse to load. If you are still deciding on a server platform, our guide on how to migrate from Spigot to Paper without breaking plugins is the safe path, since Paper ships the best performance and API stability for the 1.21 series.
Here is the short shopping list:
- A modern server jar. Paper is the standard recommendation for survival and PvP servers.
- WorldEdit 7.x, dropped into the plugins folder.
- WorldGuard 7.x, also in the plugins folder.
- LuckPerms to hand out region commands without giving everyone operator.
Drop both jars in, restart, and confirm they loaded with a simple console command:
/pluginsYou should see WorldEdit and WorldGuard in green. If WorldGuard is red, WorldEdit is missing or the wrong version. The most common cause is a mismatched pair, so always download both from the same release cycle.
Granting region permissions with LuckPerms
If you plan to let moderators define and edit regions, do it through permission nodes rather than OP. Grant the following to your staff group, adjusted for your hierarchy. If node management is new to you, the LuckPerms guide: advanced permissions for Minecraft servers walks through groups, tracks, and inheritance in depth.
worldguard.region.defineto create new regions.worldguard.region.redefineto resize or re-create existing ones.worldguard.region.addmemberandworldguard.region.addownerto manage membership.worldguard.region.flagto change flags.worldguard.region.infoandworldguard.region.listfor read-only staff.
Do not give worldguard.bypass.regionprotection to anyone you would not trust with creative mode. That bypass node is the equivalent of handing someone a crowbar and the master key at the same time.
Defining, Redefining, and Resizing Regions with WorldEdit
Every region starts as a WorldEdit selection. Grab the wand, mark two corners, then hand that block volume to WorldGuard and give it a name. Here is the canonical workflow:
//wand
//pos1
//pos2
/rg define spawnThe wand is a wooden axe by default. If you have permissions but no wand, run //wand to receive one. Left-click sets position one, right-click sets position two. Then /rg define spawn claims that cuboid and stores it in WorldGuard’s regions database.
The basic define workflow
- Stand at one corner of the area and left-click a block with the wand.
- Stand at the opposite corner and right-click. WorldEdit highlights the selection.
- Type
/rg define name, replacing name with something memorable. - Run
/rg info nameto confirm the volume and the parent world.
Names are case sensitive and should stay short. A region named after its purpose, like spawn, arena_pvp, or shops_west, will save you real time six months from now when you are hunting through a list of forty claims.
Expanding, shrinking, and redefining
Regions are not frozen. You can edit the selection and push it back over an existing region with /rg redefine, which is the safe way to change geometry without losing flags or members.
//expand 10 up
//expand 5 north
//contract 4 south
//shift 3 down
/rg redefine spawn//expand N <direction>grows the selection. Directions include up, down, north, south, east, west, and their vertical variants.//contract N <direction>shrinks it from that side.//shift N <direction>moves the whole selection without changing its size, perfect for nudging a border./rg redefineoverwrites the stored shape but keeps existing flags, owners, and members intact.
Adding members and owners
Members can build and interact inside a region but cannot change its rules. Owners can do everything members can and also edit flags, priority, and membership. That distinction matters more than people expect, so hand out owner status sparingly.
/rg addmember spawn Steve
/rg addowner spawn Alex
/rg removemember spawn Steve
/rg removeowner spawn Alex
/rg info spawn
/rg list
/rg list -w minecraft:overworldYou can reference players by name, by uuid, or by group. Group membership is powerful for staff regions:
/rg addmember admin_hub g:moderators
/rg addowner admin_hub g:adminsThe g: prefix tells WorldGuard to look up a permissions group. Add a moderator to the group once and every hub region that lists the group grants them access automatically.
Region Priority, Overlaps, and the Global Region
The single biggest source of confusion in WorldGuard is overlap. Regions are allowed to intersect, and when they do, WorldGuard does not merge them or throw an error. It resolves the conflict by priority, then by the uniqueness of the flags involved. Understanding this rule is what separates a working protection scheme from a broken one.
Every region carries an integer priority, which defaults to zero. When two regions cover the same block, the higher priority wins for any flag they both define. If priorities are tied, the region that is smaller in volume wins, because WorldGuard assumes the more specific, tighter region is the intended one.
/rg setpriority arena_pvp 10
/rg setpriority world_spawn -10
/rg info arena_pvp| Resolution rule | What WorldGuard does |
|---|---|
| Higher priority | Wins outright for flags both regions define |
| Equal priority, different sizes | The smaller region wins |
| Equal priority, equal size | Behavior is undefined, so avoid this |
| Only one region defines a flag | That region supplies the value |
| No region defines a flag | The parent or global region supplies the value |
The global region: __global__
Every world has an automatic region named __global__. It covers the entire world, priority zero, and it is the fallback for any flag no local region sets. Many admins forget it exists, then wonder why a flag they set on the world does not apply. Setting a flag on __global__ is how you apply a default to an entire world.
/rg flag -w minecraft:overworld __global__ pvp deny
/rg flag -w minecraft:overworld __global__ mob-spawning allowLocal regions with a higher priority override the global region block by block. That is exactly what you want: a quiet world with no PvP, plus a handful of arenas with priority ten and pvp allow.
A Practical Flag Walkthrough with Real Commands
Flags are the dials that control behavior. The general command shape is /rg flag <region> <flag> <value>, with an optional -w <world> before the region name when you manage a specific world. Values are usually allow or deny, but some flags take numbers, and others take a comma-separated list of entity types.
The table below is the reference we keep open on a second monitor. It covers the flags you will use on almost every server.
| Flag | Value type | What it controls |
|---|---|---|
| build | allow / deny | All block placing and breaking at once |
| block-break | allow / deny | Breaking blocks only |
| block-place | allow / deny | Placing blocks only |
| use | allow / deny | Right-click block and item interactions |
| chest-access | allow / deny | Opening chests and other containers |
| interact | allow / deny | Broad entity and block interaction |
| pvp | allow / deny | Player versus player damage |
| invincibility | allow / deny | Damage immunity for all players |
| tnt | allow / deny | TNT ignition and explosion |
| creeper-explosion | allow / deny | Creeper block damage |
| lighter | allow / deny | Flint and steel ignition |
| fire-spread | allow / deny | Fire spreading across blocks |
| entry | allow / deny | Whether players may enter the region |
| exit | allow / deny | Whether players may leave the region |
| greeting | string | Message shown when a player enters |
| farewell | string | Message shown when a player leaves |
| mob-spawning | allow / deny | Natural mob spawning |
| deny-spawn | entity list | Blocks specific mob types from spawning |
| mob-damage | allow / deny | Damage dealt to mobs |
| item-drop | allow / deny | Players dropping items |
| item-pickup | allow / deny | Players picking items up |
| send-chat | allow / deny | Players sending chat |
| heal | allow / deny | Natural healing |
| feed | allow / deny | Hunger loss and eating |
| sleep | allow / deny | Using beds |
| enderpearl | allow / deny | Ender pearl teleporting |
| potion-splash | allow / deny | Splash potion effects |
Protection flags
The protection flags decide who can change the world. The blunt instrument is build, which toggles placing and breaking together. When you need finer control, split it into block-break and block-place, then layer use and chest-access on top.
/rg flag shop_lobby build deny
/rg flag shop_lobby block-break deny
/rg flag shop_lobby block-place deny
/rg flag shop_lobby chest-access allow
/rg flag shop_lobby use allowThat combination locks the walls but leaves doors, buttons, and shop chests usable. It is the pattern behind every safe shop district.
Combat and damage flags
Combat flags are where arenas live or die. A common safe default is PvP off everywhere with a handful of high-priority arena regions that turn it back on.
/rg flag arena_pvp pvp allow
/rg flag arena_pvp invincibility deny
/rg flag arena_pvp tnt deny
/rg flag arena_pvp creeper-explosion deny
/rg flag spawn invincibility allow
/rg flag spawn creeper-explosion denyTurning off invincibility in the arena is easy to forget, and because the spawn region above it may set invincibility allow, a nested arena can inherit full damage immunity and look broken. Priority plus the nested geometry solves it.
Movement and messaging flags
Movement flags gate where players go. entry and exit can build one-way doors, funnel players into an event, or keep visitors out of a staff-only build room. Greeting and farewell strings are the friendliest flags in the plugin and cost almost nothing.
/rg flag staff_room entry deny
/rg flag event_gate entry allow
/rg flag event_gate exit deny
/rg flag spawn greeting &6Welcome to the server!
/rg flag spawn farewell &7See you soon.
/rg flag spawn enderpearl denyUse ampersand color codes for formatting. Keep greetings short, and never place ads there; players read them thousands of times.
Mob flags
Mob flags keep farms, spawns, and towns tidy. mob-spawning is a broad on or off switch. deny-spawn is surgical, accepting a list of entity types so you can allow farm animals while banning creepers and phantoms.
/rg flag spawn mob-spawning deny
/rg flag town deny-spawn creeper,zombie,skeleton,phantom,enderman
/rg flag public_farm mob-spawning allow
/rg flag public_farm mob-damage allowIf you allow mob spawning in a farm region, also allow mob-damage, otherwise visitors cannot kill the animals they came to harvest.
Region Flags vs World Flags vs Global Flags
WorldGuard resolves flags through a three-level inheritance chain. Getting the levels straight removes almost all guesswork.
- Region flags apply only inside a named region and only to the blocks that region covers.
- Global flags are set on
__global__and apply to an entire world as the default. - Parent flags come from a region that lists another as its parent, giving you reusable rules without copying them.
Parent regions and inheritance
A region without its own value for a flag falls back to its parent, then to the global region. Set a parent with a single command:
/rg flag arena_pvp setparent arena_master
/rg flag arena_master pvp allow
/rg flag arena_master keep-inventory allowNow every arena that lists arena_master as a parent inherits the same combat rules. Change the parent once and the whole set updates. Inheritance is read live at runtime, and loops are not allowed, so a group cannot accidentally point back at itself.
Real-World Recipes You Can Copy Today
Recipe 1: Spawn protection
//wand
/rg define spawn
/rg flag spawn pvp deny
/rg flag spawn build deny
/rg flag spawn chest-access deny
/rg flag spawn creeper-explosion deny
/rg flag spawn tnt deny
/rg flag spawn mob-spawning deny
/rg flag spawn greeting &6Welcome, &f%player%!
/rg addowner spawn g:adminsRecipe 2: A PvP arena
/rg define arena_pvp
/rg setpriority arena_pvp 10
/rg flag arena_pvp pvp allow
/rg flag arena_pvp invincibility deny
/rg flag arena_pvp tnt allow
/rg flag arena_pvp fire-spread deny
/rg flag arena_pvp entry allow
/rg flag arena_pvp chest-access deny
/rg flag arena_pvp send-chat denyRecipe 3: A shop district
/rg define shops_district
/rg flag shops_district build deny
/rg flag shops_district chest-access allow
/rg flag shops_district use allow
/rg flag shops_district pvp deny
/rg flag shops_district item-pickup deny
/rg flag shops_district mob-spawning deny
/rg flag shops_district greeting &aBrowse the shops below.Recipe 4: A public farm
/rg define public_farm
/rg flag public_farm build allow
/rg flag public_farm block-break allow
/rg flag public_farm block-place deny
/rg flag public_farm pvp deny
/rg flag public_farm mob-spawning allow
/rg flag public_farm mob-damage allowAllowing breaking but not placing stops griefers from pillaring up walls inside the farm while still letting everyone harvest crops.
Recipe 5: Per-world configs
WorldGuard stores per-world configuration inside the world folder, which is how you keep a creative plot world and a survival world with different defaults. Use the -w flag to target a world explicitly:
/rg flag -w minecraft:overworld __global__ pvp deny
/rg flag -w minecraft:the_nether __global__ pvp allow
/rg flag -w plots __global__ build allowThis is the cleanest way to give each world a personality without touching the others. Keep the world name exact, including its namespace when in doubt.
Pros and Cons of WorldGuard Regions
What WorldGuard does well
- Extremely granular flags, far beyond a simple claim block.
- Priority system handles overlapping zones cleanly.
- Parent regions remove rule duplication across many areas.
- Battle-tested and maintained by the EngineHub team for years.
- Works alongside claim plugins rather than replacing them.
Where it falls short
- The command line is unforgiving for beginners; a typo can leave a region open.
- No built-in GUI, so everything is typed or scripted.
- Hundreds of tiny regions can add measurable overhead without care.
- Flag names and value types must be learned; there is no autocomplete list in vanilla chat.
Common Mistakes and Expert Tips
- Priority conflicts. Two regions with equal priority and equal size give undefined results. Always set an explicit priority on arenas and event zones so the winner is obvious.
- Forgotten owners. A region with no owner and no group membership becomes an orphan that nobody but operators can edit. Add a staff group as owner on day one.
- Blocking legitimate builds. A spawn region with
build denyalso stops your own builders. Add them as members or owners, or keep a separate staff zone. - Trusting the global region. Setting a flag on
__global__for one world does not affect another world. Use-wevery time. - Forgetting membership is not protection tiering. Members bypass
build deny, so never add a player as a member just to chat. - Over-nesting regions. Tiny regions inside bigger ones multiply the overlap checks WorldGuard runs on every block event.
Expert tip: before you define anything, sketch your zones on paper. A spawn, an arena, three shops, and one farm is five regions. If your sketch needs thirty, you probably want fewer, larger regions with parent-based inheritance instead.
Performance notes for many regions
WorldGuard is efficient, but it is not free. Every block break, place, and interaction triggers a region lookup, and that lookup scales with the number of regions touching the location. A few dozen regions are invisible in your profiler. A few thousand tightly stacked ones are not. If you run a large network, consolidate related areas into parent regions, avoid stacking ten regions on one block, and profile with a tool such as Spark after every major change. Our sibling article on GriefPrevention vs Towny: claims and land protection compared explains when a claim-based plugin is a better fit than thousands of manual regions.
Frequently Asked Questions
A region is a named block volume that you define and store. Flags are the individual rules you attach to that volume, such as pvp, build, or greeting. A region with no flags does nothing on its own.
It uses priority first, then size. The higher priority region wins. If priorities are tied, the smaller region wins because it is treated as more specific. Never leave overlapping regions at equal priority and equal size.
Yes. WorldGuard depends on WorldEdit for selection and storage. Installing WorldGuard without WorldEdit will prevent it from loading correctly.
Only if you create thousands of heavily overlapping regions. A normal server with dozens to a few hundred clean regions sees no measurable impact. Consolidate and profile to be safe.
Conclusion: Lock In Your Protection the Right Way
WorldGuard regions and flags reward the admin who understands priority, inheritance, and the global region. Define your zones deliberately, set explicit priorities, attach staff groups as owners, and lean on parent regions instead of copying flags by hand. Do that and your spawn stays clean, your arena stays lethal, and your shops stay open to the people you trust.
Start with the spawn recipe above, verify it with /rg info spawn, then build outward one zone at a time. If you want to go deeper on the permission side that keeps region commands out of the wrong hands, read our advanced LuckPerms guide, and keep the official WorldGuard flag reference bookmarked for the full list of every flag and value type. Now go protect something.

Leave a Reply