Grief Prevention


AUTOMATICALLY PREVENTS ALL FORMS OF GRIEF, including build/break, theft, spam, fire, spawn camping, lava dumping, chat trolling, advertising and more, so you don't have to undo any damage after the fact. It even teaches players how to use it so you don't have to! No configuration or database required. Stop responding to grief and prevent it instead. Grief Prevention will solve your grief problems without requiring you to manage a roster of trained administrators, juggle 10 different anti-grief plugins, take away cool standard game features, publish a training manual / tutorial for players, or add explanatory signs to your world. You can also choose to integrate PvP elements into build design to finally get a PvP experience befitting a sandbox game about creative building.

Grief Prevention stops grief before it starts automatically without any effort from administrators, and with very little (self service) effort from players. Solve all your grief problems with a single download, no database, and no configuration step.

Official Servers (Try it for yourself!)

You can experience this plugin for yourself (as a player) by joining this public server. :) I maintain this server personally, which helps me catch bugs and spot opportunities for new features and improvements. Have fun!

Downloads by Minecraft Version

Please choose the version that matches your Minecraft server version! :)

The Manual

Feature List

Yes, everything is customizable. See Setup and Configuration.

  • No database or world backups required.
  • Extremely efficient CPU / RAM usage.
  • Land claims are easy to manage.
    • Players create and manage their own land claims, so you don't have to do it for them.
    • New players get automatic claims around their first chests so they're protected even if they don't know how to create land claims yet.
    • Players who ask for help in chat get an instant link to a demonstration video.
    • Resizing claims and creating new claims is done with ONLY the mouse, no slash commands (slash commands are also available).
    • When a player appears to be building something nice outside his claim, he's warned and shown his claim boundaries.
    • Claim boundaries are easy to see, and don't require any client-side mod installation.
    • Extremely easy-to-remember, single-parameter slash commands for giving other players permissions.
    • Claim subdivision and granular permissions are available to organize towns and cities. Watch this video.
  • It's IMPOSSIBLE to grief a land claim. Watch this video.
    • No building or breaking.
    • No stealing from ANY containers.
    • No sleeping in beds.
    • No button/lever usage.
    • No adjusting redstone repeaters or other configurable blocks.
    • No pushing blocks in with pistons.
    • No pulling blocks out with pistons.
    • No TNT damage (including cannons).
    • No creeper damage.
    • No explosive damage from other plugins, like Extra Hard Mode or Magic Spells.
    • No enderman/silverfish block changes.
    • All doors may be automatically locked (optional, see config file).
    • No killing or luring animals away.
    • No stealing water (e.g. buckets).
    • No trampling crops by players, animals, or monsters.
    • No building overtop, all claims reach to the max build height.
    • No placing or breaking paintings / item frames / armor stands, etc.
    • Fluids will not flow into a claim from outside.
    • No placing blocks via TNT/Sand/Gravel cannon.
  • Pets and death loot are protected.
    • Players can't pick up what another player dropped on death without permission.
    • All types of pets are protected everywhere, even outside of land claims (can be configured per-world).
  • Excellent anti-spam protection
    • Warns, then mutes, then may kick or ban spammers (configurable - you choose).
    • Most spammers get only one message out before they're muted.
    • Blocks server advertising (IP addresses).
    • Blocks repeat message spam.
    • Blocks ASCII art (ex. Nyan Cats) spam.
    • Blocks similar message spam.
    • Blocks unreadable (gibberish) message spam.
    • Blocks CAPS.
    • Blocks macro spam (very different messages in quick succession).
    • Blocks login/logout spam, even when the spammer has multiple accounts.
    • Blocks death spam.
    • Blocks bot team spam.
    • Blocks slash command spam, including /tell, /emote, and any more you add.
  • Wilderness Protection and Rollback
    • Fire doesn't spread or destroy blocks.
    • Creepers and other explosions don't destroy blocks above sea level.
    • TNT doesn't destroy blocks above sea level.
    • No planting trees on platforms in the sky ("tree grief").
    • Instant, point and click nature restoration for not-claimed areas. Watch this video.
      • Insanely easy and fast fixes for penises, swastikas, and anything else unsightly.
      • Point at what you don't like and click, and it's fixed. Even from far away.
      • Never accidentally changes blocks inside land claims.
      • No need to investigate who built it, who broke it, or when they did it.
      • Doesn't matter if the griefer built with "natural" blocks, it will still be fixed.
      • No database.
      • No backups.
      • No chunk regeneration (it's dangerous for technical reasons).
      • Fixes bad chunk generations, like floating islands. It will be better than new.
      • Fills holes, even next to water to correct big spills.
      • Smooths noisy terrain.
      • No griefer construction is safe. If it's unnatural enough to be noticeable by players, it will be removed or filled-in.
  • Land claims can't be used as a griefing tool.
    • It's impossible to get a player "stuck" inside a land claim.
    • Land claims beyond the first require a golden shovel.
    • Minimum claim size prevents sprinkling small claims to annoy other players.
    • Max claim allowance grows with time played on the server, and can't be cheated by idling.
    • A simple administrative slash command will instantly remove all of a griefer's claims, no matter where they are.
  • Catches clever griefers.
    • Enhances the /ban command to ban ALL a griefer's accounts (not just his IP address).
    • Logs sign placements.
    • /SoftMute command to shut down chat trolls without them knowing they're beaten.
    • Abridged chat logs make reviewing what happened while you were away super-quick and easy.
    • Automatically mutes new-to-server players who use racial or homophobic slurs.
  • PvP Protections.
    • When PvP is off, no setting fire or dumping lava near other players.
    • Absolutely bullet-proof anti-spawn-camping protection including bed respawns, which requires no configuration.
    • No logging out, stashing items, or using plugin teleportation to escape combat.
    • Optional siege mode, to answer players who hide in their claimed houses to avoid combat.
  • Supports your server growth.
    • Permit players to exchange server currency for claim blocks (requires configuration and other plugins).
    • Grant claim blocks automatically for votes, donations, etc (console command provided, other plugins required).

Please Vote for Grief Prevention

I've also posted Grief Prevention on the Spigot site, where plugins are ranked based on reviews. If you love GP, please take a couple of minutes to give GP your rating and leave a short review. Better rating and positive reviews will help server owners who look for plugins on the Spigot site make the safe choice (GP) instead of downloading something sketchy or incomplete. :) Thanks so much for all your support!

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of bikkit_User6372 bikkit_User6372 Feb 11, 2016 at 23:30 UTC - 0 likes


    Great plugin. But I keep getting blocked from my own server when I login and out:

    "Sorry, there are too many players logged in with your IP address"

    I have to restart the server in order to log back in.

    Can you put an option to completely remove this IP checking? Unless it's a bug?


  • Avatar of mirolm mirolm Feb 11, 2016 at 06:01 UTC - 0 likes

    @crane0002: Go

    Yo can make a normal claim and convert it to administrative with calling /transferclaim without nick to transfer to. Other way is to switch modes basic -> admin claims with /adminclaims and do as usual. Then to return to basic mode with /basicclaims

    I'm not sure if it will work fine if you do not give other players any permissions, so i usually give /accesstrust public or /containertrust public. Do not give full permissions with /trust, because it will make possible for them to destroy your spawn.

  • Avatar of crane0002 crane0002 Feb 10, 2016 at 22:54 UTC - 0 likes

    @mirolm: Go

    how did you made an administrative claim?

  • Avatar of mirolm mirolm Feb 10, 2016 at 19:21 UTC - 0 likes

    @crane0002: Go

    In my server spawn is administrative claim. Just step inside and type:

    /transferclaim /accestrust public

  • Avatar of crane0002 crane0002 Feb 10, 2016 at 01:54 UTC - 0 likes

    Hello...i still dont know how this plugin works,but i made a spawn (i own a little server) and i claimed it..but people still can kill each other in the claimed zone...any help please?

  • Avatar of jahangir13 jahangir13 Feb 09, 2016 at 18:38 UTC - 0 likes

    <<reply 2717487>>

    Seems that there is only 1 row per player? Then you could use an INSERT...ON DUPLICATE KEY UPDATE. It inserts the row if it does not exist and updates it if it already exists.
    There is also the REPLACE command in mysql which does a bit more what you are doing. It deletes the old row before an insert if there is one already. If not it just inserts.
    Not sure about requirements of key definitions in the table structure or how you have it done in the code.

    Lol, or a trigger on the table which fires BEFORE INSERT. The trigger needs to check if there is already such an entry, and if this is the case it shall delete the row before inserting the new one.

    Last edited Feb 09, 2016 by jahangir13

    JDynmapGriefPrevention: GriefPrevention Addon with Dynmap Support (if available)
    JWebConsole: Colored WebConsole for Minecraft (PHP) - nice, simple, useful
  • Avatar of bigscary bigscary Feb 09, 2016 at 17:48 UTC - 0 likes

    @gpd209: Go

    Glad to hear it's working well for you. :)

    @mirolm: Go

    Yet another example of how SQL baffles me. The statement executed right before that insert is to delete any row with that UUID if it exists. I guess maybe the insert somehow starts running before the delete finishes? I'll see what can be done.

    statement.execute("DELETE FROM griefprevention_playerdata WHERE name='" + playerID.toString() + "';");
    			statement = databaseConnection.createStatement();
    			statement.execute("INSERT INTO griefprevention_playerdata (name, lastlogin, accruedblocks, bonusblocks) VALUES ('" + playerID.toString() + "', '" + dateString + "', " + playerData.getAccruedClaimBlocks() + ", " + playerData.getBonusClaimBlocks() + ");");

    EDIT: Looks like since this method is async, it can be running in parallel with itself. So we could get two deletes followed by two inserts. Since they're very close together in terms of timing, chances are they're the same data so without the constraints, two twin rows. On the next insert, both would be deleted so it auto-corrects. I think I'm okay with this. :)

    @iamnotla: Go

    Thanks for sharing!

    Last edited Feb 09, 2016 by bigscary
  • Avatar of mirolm mirolm Feb 08, 2016 at 17:13 UTC - 0 likes

    Hey @bigscary as i put uniq constraints (they do not matter but they help to spot errors) i noticed that plugin tried to insert duplicate value in a place it should not exist :)

    Key is on I can provide more logs if needed.

    Have a nice day :)

    Last edited Feb 08, 2016 by mirolm
  • Avatar of iamnotla iamnotla Feb 05, 2016 at 16:59 UTC - 0 likes

    Traduction en francais ! (Faite par moi même, peut être incorrecte, donc dites moi ce qu'il faut modifier !)

  • Avatar of gpd209 gpd209 Feb 05, 2016 at 00:17 UTC - 0 likes

    Hi there. I'm new to Minecraft - trying to get up to speed so I can join my son. Just got a hosted server not long ago. Installed Grief Prevention. I love how it works. It's already prevented some serious squabbles between my son and his friends.

    Last edited Feb 05, 2016 by gpd209


Date created
Dec 14, 2011
Last update
Feb 04, 2016
Development stage
GNU General Public License version 3 (GPLv3)
Curse link
Grief Prevention
Recent files
  • R: 13.9.1 for 1.8.3 Feb 04, 2016
  • R: 13.9 for 1.8.3 Jan 31, 2016
  • R: 13.8 for 1.8.3 Jan 29, 2016
  • R: 13.6 for 1.8.3 Jan 16, 2016
  • R: 13.5.2 for 1.8.3 Jan 12, 2016