- Nightkeeper
- Guides
- Stop griefing
How to stop griefing on a Minecraft server
Griefing can't be prevented completely on a public server, but it can be made rare, cheap to undo and quick to deal with. Here's the setup that works, and what to do about the hours when nobody is watching.
The short version
- Install a block logger before you need it. You can't roll back what wasn't recorded.
- Give players a way to protect their own builds, such as land claims.
- Roll back by player and time, not by area, so you don't undo honest building.
- Most griefing happens when staff are offline. Plan for that window.
1. Decide how open your server is
A server for friends doesn't need anti-grief tooling if it has a whitelist. Turn it on with /whitelist on and add people with /whitelist add <name>. For a public server, the rest of this guide applies.
Also check spawn-protection in server.properties. It stops non-operators from changing blocks within that many blocks of spawn, which is the first place griefers go.
2. Log every block change
A block logging plugin records who placed, broke or took what, and when. CoreProtect is the common choice on Paper and Spigot servers. Once it's installed:
/co inspecttoggles inspector mode. Click a block to see its history, or click a chest to see who took items from it./co lookup u:<player> t:1dlists what a player changed in the last day./co lookup u:<player> a:container t:1dshows only items they moved in and out of containers.
3. Let players protect their own builds
Land claim plugins such as GriefPrevention let players claim an area so others can't build, break or open containers there without permission. Claims shift protection from your staff to the players themselves, which scales far better. Make claiming part of your welcome message, because the builds that get griefed are usually the unclaimed ones.
4. Roll back the damage
Roll back by the griefer, over the time they were active, rather than by area:
/co rollback u:<player> t:2h r:#global
This undoes everything that player changed in the last two hours, anywhere in the world, without touching what other players built in the same place. If you roll back too much, /co restore with the same arguments puts it back. Check with /co lookup first so you know what you're about to change.
5. Deal with the griefer fairly
- Check the evidence. Make sure the build actually belonged to someone else. Friends sometimes share bases, and "griefing" reports are sometimes a falling-out.
- Match the response to the damage. A first-time player who broke a few blocks might get a warning and a rollback. Someone who emptied every chest in a base gets a ban.
- Write it down. Note what happened and what you did. When the player appeals or comes back on another account, you'll want the record.
- Tell the victim. Players forgive a griefing far more easily when they log in to a message saying it was found and fixed.
6. Cover the hours nobody is online
Everything above depends on someone noticing. Griefers know when staff are offline, and the damage a single player can do in an hour at 3am is the reason many owners give up on public servers. The options are recruiting staff across time zones, accepting that some nights will need cleaning up in the morning, or having something that watches and acts on its own.
How Warden handles griefing
Warden, the AI staff team on every Nightkeeper server, does steps 2 to 5 on its own:
- It tracks who placed every block, so it notices when someone breaks or loots a build that isn't theirs, or puts lava, fire or TNT next to it.
- It freezes an active griefer immediately, then reviews the case with the evidence and the player's history.
- It restores the exact blocks, and keeps guarding the area so anything broken after the rollback is put back too.
- It acts within limits you set. You can have it roll back and kick on its own, or prepare the action and wait for your yes.
One example from Warden's incident log: a player broke into another player's base and took 33 items from their chests within 15 minutes. Warden rolled back the damage, kicked the player and told the owner.