Minecraft Blogs / Review

GriefPrevention & CoreProtect: taking the fun out of griefing!

  • 5,931 views, 2 today
  • 5
  • 0
  • 2
ShelLuser's Avatar ShelLuser
Level 57 : Grandmaster Engineer
89
Hi gang!

Editorial

What is the #1 problem which you're going to face when playing on / setting up a Minecraft server? Today I even stumbled upon a random blog post by TheSilentWind ("Why I still play Minecraft") which also briefly addressed this (I quote): "Personally, this is the worst problem in Minecraft for me. I personally hate toxic/mean people as I believe that we should be kind to one another and just help each other out.". Click the link to read more about SilentWind's perspectives (I think it's a good read).

But yes: toxic mean people, and you can bet that there will be plenty who fall within the league of griefers. In case you haven't heard of the term before (lucky you!): "Griefing is the act of irritating and angering people in video games through the use of destruction, construction, or social engineering. Popularized in Minecraft by teams, griefing has become a serious problem for server administrators who wish to foster building and protect builders.", this is a quote from a tutorial on the Minecraft Wiki.

Now, sure... when someone has been griefed and they report this to the server staff then action can be taken against the offender(s). But in most cases this will still leave the victim empty handed. It was because of that why I myself started an "organization" on the server I frequent which fostered community donations to help out griefed players by refunding a large dose of their items, and some virtual currency if need be. Although I would like to stress out that the griefing incidents on that server have never been a massive problem, it's just that I care for details like that.

But back to my blog! Are you a server operator? Does your server use plugins (when running Spigot for example)? Then I urge you to read on because there is something you can do to stop those selfish griefers right in their tracks! And the best part is that it doesn't require too much effort on your part!

GriefPrevention - Going beyond WorldEdit / WorldGuard

If you run your own server then I'm sure you've heard of WorldEdit and WorldGuard, and if not then I strongly suggest that you look those two up because I think these two are quite essential. In short: WorldEdit, as its name implies, allows you to edit parts of the world. It has a large "toolbox" which allows you to select areas and apply editing actions to them. WorldGuard on the other hand allows you to create a region from a selected area and then restrict its use to specific players (and a whole lot more).

Although this makes WorldGuard an excellent tool to protect your server from griefers it's far from perfect. For example: by default players cannot create regions ("claims") themselves, they'd need staff for that. If you didn't restrict this then you can be sure that your players would claim every single spot they can find, which obviously isn't the intention of all this.

And this is where GriefPrevention comes into play. It is not necessarily a replacement for WorldGuard (but it can be), but it's main advantage is that it gives your players a lot of freedom to claim land on their own. Better yet: limited to a certain amount of blocks and a certain amount of claims. Even better: also fully customizable: if a player isn't happy with the default layout then all they have to do is grab their wand and resize things.

But I'm getting ahead of myself now!

Easy to use!

Claim land by placing a chest!
If you place a chest for the first time then you'll automatically claim a piece of land

The main thing about GriefPrevention is that it's easy for your users. As shown above: when they place a chest (or any other container type block) then this will automatically create a protected area around it. Obviously the size and other details are fully customizable in the configuration file. By default players have a limited amount of so called ClaimBlocks which allow them to claim a certain amount of real blocks in the world. This ensures that they can't claim an area of any size they like. As time goes by and players continue playing they can even earn more ClaimBlocks over time which will allow them to either expand their current claim or, if allowed, get new ones.

Once an area is claimed then it's fully protected. Creepers can't blow up any blocks, TNT doesn't explode, other players won't be able to do anything (no opening chests, no clicking buttons, no killing animals, etc.). Of course this is fully controllable by the player themselves:
  • /trust <playername> - This will give another player full access to your claim. So you basically trust them to help you build (place / remove blocks), open your chests, push buttons, use your bed(s), etc.
  • /containertrust <playername> - This will give another player access to your containers (chests, hoppers, droppers, etc.) as well as any buttons and beds ("use").
  • /accesstrust <playername> - This is the lowest tier of trust: now all the player can do is push buttons, use your bed(s) but that's it.
As you can see it's basically a hierarchal structure. Which also brings me to the first con of this plugin: in my opinion it isn't fully obvious that if you /trust a player then this doesn't limit itself to building. This is mentioned in the help ("Description: Grants a player full access to your claim(s)"), but it also immediately contradicts itself in that same help screen: "Usage: /Trust <player> Grants a player permission to build.". So what is it? Full access or only building permissions?

Which is another (minor) con: you can't give a player building permissions without also giving them full access to your chests. Sometimes you just want to give a player a few stacks of wooden planks and let them do some building while you take care of the rest. Personally I consider chest access to be a higher tier than building access, even though I can definitely follow the applied logic: building permissions would also give players access to destroy any chest(s) and then take their contents after those drop.

Still... I also think it's important to keep in mind that more options for customization would also make the plugin more complicated to use. And it is pretty straight forward right now: if you /trust another player then you simply use that command and be done with it. Do you no longer trust them? Then /untrust is all you need.

Also protects players from staff abuse!

I am an admin on this server but Aya's will is law here :)
For the record: this is my server, I have full access here, but even despite that...

And this is why I'm a huge fan of GriefPrevention; because it doesn't automatically place staff and/or admins in a position which makes them "better" than the players. I may own the server, but as you can see I still have to respect Aya's claim, and that's the way it should be in my opinion. Sure, staff may have build the server (or own it), but without players your server is nothing. So you'd better respect them!

Of course that's not saying that I can't bypass this if I wanted to. As you can see the /IgnoreClaims command would give me full access to do whatever I want here. The point though is that you get a solid warning if you try to overstep your permissions, which will prevent unwanted incidents (not every player will appreciate it if you'd suddenly start to place random blocks on their claim).

A stick to pry and a shovel to... resize?

Looking at a claim border

GriefPrevention uses two specific tools ("wands"): a stick, as shown above, allows you to check if a block is owned by another player. Even better: once you check for this then it will also show you the outlines of the made claim. Here you see the area which Aya currently owns. The gold blocks show the full outline, and the glowstone mark the corners. These are special because if you want to resize an area then you need to do so by right clicking on a corner and then clicking on its new location. For that you'd need the other wand: the golden shovel.

Admin claims & WorldGuard


Last but not least... As I mentioned at the start I think that GriefPrevention isn't necessarily a tool to replace WorldGuard but more so a tool to enhance on it. Limit WorldGuard usage for regions which are either special or maybe "admin only" and use GriefPrevention to allow your users to sort out their claims themselves.

But what if there's an overlap? GriefPrevention wouldn't know about a WorldGuard region, so how would you prevent players to try and claim blocks in an area where they wouldn't be able to build in the first place?

That is where admin claims come into play. Admins can claim areas using GriefPrevention in 2 different ways. First is the same way as any other user: using your ClaimBlocks. Even if you own the server then you're still somewhat limited in the amount of land you can claim :) The other option is to create a so called admin claim. What sets this claim type apart from the other is that it won't cost you any ClaimBlocks, and when players check the area then it will say that it is claimed by "an administrator".

The next stop is simple: /trust public. This will make sure that the claim can be used by everyone. So GriefPrevention won't block building, won't block chest access, etc. That task would then be up to WorldGuard. So basically you'd make 2 claims: one using WorldGuard and one using GriefPrevention. WorldGuard would determine what players can and cannot do, and GriefPrevention would only block other players from making a claim on their own.

Summing up

GriefPrevention (link points to project page) is an excellent plugin which I personally consider a "must have". Instead of allowing you to respond to griefing incidents it does a very good job in actually preventing them. Even from admins!

Pro's
  • Very easy to use: when a player puts down a chest they immediately make their first claim.
  • Simple commands: /trust a player and you can share your claim, /untrust them to revoke their access.
  • Gives players full control over their claims, they won't need the help of staff perse.
  • Will even prevent accidental "admin griefings".
  • Uses in-game links which point to video tutorials. When players ask questions about land claiming then the system usually responds with links to introduction videos.
Con's
  • Doesn't allow full control over user access. Building access also means container access. Container access also implies use access (buttons, doors, etc.).
  • Although it can be easily used in addition to WorldGuard the list of (admin)claims doesn't fully show the size of the claim(s), only the coordinate of the first block. This can make it tricky to set up a "duo region" (a claim in both WorldGuard and GriefPrevention).
  • Uses in-game links which point to video tutorials. Although the introduction videos are good, it can also be annoying if all you want is a quick answer. It would help if it also pointed to the /help command.
  • The default configuration is good, but you'll get more out of this if you configure it. Unfortunately not too many server owners do this.
I won't be giving a score because I don't think that's fair. You can't really "score" security anyway. Because if you configure this plugin poorly then you'd still have a pretty open server. The effectiveness of this plugin highly depends on the way you set it up.

CoreProtect

Logging and rolling back!
Aya had some items stolen from her: CoreProtect shows me exactly who did what (it's that darn alt of mine again!).

CoreProtect is your last line of defense against griefers. It's all in the name actually: Protect(ing) the Core of your server. This plugin starts where others end.

So here we are on Aya's previous claim (she got some extra ClaimBlocks for helping me out so she could claim a cool mountain area she wanted to re-locate to). As you can see in the title picture I got a (staged!) report about someone who stole her items. This is where GriefPrevention can't help: what if players /trust another player, only to find out that they weren't very trustworthy?

Fortunately for Aya I also have CoreProtect installed on my server. So all I had to do was enable inspection mode: /coreprotect inspect, or /co i for short. Then I clicked on the chest and it became immediately clear what had happened. So now I have a few options... First I also have Open Inventory installed, so /openinv theothershell would give me access to their inventory and allow me to retrieve the items (assuming they didn't put it in a chest somewhere). The other option would be to grab the items from my creative inventory, but there is a problem here: what if some items were damaged? I don't mind giving players back their stolen items, but I also prefer fair gameplay. What if this was a god helmet which was almost worn out? Not to mention the hassle it would take me to recreate that helmet in the first place.

We're not going to do any of that. Instead we'll just roll back the actions from TheOtherShell:

How? Easy: /co rollback u:theothershell r:10 t:10m.

This would roll back all actions from User 'TheOtherShell', it would limit the rollback to a Range of 10 blocks and only go back in Time for 10 minutes.

So what is going to happen here you may wonder? Simple: the system has detected that several items got removed from that chest, and it was TheOtherShell who took them. So this command will undo all those actions. The items will be restored and placed just where they've always been, including any damage or other usage. Aya would get all her items back as if nothing happened.. However, this does not mean that the items will also be removed from TheOtherShell of course. The changes only happen within this chest.

CoreProtect protects almost everything

That sheep had the right idea ;)

So here I have a small area where I placed some TNT around an unexpecting cow. I fire it up and the result should be pretty obvious:

b000m
What a mess!

So now what? I suppose you could try to use WorldEdit and regenerate the area but that wouldn't bring back our precious cow. So instead we're going to rely on CoreProtect.

First I am going to examine what transpired here by using the lookup command: /co lookup r:50 t:5m. This tells me that a lot of bad things(tm) transpired here:

Bonus squid :)

So from here on I can pretty much do whatever I like. I could, for example, only undo my own actions. This would re-place the TNT, ready to go for another round. I could also undo the actions performed by the TNT user ("#tnt") which would undo all the destruction. There's basically tons of different approaches to chose from. I could also simply chose to undo everything within a certain time and range, that would also include the killing of the cow. Fun fact: the TNT ("#tnt") destroyed most of the area but it was #primed_tnt which actually killed the cow.

This may sound overly complicated at first but do keep in mind that CoreProtect was meant to be usable in all kinds of situations. Here things are easy: the only thing which happened was some goofball (me) who destroyed the land using TNT. Simple.

But what if this happened in a town? If I would rollback all actions within a, say, 40 block radius then there's a good chance that I would also undo stuff done by other players who weren't involved in the incident at all. I don't think players would appreciate it if they came back to their house, only to see all their building efforts being undone. "oops" :-)

It's what I said at the start: CoreProtect is your last line of defense.This will undo the damage which still managed to slip through despite other plugins.

Back to the start
As if nothing happened!

How does it work?

CoreProtect logs everything that happens on your server, and it uses a so called SQLite database to store its data. You can really tell that CoreProtect was meant to be used on big servers because it's very efficient with its data storage. After 2 days of usage (including a real example where Aya has been playing a survival session together with some of her friends) the size of the database file is only approximately 3Mb. That's not bad at all. Note that you can also use a MySQL database if you want to.

So it basically 'listens' for any actions done on the server. This can be actions performed by players, but it will also monitor automated actions. For example lava setting a wood block on fire or a creeper explosion which also kills a cow, stuff like that.

All this data will get stored, ready for you to investigate any time you'd like after which you can roll it back or restore it. Or totally ignore it of course ;)

Also noteworthy is that the plugin doesn't require any configuration. The default settings are more than sufficient to protect your server.

Summing up

CoreProtect (link points to project page) is in my opinion also a true "must have". The kind of plugin which you hope you'll never need, but when you do you'll be happy that you have it available. Your users will surely love you for it!

Pro's
  • No setup required: just install it and you're good to go.
  • Logs everything, restores everything and is very fast (I tested it on some pretty bad hardware and it still logged everything).
  • Supports WorldEdit! So if you know what area got affected then you can simply make a selection and limit all actions to that specific area.
  • You're in full control: select by time, user, block or action. And rollback too of course.
Con's
  • The timing can become tedious after a while. It won't be easy (still doable!) to check who took something from a chest one week ago, especially if that chest has been heavily used.
  • Sometimes weird things can happen. At one time I rolled back a creeper explosion and suddenly Aya was missing a fence which she placed a few minutes before that. Even though I'm 100% sure that I limited the rollback.
Once again no scoring. As mentioned before security isn't created by simply installing a plugin. And this one will only become useful if you also use it properly. Even so, having said that, I do think this plugin is a must have. When other plugins fail then this one can still have your back.

And there you have it!

One thing is for sure: with these two plugins you can really put a stop to griefers (though I'd also suggest getting WorldEdit & WorldGuard).

Hope this was useful for some of you!
CreditAyanamiKun and LBoss9001
Tags

1 Update Logs

Update #1 : by ShelLuser 02/11/2018 8:17:19 pmFeb 11th, 2018

Fixed most typoes which I managed to spot so far.

Create an account or sign in to comment.

1
03/24/2019 1:50 pm
Level 22 : Expert Archer
jswat10
jswat10's Avatar
A survival server? I use player claim system plugin it works well.
2
02/13/2018 10:26 pm
Level 13 : Journeyman Network
InuYasha86000
InuYasha86000's Avatar
I will say this, I use GriefPrevention on both my spigot and my modded servers and it's a great little plugin, a lot better than factions, factions was good at first but the war attack settings and the chunk claiming instead of freehand claims just caused too much of a headache, good to see others think like me and prefer helping people instead of destroying others work.
Planet Minecraft

Website

© 2010 - 2024
www.planetminecraft.com

Welcome