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 Oct 8, 2014Alright, with the last update I still have negative claim blocks. It seems like, as stated below, a lot of players have their bonus blocks reset to zero. Also, with a lot of players, it says they have been offline for 365 days, which isn't true. That's probably why some players claims got reset.
-
View User Profile
-
Send Message
Posted Oct 8, 2014@bigscary
And the UUID conversion process seems to reset everyones claim blocks back to the default value, regardless of what it was before.
This is a player datafile before conversion:
and this is after:
Weird the last on date changed too. Also, is it normal that the old user file still exists? The process didn't finish due to the timeout issues I am having so that could have something to do with both of these issues.
Also might be useful for flat file to put their last known name in a comment or something. Would be much easier for seeing who the file belongs to. Man I wish mojang didn't make this UUID change.
-
View User Profile
-
Send Message
Posted Oct 8, 2014@bigscary
Superb, Have the errors regarding Siege & Dispensers been fixed?
-
View User Profile
-
Send Message
Posted Oct 7, 20148.2.1 Updates
Next on fix list:
@Ceees2
Check your logs - if due to inactivity, there should be a log entry for when the claim was auto deleted. Also are you in creative mode for that world? If so, that would explain why the claim was automatically restored after deletion.
@SPellegrom
By your description of the problem, I think it's fixed in today's version (see above). If not, tell me - that would indicate the reason for your problem is different.
@zlw0
I want it to be much faster - that does seem slow to me. I'm currently working on performance, including boot speed. Keep checking back for updated versions. As soon as I get these bug reports cleaned up, I'm back to perf again.
-
View User Profile
-
Send Message
Posted Oct 7, 2014@bigscary:
Filemode
-
View User Profile
-
Send Message
Posted Oct 7, 2014Same problem over here with negative claimblocks using GP 8.1.9. Relogging doesn't fix it. Using GP 8.1.8 for now with MySQL storage. Let me know if I can help with database dumps or the like.
-
View User Profile
-
Send Message
Posted Oct 7, 2014@bigscary
Allright, let me know if you've added a Java app profiler!
Edit: Well, I just realised I had the limit-pistons put on false again (I did that yesterday) and didn't change it this morning when updating to 8.2. I'll post another timings report tomorrow just to make sure you're not working on the wrong things. Sorry about that!
-
View User Profile
-
Send Message
Posted Oct 7, 2014@bigscary
Everything restored to nature. He built a castle and some farms. I had the function allClaimDays on 100 days, that might be the problem. Also he was online the day before I converted to UUID.
For the negative claimblocks, relogging does not work, neither does restarting the server. All players are suffering from the negative amount, might be due the fact I've used a beta build?
-
View User Profile
-
Send Message
Posted Oct 7, 2014@dutchrastacraft
Thanks, that's perfect for now. I'll hold onto this and come back to piston perf again after I get these newly reported data issues out of the way. Glad to see the overall time spent on GP is down by about half versus a couple of versions back, a very good result. Still more work to be done, though.
-
View User Profile
-
Send Message
Posted Oct 7, 2014Today's timings with 8.2: http://timings.aikar.co/?url=8516625
If they are not needed anymore (at the moment) please let me know :)
-
View User Profile
-
Send Message
Posted Oct 7, 2014Hey all, thanks for these comments. I've made notes about the problems and I will be looking into all of these.
@Lostwave
Trying to get the player's UUID from your local server data may be a time saver, I'll look into that.
Mojang allows for a "bulk" UUID request, I'm not sure it will solve your problem. I will look into that as well.
Waiting until the player logs in doesn't work because by then, the player may have changed his name. Also, we'd have to search all claims for his name as owner and in each level of trust on login, which would cause you big-time lag during play.
@Ceees2
About negative blocks, see if the player relogging fixes it. If not, it's probably the known issue I'm tracking and trying to fix right now.
What does "reset totally" mean? You mean his build vanished? Is it a creative mode world? Has the player recently resized or deleted his land claim? Had the player recently been offline for a long time (a week or more)? Did he have a lot build there, or only a little?
@zlw0
File mode, or database mode?
@mirolm
Won't fix deprecations, since Bukkit will probably never update to actually remove those deprecated methods. If proven wrong, will fix. :)
-
View User Profile
-
Send Message
Posted Oct 7, 2014A lot of people with minus blocks. Also someone's claims got reset totally, including the blocks inside.
-
View User Profile
-
Send Message
Posted Oct 7, 2014Hey. Thanks for all of the updates.
Is there any way to make the convert process go faster? I've converted 5000 files in 2 hours. The problem is that i have more then 120.000 files so it will take alot of downtime for my server.
Please let me know.
-
View User Profile
-
Send Message
Posted Oct 7, 2014I cannot upgrade. It does the first few UUID conversions, then breaks.
I stepped through your code and figured it out.
Mojang is cutting me off.
If I browse here:
I get this message:
And your code has an empty catch statement so it doesn't let me know what is going on.
Does Mojang cut off our ability to make this request?
Maybe we should check the bukkit offline player uuid first, then mojang because theoretically all users have logged into the system.
Or change the if/else to two if statements. Change the else on line 123 of the uuidfetcher to be:
Or even better yet, only update the UUID when the player logs in. So there isn't this huge batch all at once.
Just some thoughts. I am stuck with the old version in the meantime.
-
View User Profile
-
Send Message
Posted Oct 7, 2014Hi, I updated Grief Prevention on our server from 7.7 -> 8.2
The UUID stuff is all working, however we had an issue because we ran into lots of these errors (Approx 1400), from a world we deleted nearly a year ago, and GP took about 150 seconds to load.
[03:01:05] [Server thread/INFO]: GriefPrevention: Unable to load data for claim "2519": java.lang.Exception: World not found: "world" [03:01:05] [Server thread/INFO]: GriefPrevention: Unable to load data for claim "269": java.lang.Exception: World not found: "world" [03:01:05] [Server thread/INFO]: GriefPrevention: Unable to load data for claim "753": java.lang.Exception: World not found: "world" [03:01:05] [Server thread/INFO]: GriefPrevention: Unable to load data for claim "3207": java.lang.Exception: World not found: "world" [03:01:05] [Server thread/INFO]: GriefPrevention: Unable to load data for claim "749": java.lang.Exception: World not found: "world" [03:01:05] [Server thread/INFO]: GriefPrevention: Unable to load data for claim "1379": java.lang.Exception: World not found: "world" [03:01:05] [Server thread/INFO]: GriefPrevention: Unable to load data for claim "72": java.lang.Exception: World not found: "world"
To fix this I ran a linux script which deleted all of these claims in ClaimData. On a restart, this meant that the errors went away, but the time between
[03:07:42] [Server thread/INFO]: GriefPrevention: Finished loading configuration. [03:09:02] [Server thread/INFO]: GriefPrevention: 7950 total claims loaded.
Still remains extremely high at 80 seconds ish. This is in comparison to 7.7 which took approximately 4 seconds between these two steps
[09:12:16] [Server thread/INFO]: [GriefPrevention] Enabling GriefPrevention v7.7 [09:12:16] [Server thread/INFO]: GriefPrevention: Grief Prevention enabled. [09:12:16] [Server thread/INFO]: GriefPrevention: Unable to load group bonus block data from file "$Money$": For input string: "2013.03.25.19.41.28" [09:12:22] [Server thread/INFO]: GriefPrevention: 7920 total claims loaded.
Just wanting to know if this long load time is what we should be expecting on our servers.
Thanks, 0zlw
-
View User Profile
-
Send Message
Posted Oct 7, 2014I tried to build GriefPrevention from source - just for fun. It shows warnings for using deprecated calls of bukkit api. Maybe it is better to clean them.
There is something in DataStore.java at 1083 too.
Plugin is awesome and i use it on my server. Keep the good work. :)
-
View User Profile
-
Send Message
Posted Oct 7, 2014@TJW28
Upgraded to 8.2, but I can't reproduce this.
@bigscary
However, when loading up the server I noticed the following in my startup log
-
View User Profile
-
Send Message
Posted Oct 6, 2014Testing with 8.1.9 and 8.2.
When a claim is abandoned, it reports in game that its abandoned, but the claim is still there until a reboot. This oddity doesn't occur using 8.1.8 and below.
Anyone else get this or just me?
-
View User Profile
-
Send Message
Posted Oct 6, 2014@bigscary
Using 8.2 now. Will post timings asap. Also, I think that the startup is very slow again, as of 8.1.9 ( not sure, could be due to more players in db. But takes 30 minutes or more again...)
-
View User Profile
-
Send Message
Posted Oct 6, 2014Version 8.2 Updates
@dickfuck123
You should use a backup and go back to a GP version which was working for you, then send me the data I need to find out what's happening.