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
stop

After 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.

text
//wand                         # Gives you a wooden axe
# Left click  → 1st corner point
# Right click → 2nd corner point

Method 2: Selecting by Command

text
//pos1                         # Set your current position as point 1
//pos2                         # Set your current position as point 2

Method 3: Selecting by Coordinates

text
//pos1 100,64,200              # Point 1 with X,Y,Z coordinates
//pos2 200,128,300              # Point 2 with X,Y,Z coordinates

Expanding the Selection

text
//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 south

Region Commands

Once you have made a selection, these are the commands for defining and managing regions:

CommandDescriptionPermission
<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 regionworldguard.region.remove.*
<code>/rg info spawn</code>Show the region's detailsworldguard.region.info.*
<code>/rg list</code>List every regionworldguard.region.list
<code>/rg list -w nether</code>List the regions in a specific worldworldguard.region.list
<code>/rg addowner spawn Player</code>Add an owner to the regionworldguard.region.addowner.*
<code>/rg addmember spawn Player</code>Add a member to the regionworldguard.region.addmember.*
<code>/rg removeowner spawn Player</code>Remove ownershipworldguard.region.removeowner.*
<code>/rg removemember spawn Player</code>Remove membershipworldguard.region.removemember.*
<code>/rg select spawn</code>Load an existing region into the WorldEdit selectionworldguard.region.select
<code>/rg tp spawn</code>Teleport to the regionworldguard.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

FlagDefaultDescription
<code>pvp</code>allowPlayers damaging each other
<code>invincibility</code>Players in the region take no damage
<code>mob-damage</code>allowMobs damaging players
<code>fall-damage</code>allowFall damage
<code>fire-damage</code>allowFire damage
<code>potion-splash</code>allowSplash potion effects

Build and Break Flags

FlagDefaultDescription
<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>allowInteraction with doors, buttons, levers
<code>use</code>allowItem usage (axe, bucket, etc.)
<code>chest-access</code>allowChest/furnace/smoker access
<code>vehicle-place</code>allowPlacing boats/minecarts
<code>vehicle-destroy</code>allowDestroying boats/minecarts

Mob and Spawn Flags

FlagDefaultDescription
<code>mob-spawning</code>allowControls all mob spawning
<code>deny-spawn</code>Block specific mob types (e.g. creeper,skeleton)
<code>entity-painting-destroy</code>allowMobs destroying paintings
<code>entity-item-frame-destroy</code>allowMobs destroying item frames

Explosion and Nature Flags

FlagDefaultDescription
<code>creeper-explosion</code>allowCreeper explosions
<code>tnt</code>allowTNT explosions
<code>other-explosion</code>allowOther explosions (bed, crystal, etc.)
<code>fire-spread</code>allowFire spreading
<code>lava-fire</code>allowLava starting fires
<code>lightning</code>allowLightning strikes
<code>snow-fall</code>allowSnowfall
<code>snow-melt</code>allowSnow melting
<code>ice-form</code>allowIce forming
<code>ice-melt</code>allowIce melting
<code>mushroom-growth</code>allowMushroom growth
<code>leaf-decay</code>allowLeaf decay
<code>grass-growth</code>allowGrass growth
<code>vine-growth</code>allowVine growth
<code>crop-growth</code>allowCrop growth
<code>soil-dry</code>allowSoil drying out

Teleport and Movement Flags

FlagDefaultDescription
<code>entry</code>allowPermission to enter the region
<code>exit</code>allowPermission to leave the region
<code>enderpearl</code>allowTeleporting with an ender pearl
<code>chorus-fruit-teleport</code>allowTeleporting with chorus fruit
<code>teleport</code>allowTeleporting with commands such as /tp
<code>spawn-teleport</code>allowTeleporting with the /spawn command

Message and Information Flags

FlagDefaultDescription
<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
text
/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&lSPAWN

Other Important Flags

FlagDefaultDescription
<code>item-pickup</code>allowPicking items up off the ground
<code>item-drop</code>allowDropping items
<code>exp-drops</code>allowXP orbs dropping
<code>send-chat</code>allowSending chat messages
<code>receive-chat</code>allowReceiving chat messages
<code>pistons</code>allowPiston movement
<code>ride</code>allowRiding an animal/vehicle
<code>sleep</code>allowSleeping in a bed
<code>respawn-anchors</code>allowUsing respawn anchors
<code>frosted-ice-form</code>allowFrost Walker ice forming

The Priority System

When regions overlap, the priority value decides which flags apply. A higher number = higher priority. Default priority: 0.

text
# 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
PriorityExample use
0Default regions
1Large areas such as cities and towns
5Regions that need special rules
10Overlapping areas such as arenas and PvP zones
100Areas 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.

text
# 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.

text
# 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 deny

Spawn Protection, Step by Step

Follow the steps below to protect your server's spawn area:

text
# 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
FlagValueWhy
builddenyBlocks placing/breaking blocks
pvpdenyNo fighting at spawn
mob-spawningdenyKeeps mobs from spawning at spawn
creeper-explosiondenyBlocks creeper damage
tntdenyBlocks TNT damage
fire-spreaddenyBlocks fire from spreading
enderpearldenyBlocks pearling into the protected area
chorus-fruit-teleportdenyBlocks the chorus fruit bypass
item-dropdenyBlocks dropping items on the ground (optional)
interactallowInteraction with NPCs and signs

Setting Up a PvP Arena

To create a dedicated area where players can fight:

text
# 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 10

Blacklist Configuration

With the blacklist you can block the use, placement or breaking of specific items across the whole world. File: plugins/WorldGuard/blacklist.txt

text
# 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 eventDescription
<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 actionDescription
<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:

yaml
# 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 types

Common Mistakes and Their Fixes

ProblemCauseFix
The region is not protecting anythingNo selection was made, or <code>//expand vert</code> was forgottenCheck the boundaries with <code>/rg info</code>, redefine with <code>//expand vert</code>
Owners/members cannot build<code>build deny</code> affects everyoneSet the <code>build</code> flag to <code>none</code> — members/owners are then allowed automatically
A flag is not workingThe region's priority is low and another region overrides itCheck the priority with <code>/rg info</code>, raise it with <code>/rg setpriority</code>
A global flag is affecting regions__global__ applies everywhereOverride the relevant flag as <code>allow</code> inside the region
PvP cannot be turned offAnother plugin is controlling PvPCheck <code>pvp: true</code> in EssentialsX, make sure WorldGuard loads first
Players enter the region with ender pearls<code>enderpearl deny</code> was never setRun <code>/rg flag region enderpearl deny</code>
Mobs are spawning inside the region<code>mob-spawning deny</code> was forgottenSet 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 regionsDelete unnecessary regions, reduce the region count

WorldGuard Permissions

PermissionDescription
<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)

Useful Resources