What Is WorldGuard?
WorldGuard is the most comprehensive plugin for region protection on Minecraft servers. It offers dozens of features: protecting specific areas from griefing, creating PvP zones, controlling mob spawning, banning items, blocking explosions and setting world-wide rules.
- Unlimited region definitions — nested, overlapping, across different worlds
- Fine-grained control with 50+ flags
- Priority and child region system
- Global rules — settings that cover the entire world
- Blacklist — ban specific items
- WorldEdit integration — visual region selection
Installation
You need to install WorldGuard and WorldEdit together. Both go into the plugins/ folder.
cd ~/server/plugins
# WorldEdit (required dependency)
wget https://dev.bukkit.org/projects/worldedit/files/latest -O WorldEdit.jar
# WorldGuard
wget https://dev.bukkit.org/projects/worldguard/files/latest -O WorldGuard.jar
# Restart the server
stopAfter the first start-up, config files will be created in the plugins/WorldGuard/ folder.
Selecting a Region with WorldEdit
Before defining a region you have to select the area with WorldEdit. There are three different methods:
Method 1: The Wand Tool
The most common method. You select the two corners by left/right clicking with a wooden axe.
//wand # Gives you a wooden axe
# Left click → 1st corner point
# Right click → 2nd corner pointMethod 2: Selecting by Command
//pos1 # Set your current position as point 1
//pos2 # Set your current position as point 2Method 3: Selecting by Coordinates
//pos1 100,64,200 # Point 1 with X,Y,Z coordinates
//pos2 200,128,300 # Point 2 with X,Y,Z coordinatesExpanding the Selection
//expand vert # Expand to the sky and to bedrock (Y=-64 → Y=320)
//expand 10 north # Expand 10 blocks north
//expand 5 up # Expand 5 blocks up
//contract 3 south # Contract 3 blocks from the southRegion Commands
Once you have made a selection, these are the commands for defining and managing regions:
| Command | Description | Permission |
|---|---|---|
| <code>/rg define spawn</code> | Define the selected area as a region named 'spawn' | worldguard.region.define.* |
| <code>/rg redefine spawn</code> | Update an existing region's boundaries (with a new selection) | worldguard.region.redefine.* |
| <code>/rg remove arena</code> | Delete the region | worldguard.region.remove.* |
| <code>/rg info spawn</code> | Show the region's details | worldguard.region.info.* |
| <code>/rg list</code> | List every region | worldguard.region.list |
| <code>/rg list -w nether</code> | List the regions in a specific world | worldguard.region.list |
| <code>/rg addowner spawn Player</code> | Add an owner to the region | worldguard.region.addowner.* |
| <code>/rg addmember spawn Player</code> | Add a member to the region | worldguard.region.addmember.* |
| <code>/rg removeowner spawn Player</code> | Remove ownership | worldguard.region.removeowner.* |
| <code>/rg removemember spawn Player</code> | Remove membership | worldguard.region.removemember.* |
| <code>/rg select spawn</code> | Load an existing region into the WorldEdit selection | worldguard.region.select |
| <code>/rg tp spawn</code> | Teleport to the region | worldguard.region.tp |
Flags Table
Flags control the behaviour inside a region. They can take three values: allow, deny, none (inherit from the parent region). Syntax: /rg flag region_name flag value
PvP and Combat Flags
| Flag | Default | Description |
|---|---|---|
| <code>pvp</code> | allow | Players damaging each other |
| <code>invincibility</code> | — | Players in the region take no damage |
| <code>mob-damage</code> | allow | Mobs damaging players |
| <code>fall-damage</code> | allow | Fall damage |
| <code>fire-damage</code> | allow | Fire damage |
| <code>potion-splash</code> | allow | Splash potion effects |
Build and Break Flags
| Flag | Default | Description |
|---|---|---|
| <code>build</code> | allow (member/owner) | General build/break permission |
| <code>block-break</code> | — | Block breaking control only |
| <code>block-place</code> | — | Block placing control only |
| <code>interact</code> | allow | Interaction with doors, buttons, levers |
| <code>use</code> | allow | Item usage (axe, bucket, etc.) |
| <code>chest-access</code> | allow | Chest/furnace/smoker access |
| <code>vehicle-place</code> | allow | Placing boats/minecarts |
| <code>vehicle-destroy</code> | allow | Destroying boats/minecarts |
Mob and Spawn Flags
| Flag | Default | Description |
|---|---|---|
| <code>mob-spawning</code> | allow | Controls all mob spawning |
| <code>deny-spawn</code> | — | Block specific mob types (e.g. creeper,skeleton) |
| <code>entity-painting-destroy</code> | allow | Mobs destroying paintings |
| <code>entity-item-frame-destroy</code> | allow | Mobs destroying item frames |
Explosion and Nature Flags
| Flag | Default | Description |
|---|---|---|
| <code>creeper-explosion</code> | allow | Creeper explosions |
| <code>tnt</code> | allow | TNT explosions |
| <code>other-explosion</code> | allow | Other explosions (bed, crystal, etc.) |
| <code>fire-spread</code> | allow | Fire spreading |
| <code>lava-fire</code> | allow | Lava starting fires |
| <code>lightning</code> | allow | Lightning strikes |
| <code>snow-fall</code> | allow | Snowfall |
| <code>snow-melt</code> | allow | Snow melting |
| <code>ice-form</code> | allow | Ice forming |
| <code>ice-melt</code> | allow | Ice melting |
| <code>mushroom-growth</code> | allow | Mushroom growth |
| <code>leaf-decay</code> | allow | Leaf decay |
| <code>grass-growth</code> | allow | Grass growth |
| <code>vine-growth</code> | allow | Vine growth |
| <code>crop-growth</code> | allow | Crop growth |
| <code>soil-dry</code> | allow | Soil drying out |
Teleport and Movement Flags
| Flag | Default | Description |
|---|---|---|
| <code>entry</code> | allow | Permission to enter the region |
| <code>exit</code> | allow | Permission to leave the region |
| <code>enderpearl</code> | allow | Teleporting with an ender pearl |
| <code>chorus-fruit-teleport</code> | allow | Teleporting with chorus fruit |
| <code>teleport</code> | allow | Teleporting with commands such as /tp |
| <code>spawn-teleport</code> | allow | Teleporting with the /spawn command |
Message and Information Flags
| Flag | Default | Description |
|---|---|---|
| <code>greeting</code> | — | Message shown on entering the region |
| <code>farewell</code> | — | Message shown on leaving the region |
| <code>greeting-title</code> | — | Large on-screen title on entering the region |
| <code>farewell-title</code> | — | Large on-screen title on leaving the region |
/rg flag spawn greeting &aWelcome to the spawn area!
/rg flag spawn farewell &7You have left the spawn area.
/rg flag spawn greeting-title &b&lSPAWNOther Important Flags
| Flag | Default | Description |
|---|---|---|
| <code>item-pickup</code> | allow | Picking items up off the ground |
| <code>item-drop</code> | allow | Dropping items |
| <code>exp-drops</code> | allow | XP orbs dropping |
| <code>send-chat</code> | allow | Sending chat messages |
| <code>receive-chat</code> | allow | Receiving chat messages |
| <code>pistons</code> | allow | Piston movement |
| <code>ride</code> | allow | Riding an animal/vehicle |
| <code>sleep</code> | allow | Sleeping in a bed |
| <code>respawn-anchors</code> | allow | Using respawn anchors |
| <code>frosted-ice-form</code> | allow | Frost Walker ice forming |
The Priority System
When regions overlap, the priority value decides which flags apply. A higher number = higher priority. Default priority: 0.
# City region: PvP off (priority 1)
/rg define city
/rg flag city pvp deny
/rg setpriority city 1
# Arena inside the city: PvP on (priority 10)
/rg define city-arena
/rg flag city-arena pvp allow
/rg setpriority city-arena 10
# Even though the arena sits inside the city, PvP is on because its priority is higher| Priority | Example use |
|---|---|
| 0 | Default regions |
| 1 | Large areas such as cities and towns |
| 5 | Regions that need special rules |
| 10 | Overlapping areas such as arenas and PvP zones |
| 100 | Areas that must be protected no matter what, such as spawn |
Child Regions
You can build a hierarchy by defining child regions inside a region. Child regions inherit the parent region's flags and can override them as needed.
# 1. Create the parent region
/rg define town
/rg flag town pvp deny
/rg flag town build deny
# 2. Create the child region (set the parent)
/rg define town-shop
/rg setparent town-shop town
/rg flag town-shop use allow
/rg flag town-shop chest-access allow
# Result: in town-shop pvp and build are still deny (inherited)
# but use and chest-access are allow (overridden)The Global Region (__global__)
The __global__ region applies everywhere that is not covered by a defined region. It is ideal for setting world-wide rules.
# Block creeper explosions across the whole world
/rg flag __global__ creeper-explosion deny
# Block TNT explosions across the whole world
/rg flag __global__ tnt deny
# Block fire spreading across the whole world
/rg flag __global__ fire-spread deny
# Block wither damage across the whole world
/rg flag __global__ wither-damage deny
# Block lava flow from starting fires across the whole world
/rg flag __global__ lava-fire deny
# PvP off by default (only enabled inside arenas)
/rg flag __global__ pvp denySpawn Protection, Step by Step
Follow the steps below to protect your server's spawn area:
# Step 1: Select the spawn area with WorldEdit
//wand
# Mark the two corners with left/right click
//expand vert # Cover the full height
# Step 2: Define the region
/rg define spawn
# Step 3: Set the protection flags
/rg flag spawn build deny
/rg flag spawn pvp deny
/rg flag spawn mob-spawning deny
/rg flag spawn creeper-explosion deny
/rg flag spawn tnt deny
/rg flag spawn fire-spread deny
/rg flag spawn enderpearl deny
/rg flag spawn chorus-fruit-teleport deny
# Step 4: Add the messages
/rg flag spawn greeting &a&lWelcome &7to the spawn area!
/rg flag spawn farewell &7You have left the spawn area.
# Step 5: Give it a high priority
/rg setpriority spawn 100| Flag | Value | Why |
|---|---|---|
| build | deny | Blocks placing/breaking blocks |
| pvp | deny | No fighting at spawn |
| mob-spawning | deny | Keeps mobs from spawning at spawn |
| creeper-explosion | deny | Blocks creeper damage |
| tnt | deny | Blocks TNT damage |
| fire-spread | deny | Blocks fire from spreading |
| enderpearl | deny | Blocks pearling into the protected area |
| chorus-fruit-teleport | deny | Blocks the chorus fruit bypass |
| item-drop | deny | Blocks dropping items on the ground (optional) |
| interact | allow | Interaction with NPCs and signs |
Setting Up a PvP Arena
To create a dedicated area where players can fight:
# Step 1: Select the arena area
//wand
//expand vert
# Step 2: Define the region
/rg define pvp-arena
# Step 3: Set the PvP flags
/rg flag pvp-arena pvp allow
/rg flag pvp-arena build deny
/rg flag pvp-arena item-drop deny
/rg flag pvp-arena exp-drops deny
/rg flag pvp-arena enderpearl allow
/rg flag pvp-arena mob-spawning deny
# Step 4: Entry/exit messages
/rg flag pvp-arena greeting &c&l⚔ PvP Arena &7- Watch yourself!
/rg flag pvp-arena farewell &aYou have left the PvP arena.
# Step 5: Priority (if it is inside the city, it must be higher than the city)
/rg setpriority pvp-arena 10Blacklist Configuration
With the blacklist you can block the use, placement or breaking of specific items across the whole world. File: plugins/WorldGuard/blacklist.txt
# blacklist.txt
# Block TNT usage
[tnt]
on-place=deny,tell,log
message=&cTNT is not allowed on this server!
# Block lava bucket usage
[lava_bucket]
on-use=deny,tell,log
message=&cPouring lava is not allowed!
# Block placing bedrock
[bedrock]
on-place=deny,tell
message=&cYou cannot place bedrock!
# Block barrier blocks
[barrier]
on-place=deny,tell
# Block placing ender crystals (anti-grief)
[end_crystal]
on-place=deny,tell,log
message=&cEnd crystals are not allowed!| Blacklist event | Description |
|---|---|
| <code>on-place</code> | Triggered on an attempt to place the block |
| <code>on-break</code> | Triggered on an attempt to break the block |
| <code>on-use</code> | Triggered on an attempt to use the item |
| <code>on-interact</code> | Triggered on interaction with the block |
| <code>on-drop</code> | Triggered on an attempt to drop the item |
| <code>on-acquire</code> | Triggered on an attempt to acquire the item |
| Blacklist action | Description |
|---|---|
| <code>deny</code> | Block the action |
| <code>tell</code> | Show the player a message |
| <code>log</code> | Log it to the console/file |
| <code>kick</code> | Kick the player from the server |
| <code>ban</code> | Ban the player |
The WorldGuard Config File
Global settings are made in the plugins/WorldGuard/config.yml file:
# config.yml — the important settings
regions:
use-player-move-event: true # Region entry/exit checking
cancel-chat-without-recipients: true
max-claim-volume: 30000 # Maximum region volume
protection:
item-durability: true # Item durability protection
remove-infinite-stacks: false
blacklist:
use-as-whitelist: false # true = only allow what is on the list
gameplay:
block-potions: [] # Banned potion IDs
disable-xp-orb-drops: false
block-creature-spawn: [] # Banned mob spawn typesCommon Mistakes and Their Fixes
| Problem | Cause | Fix |
|---|---|---|
| The region is not protecting anything | No selection was made, or <code>//expand vert</code> was forgotten | Check the boundaries with <code>/rg info</code>, redefine with <code>//expand vert</code> |
| Owners/members cannot build | <code>build deny</code> affects everyone | Set the <code>build</code> flag to <code>none</code> — members/owners are then allowed automatically |
| A flag is not working | The region's priority is low and another region overrides it | Check the priority with <code>/rg info</code>, raise it with <code>/rg setpriority</code> |
| A global flag is affecting regions | __global__ applies everywhere | Override the relevant flag as <code>allow</code> inside the region |
| PvP cannot be turned off | Another plugin is controlling PvP | Check <code>pvp: true</code> in EssentialsX, make sure WorldGuard loads first |
| Players enter the region with ender pearls | <code>enderpearl deny</code> was never set | Run <code>/rg flag region enderpearl deny</code> |
| Mobs are spawning inside the region | <code>mob-spawning deny</code> was forgotten | Set the flag and clear the existing mobs with <code>/butcher</code> |
| The region is huge and causing lag | <code>use-player-move-event</code> is heavy across a large number of regions | Delete unnecessary regions, reduce the region count |
WorldGuard Permissions
| Permission | Description |
|---|---|
| <code>worldguard.region.define.*</code> | Defining regions |
| <code>worldguard.region.flag.regions.*</code> | Setting flags |
| <code>worldguard.region.addowner.*</code> | Adding owners |
| <code>worldguard.region.addmember.*</code> | Adding members |
| <code>worldguard.region.remove.*</code> | Deleting regions |
| <code>worldguard.region.info.*</code> | Viewing region information |
| <code>worldguard.region.list</code> | Listing regions |
| <code>worldguard.region.tp</code> | Teleporting to a region |
| <code>worldguard.region.bypass.*</code> | Bypassing region protection (admin) |