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 Apr 29, 2014@asofold
Tried adding the effect manually and NCP still acted the same if they tried jumping 10+ blocks.
-
View User Profile
-
Send Message
Posted Apr 29, 2014@MasterMithrandir
WrongBlock bug was actually an issue in the code not the configuration. Updating NoCheatPlus to version 673 or higher should solve your issue.
"Out of bounds" jump effects are hard to support really, because the movements of the client get really clunky then. We would somehow maybe need to allow a little of fly cheats if we would try to support that.
Couldn't such effects be done with velocity? I know that the "Moved too quickly" check by Minecraft will fire off if you exaggerate it but NoCheatPlus supports velocity modification way better then "out of bounds" MC effects (also noting that effects/potion are more handled by MC rather then CB).
The knockback check can get aggressive on massive lagging players and its one of the more false positive throwing fight checks of NoCheatPlus. If you know a specific way to call false positives on our Knockback check then feel free to report it here but "random" FPs with it are hard to analyse.
-
View User Profile
-
Send Message
Posted Apr 29, 2014@asofold
Hi, about the comment I did some days ago, I'm using NCP 3.10.10-BETA (latest I think)
Is the ''wrongblock check'' bug present on this last version? or should I configure it somehow?
I guess very high jump effects can't be helped really (as mine where really high)... but it would be nice to see this issue solved somehow in the future :)
By knockback I meant the ordinary one, with no plugins interfering.
Sorry for late response. Here's the page link to your response just in case you don't remember: http://dev.bukkit.org/bukkit-plugins/nocheatplus/?page=3#comments
-
View User Profile
-
Send Message
Posted Apr 28, 2014@khobbits
Yes there is a bug if you use NC+ with the latest CB/Spigot builds. I recommend to disable blockplace.noswing and blockbreak.noswing for now (Its just a visual hack anyways), that should temporary fix your problem.
@mod_masta
I've seen some of them and I believe they are in fact true but I haven't looked deeply into it yet. If you find any additional informations then feel free to poke us.
-
View User Profile
-
Send Message
Posted Apr 28, 2014I haven't had time to do a proper check into this, but I'm having a problem with lighting fires using flint and steel.
The problem goes away if I give: nocheatplus.checks.blockplace.noswing
Has this check been set to be too sensitive, that it catches flint & steel?
-
View User Profile
-
Send Message
Posted Apr 28, 2014There seems to be some sort of new rapid bow fire cheat… I was wondering if you were aware of it and knew a way to stop players from using it.
Also, I've been having a problem where players are getting kicked for flying and cannot log back in because of this. This usually happens on half slabs or other blocks that aren't whole.
-
View User Profile
-
Send Message
Posted Apr 27, 2014@Gr0up115
Oh, 1.7.4 is perfectly ok - i should have written "1.7.5 and below".
Edit:
Did you ever test with using the effect command to add the effect manually? It remains the question if it's an issue that we can reproduce in a "clean room", e.g. by applying the jump effect and just jump, or if it needs a more complex sequence of events (also for testers!).
-
View User Profile
-
Send Message
Posted Apr 27, 2014@Keyman1986
Yea. You can remove the cancel action in each check and only let NoCheatPlus log if it detects a cheat. Its also possible to use the /ncp info <PlayerName> command and you might as well want to modify the check actions to give out more in-game alerts.
https://github.com/asofold/NCPDocs/blob/master/wiki/configuration/checks/checks.creole
-
View User Profile
-
Send Message
Posted Apr 27, 2014Could someone tell me if there is a way just to have NCP just log cheats? Like so that Admins or people with the permission can see they are hacking, and go take a look.'
Thanks
-
View User Profile
-
Send Message
Posted Apr 27, 2014@asofold I see. I haven't tried on anything above 1.7.4 yet. I'll try it on later versions when I can.
-
View User Profile
-
Send Message
Posted Apr 27, 2014@likaos
@tinyhacker
Please update NCP (latest "mostly stable" or "recommended" development build on jenkins), the latest release was buggy. A new beta is pending approval on BukkitDev, thanks for reporting!
-
View User Profile
-
Send Message
Posted Apr 27, 2014@Gr0up115
No survivalfly violations (with [tags] in the strings entry)? The "passable" check is about moving through/into blocks... Also the violation message states a block id of 0, which would mean air usually.
Does/did that happen on 1.7.5 as well?
-
View User Profile
-
Send Message
Posted Apr 27, 2014@asofold
Only happens when players are in Survival. [playername] failed passable: moved into a block (0). VL [10]
The number at the end changed depending on how high they're trying to go with a sponge or jump boost.
-
View User Profile
-
Send Message
Posted Apr 27, 2014@Gr0up115
Do you have violation messages (including [tags]) for using that sponge/booster?
-
View User Profile
-
Send Message
Posted Apr 27, 2014@asofold
Not that I know of, the only problems I can find is when people have jump boost 10 which must have been the sponges taking you a certain height too
-
View User Profile
-
Send Message
Posted Apr 27, 2014@tinyhacker
That's a version with 1.7.6 support and even higher? Isn't 1371 the latest real 1.7.5 build of Spigot?
I am reluctant to support all those versions between 1.7.5 and 1.7.9, because they live so short and the gain is zero-ish.
If this happens more on real 1.7.5 or 1.7.9 i'll certainly check it more closely.
You can check your config and disable checks.moving.vehicles.enforcelocation, if it is enabled.
Is it survivalfly or morepackets (assuming survivalfly rather)?
-
View User Profile
-
Send Message
Posted Apr 27, 2014@Gr0up115
NCP is made to interfere :) - is it really about effect level 10 ? Do you have more information on .... lowest level for which there are problems / nearby blocks or just in the open?
@NeksusX
With "a player" such can happen, e.g. on fast breaking blocks with network-congestion. Could also be that some players have a disadvantage by a network setup that creates congestion a lot, such that block breaking often leads to be too fast. You could set the strict flag to false for blockbreak, which would allow one instant block-break always, but then will enforce the duration between further block-breaks, if this happens too often.
-
View User Profile
-
Send Message
Posted Apr 26, 2014A player on my server could not break Gold Ore with a Gold Pickaxe. NCP blocked him. Just a heads up.
-
View User Profile
-
Send Message
Posted Apr 26, 2014@MyPictures
Would there be a way for me to stop NCP from interfering when it come to that?
-
View User Profile
-
Send Message
Posted Apr 26, 2014@likaos
I don't know if permissions is a good way for temporary exemption.
If survivalfly is disabled, the creativefly check kicks in, which is to prevent extreme speeding. The checks names are somewhat arbitrary, the "creativefly" check is for flying players and also as a fallback. Otherwise extreme speeds might result and crash the server or make it usuable, provided a client exploits it.
isInsideVehicle checks with "getHandle().vehicle != null" in CraftEntity, about line 383.
@Gr0up115
@MyPictures
I'd be surprised if level 5 worked - though it might in the open. Those high effects are impossible to support fully, specifically if used near blocks, because the move would go through walls and such, because the client would not send the "full truth" but rather "occasional location updates".