By continuing to use this site, you agree to the Terms of Service of this website, including usage of cookies.

OK, Don't show this again

World Protection and more by Aliuly
version 2.3.14
Direct Download How to install?
Switch version
2280 Downloads / 67155 Total
24 Reviews
Plugin Description §


  • Summary: protect worlds from griefers, pvp, limits and borders
  • PocketMine-MP version: ^4.0.0 Tested with API 4.0.0
  • Categories: Anti-Griefing
  • Plugin Access: Commands, Data Saving, World Editing


A full featured World protection plugin.


  • Ban commands on a per world basis
  • Ban specific items in a world
  • Per world game modes
  • Limit the number of players in a world
  • Control explosions per world
  • Unbreakable blocks
  • World borders
  • Automatically displayed/per world MOTD
  • Protect worlds from building/block breaking
  • Per World PvP
  • Save Inventory on gamemode change and/or death

All commands require a world name to be given, otherwise a default
is selected. If in-game, the default world is the world the player
is currently in. On the console the default is the default-world as
specified in the file.

Basic Usage

Main Commands

  • /motd: Shows the world's motd text
  • /worldprotect: Main WorldProtect command

Sub Commands

  • add: Add player to the authorized list
  • bancmd|unbancmd: Prevents commands to be used in worlds
  • banitem|unbanitem: Control itmes that can/cannot be used
  • border: defines a border for a world
  • gm: Configures per world game modes
  • lock: Locks world, not even Op can use.
  • ls: List info on world protection.
  • max: Limits the number of players per world
  • motd: Modifies the world's motd text.
  • noexplode: Stops explosions in a world
  • protect: Protects world, only certain players can build.
  • pvp: Controls PvP in a world
  • rm: Removes player from the authorized list
  • unbreakable|breakable: Control blocks that can/cannot be broken
  • unlock: Removes protection


  • gm-save-inv: Will save survival inventory contents when switching gamemodes
  • death-save-inv: Will restore inventory contents on death


This plugin let's you limit what happens in a world.

Some items are able to modify a world by being consume (i.e. do not
need to be placed). For example, bonemeal, water or lava buckets.
To prevent this type of griefing, you can use the banitem

It is possible to create limits in your limitless worlds.
So players are not able to go beyond a preset border. This is
useful if you want to avoid overloading the server by
generating new Terrain.

Show a text file when players enter a world. To explain players
what is allowed (or not allowed) in specific worlds. For example
you could warn players when they are entering a PvP world.

This plugin protects worlds from griefers by restricing placing and breaking
blocks. Worlds have three protection levels:

  • unlock - anybody can place/break blocks
  • protect - players in the authorized list or, if the list is empty,
    players with wp.cmd.protect.auth permission can place/break
  • lock - nobody (even ops) is allowed to place/break blocks.

Command Reference

The following commands are available:

  • /motd: Shows the world's motd text

    usage: /motd [world]

    Shows the motd text of a world. This can be used to show
    rules around a world.

  • /worldprotect: Main WorldProtect command

    usage: /worldprotect [world] <subcmd> [options]

  • add: Add player to the authorized list

    usage: /wp [world] add <player>

  • bancmd|unbancmd: Prevents commands to be used in worlds

    usage: /wp [world] bancmd|unbancmd [command]

    If no commands are given it will show a list of banned
    commands. Otherwise the command will be added/removed
    from the ban list

  • banitem|unbanitem: Control itmes that can/cannot be used

    usage: /wp [world] banitem|unbanitem [Item-ids]

    Manages which Items can or can not be used in a given world.
    You can get a list of items currently banned
    if you do not specify any [item-ids]. Otherwise these are
    added or removed from the list.

  • border: defines a border for a world

    usage: /wp [world] border [range|none|x1 z1 x2 z2]

    Defines a border for an otherwise infinite world. Usage:

    • /wp [world] border
      • will show the current borders for [world].
    • /wp [world] border x1 z1 x2 z2
      • define the border as the region defined by x1,z1 and x2,z2.
    • /wp [world] border range
      • define the border as being range blocks in x and z axis away
        from the spawn point.
    • /wp [world] border none
      • Remove borders
  • gm: Configures per world game modes

    usage: /wp [world] gm [value]


    • /wp [world] gm
      • show current gamemode
    • /wp [world] gm <mode>
      • Sets the world gamemode to mode
    • /wp [world] gm none
      • Removes per world game mode
  • lock: Locks world, not even Op can use.

    usage: /wp [world] lock

  • ls: List info on world protection.

    usage: /wp ls [world]

    • /wp ls
      • shows an overview of protections applied to all loaded worlds
    • /wp ls [world]
      • shows details of an specific world
  • max: Limits the number of players per world

    usage : /wp [world] max [value]

    • /wp [world] max
      • shows the current limit
    • /wp [world] max value
      • Sets limit value to value.
    • /wp [world] max 0
      • Removes world limits
  • motd: Modifies the world's motd text.

    usage: /wp [world] motd <text>

    Let's you modify the world's motd text. The command only
    supports a single line, however you can modify the motd text
    by editing the wpcfg.yml file that is stored in the world
    folder. For example:

    • [CODE]
      • motd:
        • line 1
        • line 2
        • line 3
        • line 4... etc
    • [/CODE]
  • noexplode: Stops explosions in a world

    usage: /wp [world] noexplode [off|world|spawn]

    • /wp [world] noexplode off
      • no-explode feature is off, so explosions are allowed.
    • /wp [world] noexplode world
      • no explosions allowed in the whole world.
    • /wp [world] noexplode spawn
      • no explosions allowed in the world's spawn area.
  • protect: Protects world, only certain players can build.

    usage: /wp [world] protect

    When in this mode, only players in the authorized list can build.
    If there is no authorized list, it will use wp.cmd.protect.auth
    permission instead.

  • pvp: Controls PvP in a world

    usage: /wp [world] pvp [on|off|spawn-off]

    • /wp [world] pvp off
      • no PvP is allowed.
    • /wp [world] pvp on
      • PvP is allowed
    • /wp [world] pvp spawn-off
      • PvP is allowed except if inside the spawn area.
  • rm: Removes player from the authorized list

    usage: /wp [world] rm <player>

  • unbreakable|breakable: Control blocks that can/cannot be broken

    usage: /wp [world] breakable|unbreakable [block-ids]

    Manages which blocks can or can not be broken in a given world.
    You can get a list of blocks currently set to unbreakable
    if you do not specify any [block-ids]. Otherwise these are
    added or removed from the list.

  • unlock: Removes protection

    usage: /wp [world] unlock

Module reference


Will save inventory contents when switching gamemodes.

This is useful for when you have per world game modes so that
players going from a survival world to a creative world and back
do not lose their inventory.


Will save inventory contents on death

This can only be applied if gm-save-inv is enabled


Configuration is through the config.yml file. The following sections
are defined.


This section you can enable/disable modules.
You do this in order to avoid conflicts between different
PocketMine-MP plugins. It has one line per feature:

feature: true|false

If true the feature is enabled. if false the feature is disabled.


  • ticks: line delay when showing multi-line motd texts.
  • auto-motd: Automatically shows motd when entering world

Permission Nodes

  • wp.motd: Display MOTD
  • wp.cmd.all (op): Allow access to protect command
  • wp.cmd.protect (op): Change protect mode
  • wp.cmd.protect.auth (op): Permit place/destroy in protected worlds
  • wp.cmd.border (op): Allow contfol of border functionality
  • wp.cmd.pvp (op): Allow PvP controls
  • wp.cmd.noexplode (op): Allow NoExplode controls
  • wp.cmd.limit (op): Allow control to limit functionality
  • wp.cmd.wpmotd (op): Allow editing the motd
  • wp.cmd.addrm (op): Allow modifying the auth list
  • wp.cmd.unbreakable (op): Modify unbreakable block list
  • wp.cmd.bancmd (op): Ban/unban commands
  • wp.cmd.banitem (op): Ban/unban items
  • Show WP config info
  • (op): Allow setting a per-world gamemode
  • (disabled): Users with this permissions will ignore per world gm


  • World names can not contain spaces.
  • When going from survival to creative then back to survival inventory
    contents get lost.


This plugin will honour the server language configuration. The
languages currently available are:

  • English
  • Spanish

You can provide your own message file by creating a file called
messages.ini in the plugin config directory.
Check github
for sample files.
Alternatively, if you have
GrabBag v2.3
installed, you can create an empty messages.ini using the command:

 pm dumpmsgs WorldProtect [lang]


There is a minimal API to determine the max number of players per world:



  • $this - plugin pointer
  • $world - either a world name or an instance of Level.

Returns an integer or null.


  • Q: How do I keep my inventory so that it does not get clear when I
    switch gamemodes?
  • A: Enable gm-save-inv module.


  • 2.2.0: minor Update
    • Implemented banned commands (@Tolo)
    • Documentation update
  • 2.1.2: bug fix
    • Load/Unload events were not being registered (Bug reported by @GuddaJ)
  • 2.1.1: minor Update
    • updated to libcommon 1.2.0dev2
      • Upgraded to ItemName module
      • permissions defined in plugin.yml are applied
        properly which means most sub commands are now OP only.
  • 2.1.0: API
    • Added API to determine max players
  • 2.0.3: Minor bug fix
    • Fixed bug: Configuration is not applied when reloading
  • 2.0.2: Feature request
    • Feature Request(@Nifo2000): Option to control if MOTD is shown
  • 2.0.1: critical bug fix
    • Fixed a crash
    • Can now add to auth list when players are off-line
  • 2.0.0: Complete re-write
    • Refactor so it is now more modular
    • Added per world gamemode and gamemode inventory save
    • Added banitem functionality
    • Added translation: Spanish
  • 1.2.4: CallbackTask
    • Removed CallbackTask deprecation warnings
  • 1.2.3: Suggested change
    • Simpler border setting using a single "range" number
  • 1.2.2: protection overview (un-published)
    • Added an overview of protected worlds
  • 1.2.1: BugFix
    • Positions are not configured correctly.
  • 1.2.0: Update
    • Bugfix in sending motd text
    • Bugfixes WpProtect
    • wp ls/ld - will call ManyWorlds. Needs ManyWorlds v1.3.2.
    • Fixed Signs Tiles being left all over...
    • Added stop PvP in spawn areas
    • Added Unbreakable blocks
    • Max players per world should now work without ManyWorlds.
  • 1.1.1 : bugfix
  • 1.1.0: no-explode
    • Added NoExplode functionality
    • Fixed stupid typo about /mw subcommands
  • 1.0.0 : Initial release


Copyright (C) 2015 Alejandro Liu
All Rights Reserved.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <>.

What's new §
  • Fixed #27
  • Fixed #29
  • small code update
  • Added support for PocketMine-MP 4
      • INFORMATION: This is a beta version
  • Updated syntax for PHP 7.4
  • Merge pull request #1 from poggit-orphanage/dev
    • Pull Changes from Poggit Orphanage
  • Merge pull request #6 from PrimeGamesDevTeam/Fix-WpMotdMgr
    • Fix Missing Import in WpMotdMgr
  • Removed eval() completely
  • Restored 'death-save-inv' config option; defaults to true to preserve previous behaviour
  • Security update
  • WpMotdMgr: Add missing import.
  • Merge pull request #3 from edwinyoo44/dev
    • Fix protect: lock not working
  • Version bump
  • Fixed survival inventory enchantments
  • Untested updates for Scheduler nuke #2213 (9644766df3c69)
  • Updated for PMMP PocketMine 3.0.0
  • Updated for API v3.0.0-ALPHA12
  • Version bump for Poggit
  • API version bump, untested
  • Bumped version
  • Formatting
  • Updated Survival Inv save for API changes
  • Version bump
  • Updated for 3.0.0-ALPHA11, version bump
  • API version Bump
  • Bumped version
  • Use player.dat to preserve survival inventory, including for players with creative inventory on server restart
  • Because poggit
  • Oops, should be in config
  • Because poggit
  • Do not use count(string) with PHP 7.2
  • Fixed return types
  • Updated for API version 3.0.0-ALPHA7
  • tested with 3.0.0-ALPHA8

Bumped API version

Added Keep Inventory config option: death-save-inv

Merged updates to Aliuly Common library, removed debug, fixed wp.banitem.exempt permission

using v3.0.1
27 Jul 23
hi this is a good plugin you could create worldguard
using v2.3.14
11 Nov 22
I can still place water and lava when locking the world
using v2.3.14
09 Sep 22
gm-save-inv does not work, the server crashes when changing the gamemode
using v2.3.13
08 Aug 22
Just as buggy as in PM3
using v2.3.11
14 Mar 22
Banitem and bancmd crash
Please open a issue on github.
using v2.3.8
30 Jul 21
some sub commands are missing..
using v2.3.8
20 Oct 20
Bug - players with locked world can place water or lava buckets
using v2.3.8
13 Oct 20
using v2.3.8
14 Aug 20
Overrides iprotect please fix
using v2.3.8
07 Aug 20
using v2.3.8
26 Jul 20
using v2.3.8
28 Apr 20
Help me,I Can't banitem Lava block You can fix?????
using v2.3.8
22 Jan 20
11/10 that bancmd woaaaaaaaaaaa
using v2.3.8
04 Sep 19
In the description it says that you can set unbreakable|breakable blocks per world, which is the only reason I downloaded this. But the sub-command does not exist??? Please help.
using v2.3.8
09 Jul 19
the command to set a gamemode per world does work please fix
using v2.3.8
02 Jul 19
Great Plugin! What is MOTD though?
using v2.3.8
24 May 19
I love this plugin but i protect my world and non op people can still place water but cant place or destroy anything else also add unbreakable blocks because its not a command when i go onto my server
using v2.3.8
15 Feb 19
Is there a way to deactivate the "you're not allowed to do that here" when you try to build in world where you can't???
using v2.3.8
19 Jan 19
the player can place water and lava pls fix
using v2.3.7
05 Jul 18
awesome plugin used it many years ago and now glad it is back! also thanks for the ''protect'' fix , i thought it had to do with another plugin interfering, keep up the good work!
using v2.3.6
25 Jun 18
Nice plugin, Thanks !
using v2.3.5-7
20 Apr 18
This plugin great! Please update to ALPHA12!! :D
using v2.3.5-7
13 Mar 18
using v2.3.5-6
11 Jan 18
nice plugin, works very well

Reply to review by :

/ 5
Supported API versions
Producers §
  • Collaborators:
    • @Awzaw
  • Contributors:
    • @95CivicSi
    • @ItzStarlxy
    • @SOF3
    • @SuperYYT
    • @alejandroliu
    • @edwinyoo44
    • @jasonwynn10
    • @supercrafter333
License §
Anti-Griefing Tools
Admin Tools
API plugins

You can leave one review per plugin release, and delete or update your review at any time

/ 5