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).
@PolskiRiko
@maxlehot1234
@Ashley912
For those who can't read.
"1.9 will demand a couple of changes, we should be able to keep NCP compatible without need for different branches of development."
Please update to 1.9!!!!
Any update for Spigot 1.9 please?
Thanks
Please update to 1.9
@asofold
Thanks for the info. As always, I'm looking for changes regarding survivalfly and passable for people with ping times of 250 msec to 600 msec.
@Fritz2456
That's not possible at present, it'd be most easy if we could make the author add compatibility code (metadata or hook into NCP).
@Bobcat00
ProtocolLib 3.6.5 should work, at least it's supported by NCP for 1.8.x. We'll probably compile against that one soon (current: 3.6.4).
Concerning NCP build 930, there is a few changes and fixes/improvements, such as interaction with boat in hand, not blindly erasing data on time running backwards (probably most relevant on VM with time over ntp), a fix for portal events (no target location), adding an extreme-move check. There have been two near identical crash reports which we can't narrow down to anything and one crash report that hadn't been related to NCP (another spot of code shown in the crash log). Not sure it's necessary to update from build 925, unless one of the changes really catches your eye. (Somewhat digested change, list might help, quite up to date: https://github.com/NoCheatPlus/Docs/blob/master/Development/Build-Infos.creole)
1.9 will demand a couple of changes, we should be able to keep NCP compatible without need for different branches of development.
I assume you'll be making updates for 1.9 in the near future. Since I'm going to be on 1.8.8 for a while, I was wondering if it would be a good idea for me to update to b930? I'd also update ProtocolLib to 3.6.5 if you think that will work with NCP.
Hello, I'm using ncp/cncp with slimefun and some functions like explosive pick is blocked.
I know slimefun is not yet supported by both ncp and cncp,.
So I want to know if it's possible to configure ncp to allow wrong block, block break of 3x3 blocks. then prevent if the break is bigger than 3x3.
@asofold
thanks its working!
Hi @all Dev´s and Moderator´s/Manager´s/Tester/Contributor and many more. Thanks for this wonderfull Plugin. It helps a lot of Players play on my Server Fair play/no Cheating. Thanks,thanks..... :) More than3 years use this Plugin. :) Greetings from Austria :) Your´re doing are good Job :) Keep going :)
@foxi69
No that cant work. You have to do it like i sugested:
@asofold
So
actions: cancel vl>10 log:bwrong:0:5:if cancel vl>30 log:bwrong:0:5:cif cancel cmd:kickwb cmd:say [player] kicked for hacking.
its will work? or how can I add multi command
please write an example to the conifg.yml and upload to pastebin :P
@Bobcat00
Doesn't look like moved wrongly does much there, hard to tell without debug log.
@niqoar
@MarkElf2204
Not entirely sure, as cited before, there should be no impact with latest spigot. That very consistency check wll be reviewed and possibly recoded or removed, at least the messages will be improved for clarity. Had you used 'ncp remove ....' just before?
@foxi69
Answered on the cncp page already :) - http://dev.bukkit.org/bukkit-plugins/compatnocheatplus-cncp/#c453
how can i run a command after the ncp kick or ban someone?
for example if kicked: ncp will run /broadcast %player kicked for hacking!
is it possible?
@niqoar
As @asofold stated once:
NPC plugins could interfere, if you fake players with the name of existing players. Could be combat-tag plugins. If the npcs lead to firing events with player-npcs taking damage, they might get registered in data somewhere. Shouldn't be an actual issue, if you suppress the warnings, since with spigot >= 1.7.10 NCP will not store any player instances anymore anyway. We will have to make NCP to detect NPCs better, to avoid creating/keeping data unnecessarily.
[NoCheatPlus] DataMan inconsistencies: missing online players (1) | wrong number of online players (4 instead of 5)
What is this about?
@asofold
Log with player names removed: http://pastebin.com/0RELRVyq
NCP config: http://pastebin.com/sK6Gs5uN
@Bobcat00
Can the 'moved wrongly' messages be both quantified and related to speeding?
If they use it systematically, it would be quite telling, but it could also just be a little more than usual, due to moving more/fast.
@asofold
There were some "moved wrongly!" messages, but the majority of the messages were NCP's survivalfly messages.
@Bobcat00
Sorry, i meant 'moved to quickly' or 'moved wrongly' showing up on the server log for that player (server message, not an NCP message), if more than usual. FlyingFrequency doesn't have a log message for no actual reason, probably wasn't sure how it would turn out back then.
'just NCP' <- just for reference, if other plugins/vanilla fly-checks might interfere.