NoCheatPlus

Detect and fight the exploitation of various flaws/bugs in Minecraft!
Introduction
NoCheatPlus attempts to prevent cheat clients from exploiting weaknesses of Minecraft or its protocol, making your server more safe. Checks cover a wide range of issues including flying and speeding, fighting hacks, fast block breaking and nukers, inventory hacks, chat spam and other types of malicious behaviour. For a more complete list have a look at the Features Page.
NoCheatPlus puts emphasis on configurability and allows you to customize actions that are carried out when a player fails a check (e.g. silent cancelling, executing commands, just logging). Bypass permissions allow to control what check to apply for which players, all checks can be deactivated in the configuration, also having the option for world-specific configuration files. Many checks allow more detailed configuration to adjust sensitivity.
Certainly NoCheatPlus is not a magical bullet, it uses a lot of heuristics and even guessing, so you will encounter false positives here and there and also not catch every single violation. Example video of how NoCheatPlus blocks cheats (outdated plugin version).
NoCheatPlus was introduced by NeatMonster, building on the code base of NoCheat by Evenprime.
Recommended
The following plugins might be useful to have a look at.
ProtocolLib
Allows NoCheatPlus to activate packet-level checks, covering a range of exploits that can't be monitored using ordinary means. Since roughly Minecraft 1.7.10, the fight.speed check can't work as expected anymore, due to changes in CraftBukkit. With ProtocolLib this can be repaired.
CompatNoCheatPlus (cncp)
Make plugins like mcMMO or MachinaCraft more compatbile with NoCheatPlus. Not all existing plugins are covered (yet), but you can leave a note or create an issue/ticket request for cncp. Phasing out: Citizens 2 should work with NCP out of the box, MagicSpells are working on compatibility too - rest will be integrated into NCP.
Orebfuscator
Orebfuscator fights all sorts of X-ray-hacks by altering the map information that is sent to the players, such that they have to mine blocks to actually reveal what is behind. Virtually a "must have". (Latest versions of Spigot contain features of Orebfuscator.)
Downloads and History of Changes
- Download officially approved versions on the Files page at BukkitDev.
- Development builds have been moved over to the Jenkins at md-5.net.
- Do not download from any other source, do not use jars other people send you.
- Change lists: Wiki (digest) | Jenkins (by build number) | GitHub (all commits).
- Source code
Plugin statistics are no longer reported to mcstats.org.
Support
Documentation Resources
- Consider first: Frequently asked Questions and Known Issues.
- Wiki (Configuration, Permissions, Commands)
- Developers might have a look at the page describing the API of NoCheatPlus.
Contact us
- Quick questions can be asked on this page,
or on IRC (Server: irc.spi.gt | Default-Port: 6667 | SSL-Port: 6697 | Channel: #nocheat | Web client: WebIRC) - For real issues or feature requests please create a new issue/ticket or add to an existing issue/ticket.
- To send information that is not to be seen by all, you can also reach us by PM to @asofold and @MyPictures. @IceAP (IRC: ICE) will also help or redirect the conversation. Please do not contact the user 'NoCheatPlus', it is for administrative purposes only and will likely not be answered in time. Keep to BukkitDev and GitHub for support, do not trust users on other forums or websites, also not if their nick names are the same as NCP staff on BukkitDev.
Please always state the output of the "ncp version" command to let us know versions in use (users of cncp also the "cncp" command).
-
View User Profile
-
Send Message
Posted Jan 28, 2013@EncryptedCurse
It is an attempt to do something against fishing rod exploits (flying). Not sure any client is able to use such in a working way, though.
It is disabled by default, it was not entirely serious anyway.
-
View User Profile
-
Send Message
Posted Jan 28, 2013What exactly does the new Munchhausen check do?
-
View User Profile
-
Send Message
Posted Jan 28, 2013@JimDaRulah
Another way to check for violations (accumulated) is the command "/ncp info PLAYERNAME".
If it does not show something about CHAT_TEXT, then the checks were not active. Also if you try several times spamming / fast typing, NCP will gice a warning message (over 3 lines!), if you never get that, it is unlikely to be NCP.
The kick message to the client is empty too? I thought there was something...
Next would be to go through the plugin list...
-
View User Profile
-
Send Message
Posted Jan 28, 2013@asofold
it's empty. I'm guessing this means NCP wasn't causing the problem after all. Wish I knew what was, though.
-
View User Profile
-
Send Message
Posted Jan 28, 2013@JimDaRulah
Anything about kicking in plugins/NoCheatPlus/nocheatplus.log ?
Any way to get the exact kick message the client gets to see?
Kicks by NCP should get logged somehow...
-
View User Profile
-
Send Message
Posted Jan 28, 2013@asofold
1. The log actually isn't citing a reason for players getting kicked, I'm not even seeing a disconnect notification actually.
2. Yes it does.
-
View User Profile
-
Send Message
Posted Jan 28, 2013@JimDaRulah
Alright ;)
Still questions:
-
View User Profile
-
Send Message
Posted Jan 28, 2013@asofold
NoCheatPlus 3.8.8-b301
-
View User Profile
-
Send Message
Posted Jan 28, 2013@JimDaRulah
What is the newest (/version NoCheatPlus) ?
What about the log messages (server.log) for spam-kicks, anything found in there ?
-
View User Profile
-
Send Message
Posted Jan 28, 2013@asofold
I'm running the newest version of NCP with CraftBukkit 1.4.6 R0.3
-
View User Profile
-
Send Message
Posted Jan 28, 2013@JimDaRulah
Minecraft kicks with "disconnect.spam".
You might remember the in-game warning message? It contains something like "you might get kicked for spam".
If you changed the config like in the paste, the checks should be disabled, provided you did "ncp reload" or restart the server.
So the questions are:
-
View User Profile
-
Send Message
Posted Jan 28, 2013@asofold
I don't have a spam protection plugin, could Minecraft really be doing it?
-
View User Profile
-
Send Message
Posted Jan 28, 2013@JimDaRulah
Allright, you have deactivated the checks. You did "/ncp reload" when testing, i assume.
Now the kick message is interesting: NCP does not have a "kicked for spam" message, so it could well be your spam protection plugin (if you happen to have one), or Minecraft itself.
Can you see it in the logs?
-
View User Profile
-
Send Message
Posted Jan 28, 2013@asofold
Here you go. http://dev.bukkit.org/paste/7015/
-
View User Profile
-
Send Message
Posted Jan 28, 2013@JimDaRulah
Sorry i delete that message, please use a paste (text only): http://dev.bukkit.org/paste/
The "kicked for spamming" would be interesting to know exactly. NoCheatPlus does not have that message built in at present. What version of NoCheatPlus are you using?
-
View User Profile
-
Send Message
Posted Jan 28, 2013@JimDaRulah
Show your config (use paste please).
What is the kick message?
-
View User Profile
-
Send Message
Posted Jan 28, 2013Look, I'm sorry for my language earlier. It was late and I was on edge because of all the complaints. But seriously. I cannot get this plugin to stop kicking for spam, I've set the chat and command related checks to false but it does them anyway.
-
View User Profile
-
Send Message
Posted Jan 28, 2013@Javacow
@MyPictures
Doors can be bypassed with enough speed. Flying players most likely can, even if the passable check was configured no to ignore doors. Not sure with sprint+speed potion. A hack client can for sure just "skip" over the door without moving into it. To prevent such we would have to do something like ray tracing for players moves.
"Block jumping" are not blocks on server-side, the blocks are only shortly visible on client-side, because the client predicts them to be there, but then the server sends the cancel. So the flying check should alert for it, might be that you can get higher than with jumping though.
-
View User Profile
-
Send Message
Posted Jan 28, 2013@JimDaRulah
Talk about a whiny ass little bitch. These plugin developers are not here to serve your spoiled ass's every little want and need, nobody pays them, they do this out of the kindness of their heart (which I can imagine is wearing thin). Perhaps take a few minutes out of your lazy life and go through all of your plugins and see which one is causing the issue, it is probably GriefPrevention. If it is saying disconnect.spam, it is craftbukkit. Do some reasearch, stop being so lazy, and stop cursing like the little spoiled BRAT you are.
-
View User Profile
-
Send Message
Posted Jan 28, 2013@Javacow
Passable will only prevent the players from NoClipping trough solid blocks but other blocks such as doors, trapdoors it will ignore by default (because we found some issues with them). @asofold already planned to make Passable compatible with doors and such but with the current NC+ state its not possible to do that.
However you could enable door checking in the configuration file by removing those from the ignore list:
However you most likely will get some Passable false positives then.
The WorldGuard thingi I can reproduce but need to wait for @asofold on this one. I only know that NC+ sometimes detects this glitch with the SurvivalFly check.