Grief Prevention

Grief Prevention

AUTOMATICALLY PREVENTS ALL FORMS OF GRIEF, including build/break, theft, spam, fire, spawn camping, lava, treetopping and more, so you don't have to undo any damage after the fact. 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 creativity.

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.

Download the Latest Build Here

These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Because the BukkitDev staff has quit, they probably never will be, so go ahead and use them. :)

http://dev.bukkit.org/media/images/76/965/gp_video.png

Official Servers

You can experience this plugin for yourself (as a player) by joining any of these public servers. :) We maintain these servers personally, which helps us catch bugs and spot opportunities for new features and improvements. Have fun!

Feature List

Yes, everything is customizable. See administrative details.

  • No database or world backups required.
  • Extremely efficient CPU / RAM usage.
  • Land claims are easy to manage.
    • New players get automatic claims around their first chests.
    • 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.
    • 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 using crafting equipment.
    • No sleeping in beds.
    • No button/lever usage.
    • No adjusting redstone repeaters.
    • No pushing blocks in with pistons.
    • No pulling blocks out with pistons.
    • No TNT damage.
    • No creeper damage.
    • No damage from TNT cannons.
    • No explosive damage from other plugins, like Extra Hard Mode or Magic Spells.
    • No enderman block changes.
    • All doors may be automatically locked (optional, see config file).
    • No killing or luring animals away.
    • No stealing water.
    • No trampling crops, by players, animals, or monsters.
    • No growing trees inside the claim by planting outside.
    • No building overtop, all claims reach to the max build height.
    • No placing or breaking paintings / item frames.
    • Fluids will not flow into a claim from outside.
  • Excellent anti-spam protection
    • Warns, then mutes, then may kick or bans (configurable) spammers.
    • Most spammers get only one message out before they're muted.
    • Almost no false positives.
    • Blocks server advertising.
    • 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 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.
    • Griefers can't dump water or lava above sea level, unless they claim the land first.
      • The fluid will not flow out of the claim.
      • Deleting the claim removes the fluid to prevent spillage.
    • 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.
    • 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.
    • It's impossible to get a player "stuck" inside a land claim.
    • 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.
    • Optionally, logs whispers and opens them to administrative eavesdropping.
  • PvP Protections.
    • When PvP is off, no setting fire or dumping lava near other players.
    • Absolutely bullet-proof anti-spawn-camping protection, 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).

Troubleshooting and Common Questions

Save yourself some time! Check this page for the answer to your question.

Compatibility with non-CraftBukkit Servers

This applies to both heavy mods that change the core game (Tekkit, Feed the Beast, etc) and also unofficial variations on CraftBukkit like Spigot and CraftBukkitPlusPlus.

We design, implement, and test Grief Prevention for Official CraftBukkit. There simply isn't enough time for us to also test on all the other popular platforms, or investigate bugs reported on those platforms, or even become experts on those platforms (there are SO many mods and mod platforms out there!). If you think you have a bug, PLEASE don't report it unless you can also reproduce the problem on CraftBukkit. If a bug happens ONLY on a non-CraftBukkit server, then your contact should be the platform or mod developer, because their emulation of CraftBukkit is a little off leading to accidental behavioral changes in CraftBukkit plugins, or their mod doesn't follow the golden rule (see below).

Ultimately, it's likely that the "fix" for a grief problem on a non-CraftBukkit server will be to disable/uninstall/reconfigure the mod that makes the grief possible. That was certainly the case for most of Tekkit Classic in my experience, and I suspect it will be the case for many mods who don't strictly follow the golden rule, "ask plugins permission before you change anything".

We want everyone everywhere to be worry-free about grief, but we'd need a team of full-time developers to pull that off. Unfortunately, we have a only couple of part time developers, and there's no money in plugin development to hire anyone (or even pay ourselves). So with the time we have, we do what we can - do our best work on the main platform and hope other platforms will be similar enough to CraftBukkit to also run Grief Prevention effectively.

In-Depth Topics

Extensions

There is a DynMap plugin for GriefPrevention, which adds markers for player claims to your DynMap.

If you want to your players to buy/sell/lease claims, then you can install the Real Estate plugin for GriefPrevention. This Plugin has been updated by SuperPyroManiac to work with more recent GriefPrevention Builds. You can find his version of GP-RealEstate here.

GriefPrevention Flags adds flags to your grief prevention claims for PvP (admin claims only), and Mob spawning at the moment. (More features in the works!)

Flags Is a fork of GP-Flags that also supports other Region/claim type plugins, as well as adding several other features, such as support for Subdivisions, Multiple Worlds, and even flags on a world itself.

HardcoreClaims is a plugin that will allow a player's claims and GP information to be wiped when they die. thus every time a player dies they are set back to square one. It also integrates with Flags to allow per-claim control over whether a claim is deleted.

More Great Plugins!

  • Anti-XRay
    • Limits how quickly players can mine valuables, based on their play time / values mined ratio.
    • Keeps your valuables in the ground, so non-cheating players can find them (unlike ore loggers).
    • Practically free to run, unlike the tremendously expensive Orebfuscator.
    • Most legit players won't notice, but xrayers will ragequit and move on.
  • Population Density
    • Automatically assigns new players to wilderness where they'll find other new players and plenty of space, wood, and ore.
    • Optional teleportation system which can't be abused by players to escape combat or save them from being lost.
    • Login queue to guarantee fairness when the server is full.
    • Optional reserved spots for administrators.
    • Automatically removes idle players when the server is nearly full.
  • EnderHoppers
    • Allows the use of Hoppers with EnderChests inside a Claim
    • Items are taken from and added to the EnderChest inventory of the Claim owner
    • Supports The Better Ender Chest Plugin

Command Reference

Player Commands

CommandDescriptionAliases
/AbandonClaimDeletes the claim you're standing in.
/ClaimExplosionsToggles if explosions are allowed in the claim.
/TrustGives another player permission to edit in your claim./t
/UnTrustRevokes any permissions granted to a player in your claim./ut
/AccessTrustGives a player permission to use your buttons, levers, and beds./at
/ContainerTrustGives a player permission to use your buttons, levers, beds, crafting gear, containers, and animals./ct
/TrustListLists the permissions for the claim you're standing in.
/SubdivideClaimsSwitches your shovel to subdivision mode, so you can subdivide your claims./sc
/BasicClaimsPuts your shovel back in basic claims mode./bc
/PermissionTrustGrants a player permission to share his permission level with others./pt
/Untrust AllRemoves all permissions for all players in your claim.
/AbandonAllClaimsDeletes all of your claims.
/BuyClaimBlocksConverts server money to claim blocks./BuyClaim
/SellClaimBlocksConverts claim blocks to server money./SellClaim

Admin Commands

All of the permissions below start with "griefprevention.". For example, "restorenature" is "griefprevention.restorenature".

CommandDescriptionPermissionAliases
/AdjustBonusClaimBlocksAdjusts the number of claim blocks available to a player.adjustclaimblocks/acb
/RestoreNatureSwitches the shovel to restore nature mode.restorenature/rn
/RestoreNatureAggressiveSwitches the shovel to aggressive restore mode.restorenatureaggressive/rna
/RestoreNatureFillSwitches the shovel to fill mode.restorenatureaggressive/rnf
/IgnoreClaimsToggles claims override.ignoreclaims/ic
/AdminClaimsSwitches the shovel to administrative claims mode.adminclaims/ac
/BasicClaimsSwitches the shovel back to basic claims mode./bc
/DeleteClaimDeletes the claim you're standing in.deleteclaims/dc
/DeleteAllClaimsDeletes all claims belonging to a specific player.deleteclaims
/DeathBlowKills a player, optionally giving his items to another.deathblow
/ClaimsListLists a player's claims and claim block details.adjustclaimblocks

Permissions

PermissionDescription
griefprevention.deathblowAllows the use of the /deathblow command
griefprevention.restorenatureAllows the use of the /restorenature command
griefprevention.restorenatureaggressiveAllows the use of the /restorenatureaggressive command
griefprevention.lavaPlayers with the permission may place lava anywhere they have build permission, but still not near other players.
griefprevention.adminclaimsAllows creating, deleting and building for an admin claim
griefprevention.ignoreclaimsAllows the player to ignore claims using the /ignoreclaims command
griefprevention.deleteclaimsAllows the player to delete and resize other player's claims
griefprevention.createclaimsAllows players to create additional claims when Claims.CreationRequiresPermission is set to true
griefprevention.claimsThis permission is granted to everyone by default, and is necessary for the claims-related slash commands.
griefprevention.buysellclaimb­locksThis permission is granted to everyone by default and allows the player the ability to buy/sell claim blocks
griefprevention.adjustclaimblocksAllows the player to adjust player's bonus claim blocks amount
griefprevention.eavesdropAllows the player to see PMs
griefprevention.admineavesdropOnly in versions for MC 1.5 and up Allows a player to see PMs from players with the griefprevention.eavesdrop permission as well.
griefprevention.spamAllows the player to bypass the spam protection
griefprevention.loginspamMC 1.5 and up Allows the player to bypass the login spam protection

Performance

According to the Bukkit wiki, a CraftBukkit server should have 1GB of RAM per 20 player slots. If you follow that guidance and run a reasonable number of plugins, I guarantee that you will not have a problem with lag or memory usage. I can say this with certainty because I'm running a middle-tier (as in, average pricing) hosted servers with the recommended RAM/players ratio, and I run several additional plugins with no issues. This has been my experience over several months running anywhere from 1 to 4 servers with an active player population.

It is normal for your server to spend more time running Grief Prevention code versus other plugins. After all, GP is watching all your players all the time, and is keeping them all happy while not bothering you. Grief Prevention is extremely efficient at doing its job - performance has been and always will be the most important factor in design and implementation decisions, because the only thing worse than a griefy server is a laggy server.

Of course any server owner will eventually have a problem if he pushes his hardware too much, for example by running lots of heavyweight plugins. If you do have a problem, the solutions are to either add more RAM/cpu power, re-prioritize your plugins to drop a few you don't desperately need or reduce your max players.

Project Status and Future

From BigScary: I've re-joined the project. Yes, I know many of you had a very bad experience with the beta builds, there were many bugs. We've rolled-back the buggy features which were added after I left the project, and then I added necessary anti-grief features for new game elements (leashes, hoppers, mounts). UUID support is next on my list.

Because all of the Bukkit staff have simultaneously quit the project, it's extremely unlikely that Bukkit will ever be updated to support Minecraft 1.8 or later servers. Also, there's a legal issue which resulted in all craftbukkit builds being removed from the internet in general. The law is slow, so that makes future bukkit versions even less likely.

Due to these circumstances, my current plan is to wait for a new mod platform to emerge (spongepowered.org is looking promising), then build a new grief prevention plugin for that new platform. Until then, Tux and I will perform the minimum maintenance needed for this project, which includes fixes for grief (including UUID support), bug report investigations, and bug fixes. There will be no feature adds (like new config options or per world configs).

How to Upgrade to 8.0+ Builds

Starting with GriefPrevention 8.0.3, you can keep any claims and player data that was created by the broken "beta" builds. You just have to customize your config file again (a new config.yml will be generated in a folder named "GriefPreventionData").

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

  • Avatar of fungreenfox fungreenfox Feb 20, 2014 at 23:09 UTC - 0 likes

    @pr4xt3roy: Go

    /giveclaim requires owners right the property. So he/she can only give own claim away.

    /transferclaim is an admin tool, can transfer any claim.

    Last edited Feb 20, 2014 by fungreenfox
  • Avatar of SuperPyroManiac SuperPyroManiac Feb 20, 2014 at 22:49 UTC - 0 likes

    This is weird, it seems to block only 1 thing from everyone including me with all permissions, whenever I post my own website it is blocked for "spam" yet I can post ANY other site.

    http://i1196.photobucket.com/albums/aa406/awesome130/Untitled_zps932188e4.png

  • Avatar of pr4xt3roy pr4xt3roy Feb 20, 2014 at 22:06 UTC - 0 likes

    Quick question...

    If an admin can transfer anyone's claim using /giveclaim, then what is the purpose of /transferclaim ?

    the way I understand it, /giveclaim would be for users and /trsnsferclaim for admins... but they seem to do exacly the same no?

    The only difference I see is that using /transferclaim without any parameter will transfer a claim into an admin claim. But /giveclaim could do that too (when you have proper permissino) and you would have one less command to worry about.

    No?

    -- pr4xt3roy [ Survival / Strong Anti-Grief / Build / Make Friends ]
    Minecraft Server IP: CapricaTown.net

  • Avatar of ViperViolist ViperViolist Feb 20, 2014 at 19:33 UTC - 0 likes

    Despite what is set in the config, players on my server are still able to PvP inside any GriefPrevention claims. Things like breaking blocks and even potion splash is still protected against in the claim, however. If a WorldGuard region is set to no pvp, they can't PvP there, so I'm fairly certain it has to do with the plugin... has anyone else had this issue, or is there something I'm not setting up correctly?

  • Avatar of scoutankybear scoutankybear Feb 20, 2014 at 12:50 UTC - 0 likes

    Does this work with votecatcher

  • Avatar of anfereon anfereon Feb 19, 2014 at 20:36 UTC - 0 likes

    OK there are a few things unclear to me:

    1. What is entity cleanup task?

    2. If I set "AllClaimDays: 40" and disable ClaimCleanup like so: ClaimCleanup: Interval: 300 Quantity: 5 MaximumSize: 25 MaxInvestmentScore: 100 Enabled: false Will claims still get removed after 40 days of inactivity?

    3. If a player creates his first claim with a chest and than resizes it. Will this claim still be considered as chestclaim (that gets removed after 7 days) or not?

    4. How exactly does this claim removing work? I just want to know about allclaimdays function. When does it check if claims are not used over 40 days? Because I do sometimes find claims that belong to player who didn't play for more than 40 days.

    5. Does a player have to build anything on a claim so it doesn't get automatically removed or is it enough for him to just log on the server?

    6. What if a claim belongs to player A and player B has a trust to build on it. Will the claim get removed if player A doesn't log on in 40 days even if player B is building things on player A's claim?

    I am currently using b213 and there are so many random bugs and claims that should be automatically unclaimed. I am also setting things up for a new server and am trying to use b277. Should I start with this build or can I expect problems in long term? This plugin was awesome till 7.8. Now there are just so many bugs an I have a really hard time using it. Please devote some more time fixing bugs. And ty for all the work you do :D

    Last edited Feb 19, 2014 by anfereon
  • Avatar of stgram stgram Feb 19, 2014 at 15:11 UTC - 0 likes

    Latest version 277 started spewing mysql syntax errors ocasionally. http://pastebin.com/2HZ8Zipy

    Last edited Feb 19, 2014 by stgram

    http://minecraft-mp.com/regular-banner-25773-6.png

  • Avatar of Marv55H Marv55H Feb 19, 2014 at 04:39 UTC - 0 likes

    Hello I have for 4 Server with bungeecord, i have installed griefprevention on one Server, but it the Permission won't work. I have griefprevention.* with Owner, but the player have griefprevention.claims and griefprevention.buysellclaimblocks. But the player cant do anything with these permissions. I will be happy if you can answer! I have skype: marv5games

  • Avatar of 15987632 15987632 Feb 19, 2014 at 01:44 UTC - 0 likes

    It would be cool if there was an option to turn off the setting so it protects all blocks vertically. So you would click the 2 corners kinda like world edit to make your claim. Therefore the blocks per hour earned would go literally per block not by every vertical column.

  • Avatar of CloakedAlien CloakedAlien Feb 18, 2014 at 21:36 UTC - 0 likes

    Also it seems to throw errors when people use minecarts to ride?

    [22:34:05 ERROR]: Could not pass event PlayerInteractEntityEvent to GriefPrevention v7.8 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:486) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:471) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:1068) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at net.minecraft.server.v1_7_R1.PacketPlayInUseEntity.a(SourceFile:55) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at net.minecraft.server.v1_7_R1.PacketPlayInUseEntity.handle(SourceFile:10) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] Caused by: java.lang.NullPointerException at me.ryanhamshire.GriefPrevention.PlayerEventHandler.onPlayerInteractEntity(PlayerEventHandler.java:2255) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.7.0_51] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [?:1.7.0_51] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_51] at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_51] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) [craftbukkit-1.7.2-R0.3.jar:git-Bukkit-1.7.2-R0.3-b3020

Facts

Date created
Dec 14, 2011
Categories
Last update
Sep 16, 2014
Development stage
Mature
License
GNU General Public License version 3 (GPLv3)
Curse link
Grief Prevention
Downloads
236,765
Recent files

Authors