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.
Got a question or found some random bug? Check the documentation!
Got a problem or bug you can reliably reproduce? Or a feature request? Report it on the issue tracker!
Also, you might be able to catch me/others on the #GriefPrevention IRC channel for help (please state your question and exercise patience if you use this option).
Downloads for older Minecraft Versions
You may also view recent update notes on Github
The Manual
Feature List
Yes, everything is customizable.
- 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!
http://www.spigotmc.org/resources/griefprevention.1884/
Got a question or found some random bug? Check the documentation!
Got a problem or bug you can reliably reproduce? Or a feature request? Report it on the issue tracker!
Also, you might be able to catch me/others on the #GriefPrevention IRC chat channel for help (please state your question and exercise patience if you use this option).
-
View User Profile
-
Send Message
Posted Jan 4, 2014@Lyndon321 About what Lyndon321 said regarding " where players can make animals in a claimed area bleed to death because of a feature in mcMMO". This was happening in 7.7 version too (when in Minecraft 1.5.2), and in older versions of Grief-Prevention, too. A bad player goes to the claim of his enemy in the game and kills all animals (inside the claim of the other player, and without trust). Most used with swords and axes. I think the name of the hability in mcMMO is "Serrated Strike". https:github.com/mcMMO-Dev/mcMMO/wiki/Swords http://mcmmo.wikia.com/wiki/Serrated_Strike#Serrated_Strikes If some support with this skill in mcMMO can be implemented, it would be very useful. Thank you.
-
View User Profile
-
Send Message
Posted Jan 4, 2014@Pinkishu
/Accesstrust > They can use buttons and levers but only those.
/Containertrust > They can use chests, enchanters, brewing stands and things like that in ADDITION to buttons and levers
/Trust > They can build and alter the claim, including everything from container and access trust.
If you want them to be able to access chests and use stuff but not destroy anything use, "/containertrust public" to enable that.
-
View User Profile
-
Send Message
Posted Jan 4, 2014Is there a way to accesstrust everyone? Like when I want everyone to be able to access chests on a certain claim but not mine them up..
-
View User Profile
-
Send Message
Posted Jan 3, 2014Is there a command to unmute a muted player?
-
View User Profile
-
Send Message
Posted Jan 3, 2014Is there anyway to add support with mcMMO?
We have an issue where players can make animals in a claimed area bleed to death because of a feature in mcMMO. The hit doesn't work but the animals will bleed out as per the mcMMO feature causing them to die.
-
View User Profile
-
Send Message
Posted Jan 3, 2014Is there any specific reason doors let everyone through now?
GP build 235; Spigot build 1225
-
View User Profile
-
Send Message
Posted Jan 3, 2014Is it possible to make a utility (External from bukkit or not, I don't care), and have it migrate SQL stored data to flatfile? I know the plugin already migrates flat to SQL. Reason I ask is that for some reason most of my subclaims get reverted/deleted on EVERY reload or restart. GP also has a tremendous load time (presumably because of the SQL connections), and usually fails to disable (same reason I'd guess), and I think it's not successfully pushing SQL queries, and I'd rather not lose all claim data by reverting to flat file at this point, and I'm extremely exhausted of re-creating tons of subclaims and trusting people every day, considering it is still rather laggy to do so when using SQL. Thanks!
-
View User Profile
-
Send Message
Posted Jan 3, 2014Whats the in game command to give players claim blocks?
-
View User Profile
-
Send Message
Posted Jan 2, 2014Updated to the beta build. I have the permission node griefprevention.admin.* but I am not able to use /trustlist inside claims that I do not own.
Also, doors are able to be opened in claims without /accesstrust
-
View User Profile
-
Send Message
Posted Jan 2, 2014@meiamone
I had a same problem with removing subclaims. In the file 'config.yml', try changing the option 'DeleteWithUnrecognizedOwner ' from the ' true ' to ' false '.
-
View User Profile
-
Send Message
Posted Jan 2, 2014The subdivisions within adminclaims are vanishing, and it seems to have something to do with the way adminclaims are made without using a playername, and subdivided claims seem to be always expecting one. When the server restarts and the adminclaim having subdivided claims in it is read without having a playername in the subdivision, the subdivision is removed. I included my case study on Ticket 467.
-
View User Profile
-
Send Message
Posted Jan 2, 2014@xbenas it works with 1.7.2
Very nice plugin man love it. A lot of thought went into creating this plugin. Replaced a lot of my plugins with it. When my server is up could you add it to your official server list? Feel free to Check it out when its open to the public.
-
View User Profile
-
Send Message
Posted Jan 2, 20141.7.2 support when?
-
View User Profile
-
Send Message
Posted Jan 2, 2014@jcbjoe
Open a ticket, make note of your Bukkit (or Spigot) build number as well as what version of GP you're running. Pastebin of permission nodes would also help, as it seems they have some permissions they aren't supposed to have in your setup.
-
View User Profile
-
Send Message
Posted Jan 1, 2014@Wisteso
Will you be addressing the tasks being piggy with CPU time in the new version coming out? Currently, on my system, your EntityCleanupTask and CleanupUnusedClaimsTask tasks are taking (on average) 82ms and 421ms to complete (respectively). PlayerQuitEvent and PlayerJoinEvent handlers are taking about 20ms on average...
I cannot seem to find it but there was either a ticket or perhaps a PM conversation in which we addressed some of those performance issues. Particularly the ClaimCleanupTask. I am uncertain if the EntityCleanupTask was changed to address that same problem. This was post 7.7, which according to your timings is what you are using. Specifically ClaimCleanupTask was changed to process 1 claim rather than a certain percentage of claims. the calculation on a claim could occasionally be quite intensive (particularly when ti calculates investment scores) so this would cause lag issues. In that particular users case, they had so many claims that it actually took long enough for the task to run that by the time it finished it was time to run it again, which basically killed the server entirely. It was more or less the end result of the sort of thing you are seeing scaled up to far more claims.
Perhaps removing garbage collection calls from your code would help timings. Even if your code tends to cause Java to bloat it's memory usage, there are plugins and server builds that address that problem.
Those were pretty much the first thing I removed when I was looking into it, while swearing under my breath. The JVM knows better than we do when it's best to perform a GC, after all.
I'd be willing to help optimize the slow events/tasks if you need help since I am proficient with Java.
If you can get similar timings with the latest dev build, on a similarly configured server, that could help. the actual execution time hasn't caused problems for a while, but I believe the performance changes have caused claims to remain uncleaned for longer periods of time. (It processes fewer claims per iteration so if there are around 300 claims in a world it will take an entire day for them all to be checked to see if they need cleaned.
I haven't looked at EntityCleanup since I commented out the System.gc() so it may still be causing issues. It could probably be changed in a similar way to the Claim cleanup such that it will check a given number of entities rather than a percentage thereof.
-
View User Profile
-
Send Message
Posted Jan 1, 2014@confuser
You already have the maven repo plugin installed http://build.yu8.me:8080/plugin/repository/everything/ its already setup for ProtocolLib.
Correct. I Didn't install it and I don't know how to utilize it. I just fumbled around and it might show up if I approve a build as a maven repo but The less time I even read the word "maven" the better.
That event worked perfectly well. bigscary had it documented on his jdocs site
The event was added by Tux2. It is not in the upstream repository (https://github.com/ryanhamshire/GriefPrevention/).
Based on the commits it looks like it was in 7.7 however I specifically recall them not being fired when I created a test harness dependent plugin. Either way, since they were added After Bigscary retired and passed it on the Tux2, I don't see how they could be on his jdocs site.
When I did fix them so they were fired, it was notable that NewClaimCreated implemented Cancellable however it was trivial for a handler to throw things for a loop if it resizes or otherwise creates a claim within it's handler. Additionally, the Claim object wasn't truly valid when the event was fired since it was not within the dataStore and did not have a valid ID until addClaim() was called; however, the reason addClaim wasn't being called was because the event's Cancellable was being used to determine whether to actually cancel the addition. Additionally, the way it was written made it implicitly not re-entrant- if the event handler created a claim or resized a claim, the claim for which the event was first fired would now already exist in the dataStore, so it would overwrite the existing claim, but both claims would remain in the in-memory dataStore.
This latest update has caused more hassle than was needed.
Indeed. I've seriously considered rolling everything back to 7.7 and adding some crappy support for horses using overly long configuration nodes that caused special case logic to be run in a manner that was heavily unconfigurable by design, to fit in with everything else. More fool me for completely refactoring how claims are loaded such that modded servers using GP can also have claims in Mystcraft or other modded worlds and reworking configurations for added flexibility as well as per-world capability.
We had to completely re-configure the configs on a per world basis.
I'd argue that "Your 7.7 configuration files will not be used." effectively says that.
There is no warning of this needing to be done on the change log nor in the console.
"Your 7.7 configuration files will not be used." If it's too much of a bother you can just use 7.7 still. In fact the reason it duplicates the folder for 7.8 is because I knew folks were going to expect it to be a silent upgrade- like most other versions. This way if they realize they didn't put enough time aside for essentially setting up a new plugin, they can just plop back the 7.7 jar and go with that until they cna make the time (or, alternatively, until they find another plugin that meets their needs better). There have also been forks created which I would guess add the aforementioned new version support by simply adding a few configuration nodes to the previous version, while remaining blissfully uncompatible with either Forge mods that create worlds or even Bukkit plugins that create worlds (which simply might not matter).
Nor does it state on the 7.8 page that configs do not automatically migrate over which is unexpected as the claims do migrate.
"Your 7.7 configuration files will not be used.". I considered stating it more explicitly on the 7.8 configuration page but I figured that was pretty much covered by "GriefPrevention will revamp almost entirely the way configurations are handled.".
but the sheer lack of these changes is extremely unhelpful.
??? I can only guess this is supposed to say "lack of documentation of these changes". And I would tend to agree.
Aside from some missing documentation added since the build for which the documentation page was last updated, the only 'problem' is that I haven't effectively re-written some of the guides that are present for 7.7 and earlier.
And fundamentally, I can't. those guides were written by BigScary, who wrote GP primarily for himself because he ran a server.
[i]I've never run a bukkit server[/i]. Nor do I have the inclination to do so; and I hardly even play Minecraft at all these days and when I do it's SSP; basically in terms of writing guides geared towards what admins setting up the plugin would need to do, I am not qualified to write those documents. I can document the permissions, commands, and configuration as well as how the plugin works, but I cannot reinterpret that information into the style of guide we have for 7.7 very easily.
Permissions have changed completely, even after reading the 7.8 migration guide I am still none the wiser as to how to allow our staff to delete claims, giving them the permission through pex griefprevention.claims.delete seems to make no difference.
The first permission discussed in the document is "griefprevention.commands.<CommandName>" which is likely the one you omitted. The permission in question would be griefprevention.commands.deleteclaim, (if you mean the /deleteclaim command, of course).
There is really no need for such passive aggressive responses.
Nothing I said in that response was passive aggressive. However it would seem some of my statements with regard to the NewClaimCreated event were possibly erroneous, as it may have been being fired. That said, It was fundamentally broken in that it was a dataStore disaster waiting to happen, as well as effectively passing a Claim instance that was effectively in Limbo. (Also: People mentioned this issue both in IRC as well as through tickets, so I addressed it.
Before this update, I could not mention even one fault with this plugin.
Then by all means, continue to use 7.7. :) I would suggest finding one of the forks which (I would hope by this point) adds Horse support to the earlier version, as I mentioned earlier.
-
View User Profile
-
Send Message
Posted Jan 1, 2014Devs:
Will you be addressing the tasks being piggy with CPU time in the new version coming out? Currently, on my system, your EntityCleanupTask and CleanupUnusedClaimsTask tasks are taking (on average) 82ms and 421ms to complete (respectively). PlayerQuitEvent and PlayerJoinEvent handlers are taking about 20ms on average...
All four of the above cases are taking far more CPU time than any plugin should (none of my other plugins come even remotely close to that usage). Since the tasks are running synchronously, they will always cause a big lag spike whenever they run since a tick must complete in less than 20ms to not cause lag.
See http://aikar.co/timings.php?url=e759602fb7635ff34a91274766fe6d3d if you want more information on the timings. We run a server that generally has 5-35 people on any any given time and claim usage is kept fairly conservative.
Perhaps removing garbage collection calls from your code would help timings. Even if your code tends to cause Java to bloat it's memory usage, there are plugins and server builds that address that problem. I'd be willing to help optimize the slow events/tasks if you need help since I am proficient with Java.
Regards
-
View User Profile
-
Send Message
Posted Jan 1, 2014Players can steal from frames using fishing rod.
-
View User Profile
-
Send Message
Posted Jan 1, 2014I can't give the permission /ignoreclaims to someone, please fix?
-
View User Profile
-
Send Message
Posted Jan 1, 2014Would be cool if there was a way to change the restore nature block size in game for those restores in between a claimed structure and a non claimed one. EX. village and a claimed house so you don't destroy a public village when there is a claimed house next to one. even if not a way to change in game would be cool to have it in config instead of always a 10x10 radius.