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).
@bigscary
A log is definitely needed, I have no way of checking at all what players are doing with their claimblocks. "3000 claimblocks just disappeared!" Since nothing is logged, I cant check to see what they have done, I cant see if there was an event error, I cant check a history, I cant check to find out if they have been reset, at the very very least, log when you reset a users claim blocks so we at least know its happened, so I can go, Ah Ok, Grief-prevention wiped all your claim blocks, there they are back, then I can at the very least have something to reference a time with and see what else was going on at that time.
The logs would have a toggle, so people could activate them, they already delete themselves after a certain amount of time, I don't think being spammy would be any issue in the slightest, have you ever seen a no cheat plus log? Mines 123mb text file, nothing wrong with that!!! Just have it off by default, if you want to fix errors, you need to log whats happening to find out when where and why its happening! I just want the bugs fixed.
@interbot
To disable the automatic new player claim with a chest entirely, set Claims.AutomaticNewPlayerClaimsRadius to a negative number in the config file. "Before disabling this feature, consider that it's vital to the user-friendly nature of this plugin, because it protects players who don't know how to use the golden shovel or don't have access to a golden shovel yet, and also educates them about the golden shovel. If you disable it, you'll need a plan to educate new players about the golden shovel, for example by posting signs near the spawn."
@bigscary
Thanks mate. If you feel like it you can always give me a quick pointer on how to check out the code and compile myself, if even possible without being a contributor. I'm a developer but I don't know java really, but I figure I'd be able to dabble enough to maybe help come up with a solution =)
@interbot
If all you want to do is disable chests for new players (No Grief Protections) Then you can use PEX and set a default rank to not be able to interact with chests.
Something like:
groups: default: default: true permissions: - -modifyworld.blocks.interact.Chest
Hi all I want disable chest for newplayer
plz
Hey guys,
Just wondering how this fares with modded minecraft, IE Infinity?
I know I need to use the 1.7.9 version :)
@bigscary
1. The flat file player data files are unchanged?
2. Can we delete the old claim data files after the conversion?
HI i use the 8.1.3 version for minecraft 1.7.2. and try to use GriefPrevention for Minecraft 1.7.10 mentioned in main description
I normally mark the claim, and create subdivisions, but I can not use the commands / AdjustBonusClaimBlocks / trust / sellclaimblocks and / buyclaimblocks. all return the message: "an internal error while occuried Attempting to perform this command" and on the console show the following error: http://pastebin.com/rm0XLCCN
installed plugins: authme essentials essentials chat essentials spawn lordlib mcmmo mobmanager orebfuscator ex permissions stoprain vault world edit world guard
@EDIT: i editing my server in my pc offline @EDIT2: i'm working in a translation of messages.yml for pt_br
tanks for the best anti-grief ever
@Bobcat00
Claims are now in YAML format. Easier to read/edit for humans, easier for me to add new fields later if I decide to. Also all subclaims each have their own file now, instead of being in the parent claim's file.
@GodsDead
I don't think logging everything will solve it, and it will be crazy-spammy in the logs to do that. For example, suppose there's a bug where claim blocks earned during play don't get saved when a player logs out. It's not possible to log that something didn't happen.
@Sorky
Very glad it's working well for you. :)
@CloakedAlien
I'm going to try something new in the next version, maybe it will help.
What changed in the flat file DB storage? I have an offline program which reads the files, and I'm wondering what I have to change.
@CloakedAlien
I do get that a lot aswell, the MySQL connection could have a keep-awake function to solve this issue.
For figuring out why I keep getting reports of players loosing thousands and thousands of claim blocks we NEED all evens to be logged, Ive reported this many times, we even have a log system now, I will copy what I wrote in another comment. What needs to be Logged? EVERYTHING. Log when players have their claims reset, and why. Player name and UUID need to be both listed for future proofing. Before and after Claimblocks and Bonusblocks then total need to be shown for every single event with GP: If its a resize, it needs to show the claim ID, the player username, Original positions, and new positions, and the amount Claims have changed for that player, and what they now have. It could be in Comer separated format, but would be better off being saved in a MySQL log.
Something like that, with as much detail as possible. All events would need to be recorded, Re-sizing, Creating new claims, Selling, buying, trading, removing, Resetting. This would open up a world of options for administration. Ive already started on a web UI to display claim information for my stats, having a searchable Log would be perfect. it would also let us find out how players are loosing thousands and thousands of claim blocks.
@GodsDead
Always this at first login of the day, after a long idle period. No other plugins have issues, it MIGHT be because GP is the first plugin to even attempt a db-connection or something is just plain wrong =P
It's a daily occurrence unfortunately.
[08:56:43] [Thread-127/INFO]: GriefPrevention: a14828b9-073d-465c-b772-597776971b0e com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 36,310,214 milliseconds ago. The last packet sent successfully to the server was 36,310,216 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116) at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3348) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1967) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570) at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1474) at me.ryanhamshire.GriefPrevention.DatabaseDataStore.getPlayerDataFromStorage(DatabaseDataStore.java:507) at me.ryanhamshire.GriefPrevention.PlayerData.loadDataFromSecondaryStorage(PlayerData.java:237) at me.ryanhamshire.GriefPrevention.PlayerData.getAccruedClaimBlocks(PlayerData.java:184) at me.ryanhamshire.GriefPrevention.DataStore$SavePlayerDataThread.run(DataStore.java:1482) Caused by: java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113) at java.net.SocketOutputStream.write(SocketOutputStream.java:159) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3329) ... 9 more
@bigscary
Been testing v12.5 claim border for fluids going towards outside and it seems to work very well, even when resizing a claim the fluid handling works. I haven't had a chance to test source water and cobble/obsidian creation outside claim since no fluid has actually gotten out.
On claim removal / resize builds get removed properly, but often client is not updated regarding those changes and get ghost blocks for a short time. Having the plugin send extra updates to the client is probably not worth it though.
Hey all, I need your help. :)
I'm planning to add a auto-mute feature and a lite profanity filter. When it detects "severe" profanity, it will mute the message. If the player is new, he goes on the /softmute list until an admin removes him. If not new, he gets a warning for only the first occurrence per play session, then message mutes without his knowledge for any infractions after that.
I'm asking for your help with the default list. I don't like to half-ass features, so the default word list should cover the most widely offensive words, and ONLY those, because I also don't like a feature that has to be carefully configured before it works at a basic level. So I'm interested in words which you think almost everyone can agree are offensive in any context. For example, nig... and fa..ot are never acceptable, but someone might say "This apple I'm eating tastes fuc.... horrible!" and get away with that "casual" profanity on many servers. I'm interested in words like the first two, but not the third.
If you think of any words which might belong on a "severe" profanity list, please send them to me in private messages (I don't want anyone getting in trouble on this site, so use the messaging system, please!).
@ExDomino
The part that makes all the plugins aware of each other so they don't overlap their protection zones.
What parts of what I want is not possible and will require custom code?
@ExDomino
I think running sql mode will just make your life more complicated.
What you're suggesting would require custom code on your part, or convincing the devs of towny/factions to do it. The usual approach from server owners who mix protection plugins is to have separate worlds for separate plugins. For example, a towny world, a factions world, and a GP world.
@bigscary: Do you think that trying to set your plugin into a mysql configuration would maybe fix that bug? I know how to mysql works and I don't really need support for that.
---And another question, but it's hard to explain. If I install another plugin like Factions or Towny to create town regions, in the same time of your plugin that allow players to own their claims. Protected zones from Factions or Towny would be called regions and zones from your plugin would be called claims in my example.
What I would like to do is simple: only members of a region would be able to claim inside the region or resizing a claim from the outside to the inside of the region, so the gold shovel action would be blocked by Factions or Towny. But, in any time, a player can build inside his claim, even if his claim is inside a region that he cannot build. Configured like that, all would be perfect. Towns territories would be chunk-region based and player territories would be worldguard-like based. And finaly, the impossibility of a town region to buy a chunk that there is already one or more than one claim inside the chunk, even if the chunk is not completely claimed. I'm wondering if it's possible or not?
@GodsDead
It could be that I have an anti spam bug which mistakenly mutes some URLs thinking they're gibberish messages. I'm sorry I wasn't clear - what I wanted was an example of an actual message sent by a player which was muted by the spam filter. The only way to see any of them would be to skim your server logs for "muted".
@justin2016432453543536
"public" :)
@Sorky
I'll see about not allowing source and cobble to form outside of land claims in creative mode worlds. I'd seriously never thought of that, thanks for the suggestion. :)
I can also try keeping fluids inside claims, only in creative mode worlds. Both seem doable without too much fuss / CPU expense.
@bigscary
Yes, both the source block inside the claim as well as the flow that has passed the border on its way outside the claim remain.
Edit: Will test 12.4.1 Beta now and report back if it works. Thanks.
Edit2: Both water and lava remains after claim is removed (flat world, sea level issue? <- It was). Another issue with fluid going outside the claim is that lava+water mixing outside claim generates cobble outside the claim where nothing should be allowed.
Edit3: Setting SeaLevelOverrides: to 0 for the creative world worked good for getting all fluids removed with claim removal. But the fluid still leaks from the claim. Another possible issue could be allowing source water to form outside claims. Since it wont be cleaned up either.
@CloakedAlien
Yes! I've reported a few times, but I haven't been able to find a way to replicate, I assume its the code that resets a players claimblocks to 0, I had a player loose 10,000 claim blocks a few weeks ago out of the blue. We really really need all events to be logged to the log, Every resize, anything and everything that happens needs to be logged, we spent hours trailing through logs and nothing was logged. :(