Skip to content

WorldGuard Flags (Full List), Commands and Spawn Protection

All 103 WorldGuard 7.0.19 flags with their defaults, the /rg commands you'll use, and a step-by-step spawn protection setup that works for non-op builders.

Updated September 28, 2026
Minecraft

Vanilla protects one square at spawn and nothing else. WorldGuard replaces that with named 3D regions you can draw anywhere, each with its own owners, members, flags and priority — a spawn nobody can touch, a shop district where each plot has a different owner, an arena where PvP is on and building is off, and a wilderness that is claim-only. What each region allows is set with WorldGuard flags, and this guide lists all 103 of them with their defaults.

It is also the plugin people most often misconfigure, because two of its ideas are counter-intuitive: a new region already protects itself without any flag being set, and the flag that looks like it turns protection on is the one you should never touch. Both are covered below.

This guide covers defining regions, a step-by-step spawn protection setup, membership, the complete flags list and region groups, priorities and inheritance, the __global__ region, player self-claiming, storage, and the diagnostic commands. It sits under Minecraft Grief Protection and Rollback, which is where to start if you are not sure whether you want protection, logging or backups.

What WorldGuard Needs

WorldGuard requires the Bukkit API and the Bukkit build of WorldEdit

WorldGuard runs on Paper, Spigot and Purpur. A vanilla server jar cannot load plugins at all, and Forge and Sponge are not supported — nor is Fabric, which is not a Bukkit implementation either. It also needs WorldEdit, and specifically the Bukkit version of it, because WorldEdit is what selects the area a region covers. Install both jars together; WorldGuard will not start without WorldEdit. Installation is covered in How to install plugins for Minecraft Java Edition, and WorldEdit itself in Minecraft WorldEdit: Selections, Brushes and Schematics.

As of 28 September 2026 the current release is WorldGuard 7.0.19, published 18 September 2026. It supports Minecraft 26.2 and 26.3 on Bukkit, Paper, Spigot and Folia, and it requires 26.2 or newer, so a server still on 26.1.x should stay on 7.0.18. Two things lag behind it: Paper's 26.3 builds are still marked alpha, and WorldEdit's stable 7.4.5 stops at 26.2, with 26.3 support only in the 7.4.6 betas. On a production server that means WorldGuard 7.0.19 with WorldEdit 7.4.5 on Paper 26.2 for now.

Creating Your First Region

Select the area with WorldEdit — //wand, left-click one corner, right-click the other, then //expand up and down to cover the full height of the build. Then:

/rg define spawn
/rg addmember spawn g:builders
Protect spawn and let the build team work there

That is the whole thing. /region and /rg are the same command. Region IDs are case-insensitive and must be unique per world, so two worlds can each have a spawn.

A new region already prevents building

You do not set a flag to protect it. The moment /rg define runs, non-members cannot break or place blocks, open chests, or use doors inside it. Membership is what grants access back. This is the single most common misunderstanding, and it is the reason the build flag exists as a trap rather than a tool.

Prefix a name with g: to add a permission group instead of a player — g:builders refers to a LuckPerms group, covered in How to Set Up LuckPerms Permissions for Minecraft. You can also name owners at creation time: /rg define spawn sk89q g:builders.

Owners and members differ only in authority: both can build, owners can also manage the region if you have granted them the owner-level command permissions.

The commands you will actually use

Command What it does
/rg define <id> [owners...] Create a region from your current WorldEdit selection
/rg define -g <id> Create a region with no physical area — for templates
/rg redefine <id> Re-shape an existing region to your current selection
/rg remove [-u|-f] <id> Delete a region. With children, -u orphans them and -f deletes them
/rg addmember <id> <names...> Add members
/rg addowner <id> <names...> Add owners
/rg removemember [-a] <id> <names...> Remove members. -a removes all
/rg info [-s] [<id>] Show members, flags and priority. -s also selects it
/rg select [<id>] Load a region's area into your WorldEdit selection
/rg list [-p <player>] [-i <text>] List regions, filtered by owner or by ID text
/rg flags <id> Interactive, clickable list of every flag and its value
/rg setpriority <id> <n> Set priority — default 0
/rg setparent <id> [<parent>] Set or clear the parent region
/rg teleport [-s] <id> Teleport to the region's teleport or spawn flag location

Almost all of these work from the console; add -w <world> when it is ambiguous. Changes save automatically shortly after you make them — /rg save exists but is not normally needed.

Regions can be cuboids or 2D polygons with a height. Cylinders and spheres are not supported; WorldGuard will tell you so if you try.

How to Protect Spawn with WorldGuard

Spawn is the first region almost every server makes, and it is where the two systems collide: vanilla already protects a square around world spawn, and WorldGuard cannot override it. Do these five steps in order.

1. Turn off vanilla spawn protection

Vanilla's spawn-protection setting in server.properties defaults to 16, which protects a 33×33 square around world spawn in your main world. Inside it, only operators can build. If you define a WorldGuard region over that area, WorldGuard tells you so:

Warning! This region overlaps vanilla's spawn protection. WorldGuard cannot override this, and only server operators will be able to interact with this area.
What /rg define prints over vanilla spawn protection

If your build team is not opped, and it should not be, they cannot touch spawn until you turn the vanilla feature off. Open server.properties in the File Manager, set spawn-protection=0, and restart the server. GSK's startup only rewrites the IP and port lines in that file, so the change survives restarts. All the other keys are covered in Minecraft server.properties: The Complete Reference.

2. Select the whole spawn area, top to bottom

Stand at spawn, run //wand, left-click one corner of the area and right-click the opposite corner. Then stretch the selection to the full world height, so nobody can tunnel in underneath or build a platform above:

//expand vert
//size
Select spawn from bedrock to build limit

//size confirms the dimensions before you commit. Selections are covered in Minecraft WorldEdit: Selections, Brushes and Schematics.

3. Define the region and add the people who build there

/rg define spawn
/rg addmember spawn g:builders
/rg addowner spawn g:admin
Create the region

From this moment non-members cannot break, place, open chests or use doors inside spawn. You have not set a single flag yet, and you do not need one for block protection.

4. Set the flags spawn usually needs

/rg flag spawn pvp deny
/rg flag spawn mob-spawning deny
/rg flag spawn creeper-explosion deny
/rg flag spawn enderman-grief deny
/rg flag spawn use allow
/rg flag spawn greeting-title Welcome to spawn
/rg flag spawn teleport here
A typical survival spawn
  • pvp deny is needed even though non-members already cannot hit each other in a region: unset, pvp follows membership, so your builders could still fight. deny blocks it for everyone, and it also blocks a player outside spawn hitting someone inside.
  • mob-spawning deny stops mobs spawning inside, including from spawn eggs. Mobs can still walk in from outside, which is why creeper-explosion deny is there too. To block only some mobs, use deny-spawn instead.
  • use allow lets everyone press buttons and open doors. Chests stay locked, because inventories are chest-access, a separate flag.
  • teleport here saves your current position, so /rg teleport spawn (or /rg tp spawn) lands people in the right place.

Leave build, block-break and block-place alone. Setting any of them overrides membership and locks out your own builders, as explained under the flags list below.

5. Test it as a normal player

Operators bypass region protection, so testing on your own op account shows nothing. Use a non-op alt, or ask a player, then run /rg info spawn to check members and flags. If something is still blocked or allowed unexpectedly, /wg debug testbreak <player> names the plugin responsible.

The Nether and the End need their own spawn regions

Regions are per-world, and vanilla spawn protection only ever applies to the main world. If players arrive in the Nether through a hub portal, define a region around it there too.

WorldGuard Flags

A flag changes one behaviour inside a region.

/rg flag town pvp deny
/rg flag town greeting Welcome to town!
No PvP in town, and a greeting on the way in

Omit the value to remove a flag: /rg flag town pvp. Use -e to set an explicitly empty value, which is how you silence a greeting inherited from a larger region. /rg flags <id> lists everything with its current and default value, and the output is clickable in game.

Flags come in types — state (allow/deny), string, integer, double, boolean, location and set. Most string flags accept \n for a newline and colour codes, plus replacements such as %name%, %world%, %online% and %health%.

The complete WorldGuard flags list

WorldGuard 7.0.19 has 103 flags. The tables below come from the plugin's own source code at the 7.0.19 release tag, grouped roughly as the official flags page groups them, with the default each flag falls back to when you have not set it. That default column is what the official page leaves out. Four flags, wind-charge-burst, breeze-charge-explosion, moisture-change and lava-harden, exist in the plugin but are not on the official page yet.

How to read the Default column:

  • allow: the thing happens unless a region denies it.
  • members only: while the flag is unset, WorldGuard falls back to membership. Members of the region can do it and non-members cannot. Outside every region, everyone can. Set allow to open it to everyone, or deny to block everyone, members and pistons included.
  • unset: the flag does nothing until you give it a value.
  • ‡ needs high-frequency-flags enabled in the config. † needs use-player-move-event, which is on by default. See the warning after the tables.

Overrides

Flag Type Default What it controls
passthrough state unset (region protects) allow makes the region stop protecting its area. __global__ is implicitly allow
nonplayer-protection-domains set of strings unset Regions sharing a domain name let pistons and other non-player machines act across their shared border

Protection

Flag Type Default What it controls
build state members only Every protection check at once. Do not set it: use membership, or passthrough
interact state members only Using blocks and entities: doors, levers, mounting and similar
block-break state members only Breaking blocks
block-place state members only Placing blocks
use state members only Doors, levers, buttons and pressure plates, but not inventories
chest-access state members only Opening chests, furnaces and other inventories
damage-animals state members only Players hurting passive animals
ride state members only Mounting vehicles and animals
pvp state members only Player-versus-player damage. deny applies if the attacker or the victim is inside the region, and ops cannot bypass it
sleep state members only Sleeping in beds
respawn-anchors state members only Activating respawn anchors
tnt state members only TNT detonation and TNT block damage
lighter state members only Flint and steel and fire charges
vehicle-place state members only Placing boats and minecarts
vehicle-destroy state members only Breaking boats and minecarts
block-trampling state members only Trampling farmland and turtle or sniffer eggs
frosted-ice-form state members only Frost Walker boots forming ice
item-frame-rotation state members only Rotating the item in an item frame
firework-damage state members only Fireworks damaging entities
potion-splash state members only Splash potions applying their effects
use-anvil state members only Using anvils
use-dripleaf state members only Using dripleaf
wind-charge-burst state members only Player-thrown wind charge bursts and their knockback. Not on the official flags page

Mobs, fire and explosions

Flag Type Default What it controls
creeper-explosion state allow Creeper explosions doing damage
other-explosion state allow Any other explosion doing damage
ghast-fireball state allow Ghast fireballs and wither skulls doing damage
wither-damage state allow Wither body explosions doing damage
enderdragon-block-damage state allow The ender dragon destroying blocks
breeze-charge-explosion state allow Breeze wind charges and their knockback. Not on the official flags page
enderman-grief state allow Endermen picking up and placing blocks
ravager-grief state allow Ravagers breaking blocks
snowman-trails state allow Snow golems leaving snow behind them
entity-painting-destroy state allow Non-player entities destroying paintings
entity-item-frame-destroy state allow Non-player entities destroying item frames
mob-damage state allow Mobs hurting players
mob-spawning state allow Mob spawning, including spawn eggs and commands
deny-spawn set of entity types unset Specific mobs that may not spawn: /rg flag spawn deny-spawn cow,pig
fire-spread state allow ‡ Fire spreading

Natural events

Flag Type Default What it controls
lava-fire state allow ‡ Lava starting fires
water-flow state allow ‡ Water flowing
lava-flow state allow ‡ Lava flowing
lightning state allow Lightning strikes
snow-fall state allow Snow layers forming on the ground
snow-melt state allow Snow melting
ice-form state allow Ice forming
ice-melt state allow Ice melting
frosted-ice-melt state allow Frosted ice melting
leaf-decay state allow Leaves decaying
grass-growth state allow Grass spreading
mycelium-spread state allow Mycelium spreading
mushroom-growth state allow Mushrooms growing
vine-growth state allow Vines and kelp growing
rock-growth state allow Dripstone and similar growing
sculk-growth state allow Sculk and sculk veins spreading
crop-growth state allow Wheat, potatoes, melons and other crops growing
soil-dry state allow Farmland drying out
moisture-change state allow Farmland moisture level changing. Not on the official flags page
coral-fade state allow Coral dying out of water
copper-fade state allow Copper oxidising
lava-harden state allow Lava turning into cobblestone, stone, obsidian or basalt (added in 7.0.18). Not on the official flags page

Movement and messages

Flag Type Default What it controls
entry state allow (non-members) deny keeps non-members out. Applies to non-members unless you pass -g
exit state allow (non-members) deny keeps non-members in
exit-via-teleport state allow Whether a player denied exit may still teleport out
exit-override boolean unset true always lets players leave
entry-deny-message string "You are not permitted to enter this area." Message when entry is denied
exit-deny-message string "You are not permitted to leave this area." Message when exit is denied
greeting string unset † Chat message on entering
farewell string unset † Chat message on leaving
greeting-title string unset Title on entering. \n adds a subtitle
farewell-title string unset Title on leaving. \n adds a subtitle
notify-enter boolean unset Tell holders of worldguard.notify when someone enters
notify-leave boolean unset Tell holders of worldguard.notify when someone leaves
enderpearl state allow Ender pearl teleports
chorus-fruit-teleport state allow Chorus fruit teleports
teleport location unset Where /rg teleport <id> sends you. /rg flag <id> teleport here sets it to your position
spawn location unset (members) Respawn point for members who die inside the region
teleport-message string "Teleported you to the region '%id%'." Message after /rg teleport

Players and map making

Flag Type Default What it controls
invincible state off allow makes players take no damage
fall-damage state allow Fall damage
natural-health-regen state allow Natural health regeneration (from a full hunger bar, or on peaceful)
natural-hunger-drain state allow Hunger draining
heal-delay integer unset † Seconds between heals. 0 disables
heal-amount integer unset † Half-hearts healed every heal-delay seconds. Negative values hurt
heal-min-health double unset † Floor that negative heal-amount will not push health below
heal-max-health double unset † Cap that healing will not go above
feed-delay integer unset † As heal-delay, for hunger
feed-amount integer unset † As heal-amount, for hunger
feed-min-hunger integer unset † As heal-min-health, for hunger
feed-max-hunger integer unset † As heal-max-health, for hunger
game-mode game mode unset Force survival, creative or adventure inside
time-lock string unset Client-side time in ticks, 0 to 24000. Prefix + or - for time relative to the world
weather-lock weather unset Client-side rain or clear. Does not change world mechanics
item-pickup state allow Picking up items. Allowed by default on purpose
item-drop state allow Dropping items. Allowed by default on purpose
exp-drops state allow XP orbs dropping
deny-message string "Hey! Sorry, but you can't %what% here." Message when an action is blocked

Chat, commands and pistons

Flag Type Default What it controls
send-chat state allow Sending chat from inside
receive-chat state allow Receiving chat while inside
blocked-cmds set of strings unset Commands blocked inside: /rg flag spawn blocked-cmds /tp,/teleport
allowed-cmds set of strings unset Command whitelist: everything not listed is blocked
pistons state allow Pistons working

fire-spread, water-flow, lava-flow and lava-fire need a config option

These four (marked ‡ above) are high-frequency events and do nothing until you set high-frequency-flags: true under regions: in plugins/WorldGuard/config.yml and restart. It is off by default because of the extra region lookups. The flags marked † (greeting, farewell, healing and feeding) need use-player-move-event, which is on by default. Leave it on.

Region groups

A flag can be scoped to a category of player with -g:

/rg flag mall pvp -g nonmembers deny
Deny PvP to non-members only

The five groups are all, members, owners, nonmembers and nonowners. They describe membership of the region and have nothing to do with permission groups.

You cannot set the same flag to different values for different groups on one region — if you need that, make two regions. Two defaults are worth remembering: entry and exit already default to non-members, so /rg flag vault entry deny keeps non-members out without any -g, and the spawn location flag defaults to members.

Never use the build flag to protect or unprotect a region

This is WorldGuard's own strongest advice. build is set implicitly by membership, and setting it by hand overrides other regions in ways that are very hard to reason about. Worse, build deny stops members building too — and it breaks pistons, because WorldGuard treats a piston as a member of whatever region it sits in, exactly like a player. To let people build, add them as members. To make a region stop protecting its area, use passthrough. The same warning applies to the other protection flags: setting block-break deny stops pistons breaking blocks as well as players.

When a flag seems to do nothing

Work through these in order. The first one explains most "WorldGuard flags not working" reports.

  1. You are testing as an operator. Ops, and anyone holding *, implicitly have worldguard.region.bypass.<world>, so protection looks broken to them. The one exception is pvp deny, which even bypass does not skip. Test with a non-op account.
  2. The flag needs a config option. The four ‡ flags need high-frequency-flags. The † flags need use-player-move-event.
  3. Another region wins. Where regions overlap, the highest-priority region that sets the flag decides. At equal priority, a deny beats an allow. /rg info at the spot, or /rg flags <id>, shows which values are set and which are inherited.
  4. It was set with a region group. A flag set with -g nonmembers does nothing to members. Remember that entry and exit default to non-members.
  5. It is set on __global__ with -g nonmembers. This does not work the way it looks. See the global region section below.
  6. It is a location flag set from the console. teleport and spawn read the position of the player running the command, so set them in game.

Priorities, Inheritance and Overlap

Regions may overlap, and by default a player must be allowed to build in every region they are standing in. That is safe but rigid; priorities and parents are how you get out of it.

Priority

Every region starts at priority 0. Higher wins.

/rg define pub
/rg setpriority pub 10
/rg addmember pub g:pubstaff
A pub inside spawn, with its own membership

Where regions overlap, only the highest-priority regions are considered for membership and building, and for any given flag the highest-priority region that defines it wins. Without the priority above, a pub member would also need to be a spawn member to build.

If two regions at the same priority disagree on a state flag, deny wins over allow. For non-state flags — two different greeting messages at the same priority, say — the result is undefined. Do not do that.

Parents

A region can have at most one parent, set with /rg setparent <child> <parent>. A child inherits the parent's members and owners, and inherits the parent's flags for any flag the child has not set itself. WorldGuard refuses circular inheritance.

/rg define mall
/rg define -g shop_template
/rg define shop1
/rg setparent shop_template mall
/rg setparent shop1 shop_template
A mall with plots, all sharing a template

/rg define -g creates a region with no physical area. That is the template pattern: the template exists only to hold flags and members that every plot should inherit, and each plot points at it. Deny use across the mall's public areas and allow it back on the template, and every shop gets working doors without touching each one.

Inheritance only works properly when children are at the same or higher priority than their parent — a higher-priority parent overrides its own children.

Overlapping regions and -g nonmembers are subtler than they look

When a flag is set with a region group, the player must be a member of the region the flag is set on, or of one of that region's child regions. If spawn has pvp -g nonmembers deny and no members, then a member of an overlapping market region is still a "non-member" as far as spawn is concerned, and PvP is denied for them. Parenting the market to spawn fixes it.

The __global__ Region

Every world has an implicit region called __global__. It covers the whole world, sits at the lowest possible priority, and does not exist until you refer to it.

/rg flag __global__ passthrough deny
Nobody may build in unclaimed land

passthrough is short for "passthrough build permissions" and has nothing to do with movement. Unlike a normal region, __global__ has passthrough implicitly set to allow, which is why unclaimed wilderness is open ground by default. Set it to deny and the global region starts behaving like any other region — building requires membership, and since it covers everything, the whole world becomes claim-only, with normal regions above it granting access where you want it. That one command turns a free-for-all map into a claims map.

Adding an owner or member to __global__ sets passthrough to deny implicitly, for legacy reasons. Setting build on it is strongly discouraged and will break every piston not inside another region.

Two things __global__ is bad at:

  • -g nonmembers does not do what you expect on it. Regions do not inherit from the global region, so "non-members of __global__" includes the members of every plot you have made. Use a template region and parent your plots to it instead.
  • It is per-world. Setting it in the overworld does nothing for the Nether or a creative world. Run it again with -w, or from inside each world.

The same page of WorldGuard's docs gives the two most common global settings for a survival server:

/rg flag __global__ use allow
/rg flag __global__ ride allow
Let everyone use doors and levers everywhere, and ride vehicles

Be aware the second one also lets players take horses out of other people's regions.

What Protection Actually Covers

WorldGuard's protection is broad, and knowing the list saves you from setting flags you do not need. Out of the box, inside a region, non-members cannot: break or place blocks; open chests or furnaces; fire TNT or gravel cannons in from outside; grief with tree growth from outside; push or pull blocks with pistons across the boundary; exploit sign changes; trample crops; damage or steal minecarts and boats; destroy paintings and item frames; use doors, buttons, plates and levers; leash, tame or shear animals; or land unauthorised splash potions and projectiles.

Water and lava flow protection exists but is off by default. Item drops, item pickups and XP drops are deliberately allowed for non-members; the item-drop, item-pickup and exp-drops flags change that.

The mechanism behind all of this is worth understanding: WorldGuard treats blocks and entities as members of whatever region they are physically inside. A piston inside a region is a member and works normally; a piston outside pushing in is a non-member and is blocked. That is also why build deny breaks pistons — it revokes membership from everything, including them.

Mod-added blocks get best-effort protection, mostly by blocking clicks on unknown blocks. Blocks that open a client-side GUI cannot be protected, because they bypass the events WorldGuard listens to.

Letting Players Claim Their Own Land

/rg claim <id> is a rudimentary self-serve claim system: the player selects an area with WorldEdit and claims it, becoming its owner automatically. Access comes from the worldguard.region.claim permission, and the player only needs worldedit.selection on the WorldEdit side.

Four rules apply unless the player has worldguard.region.unlimited:

  • They cannot exceed the maximum region count set in the config
  • The claim volume cannot exceed regions.max-claim-volume
  • The claim cannot overwrite an existing region of the same name
  • The claim cannot overlap a region they do not already own

If regions.claim-only-inside-existing-regions is enabled, claims must overlap a region the player already owns. Polygonal regions are not fully supported by claiming.

For a server built entirely around player claims, most owners reach for GriefPrevention instead — it has been the self-service anti-griefing plugin since 2011 and needs no WorldEdit selection at all. WorldGuard's claiming is best treated as a bolt-on for a server that already runs regions.

Storage

Region data lives in YAML by default, at plugins/WorldGuard/worlds/<world>/regions.yml. That file can be edited while the server is running and reloaded with /rg load. It is plain YAML — each region records its bounds, type, priority, members, owners and flags, with player UUIDs rather than names.

MySQL storage exists and WorldGuard recommends against it. Its own documentation says SQL region storage has major issues, tells anyone using it to migrate back with /rg migratedb mysql yaml, and states that SQL support will be removed in a future version. No other SQL database is supported at all. Use YAML.

When WorldGuard saves, it writes the new data to regions.yml.tmp, deletes regions.yml, then renames the temporary file into place. If the rename fails, the console logs Failed to rename temporary regions file and your latest regions are in regions.yml.tmp. Stop the server, rename that file to regions.yml in the File Manager, and start it again.

Two migrations are worth knowing about. /rg migrateuuid converts old name-based region data to UUIDs. /rg migrateheights extends regions that were defined at the pre-1.18 world limits (y 0 to 255) out to the modern world height — useful if you are bringing an old map forward, and covered alongside the rest of world handling in Minecraft World Management. Both pause the entire server while they run, so take a backup and pick a quiet moment.

Diagnostics

Command What it does
/rg bypass Toggle your own protection bypass — note it does not bypass pvp deny
/wg debug testbreak <player> Simulate a block break and report which plugin blocked it
/wg debug testplace <player> The same for block placement
/wg debug testinteract <player> The same for interacting with a block
/wg debug testdamage -t <player> Simulate a damage event — how to work out why PvP seems blocked
/wg flushstates [<player>] Clear cached movement state when a player is stuck by entry or exit
/wg report [-p] Write a support report to plugins/WorldGuard/report.txt
/wg running List WorldGuard's background tasks
/stopfire [<world>] Emergency: stop all fire spread. /allowfire lifts it

/wg debug testbreak is the one to reach for when a player insists they cannot build and you cannot see why. It runs a fake block break and lists the plugins that objected, most recent first — only the first entry matters, because a later plugin that unblocks an already-blocked action has no effect. Point the crosshair at the block yourself, or add -t to use the target player's crosshair instead.

Do not use WorldGuard's chest protection

WorldGuard has an old sign-based [Lock] chest protection feature. Its own documentation recommends against it for new setups, notes that it does not support UUIDs — so players lose access to their own chests after a name change — and states that it will be removed in a future version. Use regions for area ownership, and a dedicated single-block plugin such as LWC Extended if you need per-chest locks. That is what WorldGuard's docs point you at.

Common Issues

  • WorldGuard will not load. WorldEdit is missing, is the wrong build, or the server is not a Bukkit implementation.
  • A region does not protect anything. You are testing as an operator, and ops bypass region protection. Test with a non-op account. Otherwise its passthrough flag is allow, or a higher-priority overlapping region is overriding it. /rg info and /rg flags show both.
  • "This region overlaps vanilla's spawn protection". Vanilla spawn protection is still on, so only ops can build there whatever WorldGuard says. Set spawn-protection=0 in server.properties, as in the spawn walkthrough above.
  • Members cannot build in their own region. They are standing in an overlapping region they are not a member of — a player must be permitted in all of them unless priorities say otherwise. Or build has been set to deny, which blocks members too.
  • Pistons stopped working. The build or block-break flag has been set to deny somewhere, most likely on __global__. Unset it with /rg flag __global__ build.
  • Creepers still blow holes. creeper-explosion covers one region; the vanilla mob_griefing game rule covers the whole world. Pick the scope you want — see Minecraft Grief Protection and Rollback.
  • The greeting message never appears. The "use player move event" option is disabled, or an overlapping region carries the same greeting so no change is detected on crossing.
  • A flag set on __global__ with -g nonmembers does nothing useful. Expected. Use a template region.
  • Protection works in the overworld but not the Nether. __global__ is per-world. So is every region ID.

FAQ

Do I still need CoreProtect if I have WorldGuard?

Yes, and CoreProtect is the higher priority of the two. WorldGuard stops damage inside the areas you have drawn; it does nothing about the rest of the map, and it cannot tell you who did what or undo it. See CoreProtect: Logging, Lookups and Rollbacks.

Does WorldGuard work on Fabric, Forge or Sponge?

No. It needs the Bukkit API — Paper, Spigot or Purpur. Forge and Sponge are explicitly unsupported, and Fabric is not a Bukkit implementation either. WorldEdit does run on all of them, so a modded server can have the editing without the protection.

How many flags does WorldGuard have?

103 in version 7.0.19, all listed above. /rg flags <id> shows every one in game, including flags added by other plugins such as WorldGuard Extra Flags, which are not part of WorldGuard itself.

How do I protect the whole map, not just spawn?

/rg flag __global__ passthrough deny, run once per world. Then define regions where people are allowed to build.

Can I stop a specific command inside a region?

Yes: /rg flag spawn blocked-cmds /tp,/teleport. allowed-cmds does the inverse and blocks everything else. Note that WorldGuard only sees commands handled on its own server — a proxy that intercepts commands is outside its reach.

How do I make a mining world where players may dig but not build?

/rg flag mining_area block-break allow on a region that otherwise protects the area. A Minecraft prison server uses the same pattern: one protective region over the world, with break allowed inside each mine.

Can I limit a flag to certain block types?

Not per region. Whole-world control over which blocks may be broken is a job for WorldGuard's blacklist, which is a separate feature from regions.

Primary sources used for this guide (checked 19 August 2026; versions, flags list and spawn protection re-checked 28 September 2026 against the WorldGuard 7.0.19 source, including Flags.java, and the server.properties reference on the Minecraft Wiki): the official WorldGuard documentation — installation, regions quick start, region flags, priority and inheritance, the global region, region commands, claiming, storage drivers, what's protected, common scenarios, the command reference and the chest protection notice; and the WorldGuard project on Modrinth for the current version and supported Minecraft versions.


Made with 💜 by GameServerKings

Need a Minecraft server?

Deploy an instantly-provisioned Minecraft server on high-clock hardware — DDoS protected, no contracts, cancel anytime.

From $4.80 /month