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 1, 2013Please fix Nodus bypassing NCP. Thank you.
-
View User Profile
-
Send Message
Posted Jan 1, 2013First off:
188.165.234.196 is outdated =/
Secondly, why not get a DNS to it? like nocheat.zapto.org? :)
-
View User Profile
-
Send Message
Posted Jan 1, 2013What version is good for Tekkit?
-
View User Profile
-
Send Message
Posted Jan 1, 2013@Recolance
You should probably create a ticket for this issue. Be sure to use the latest (an !correct!) version of nocheatplus. How have you noticed this? Have you used "Nolagg Examine"? If yes please upload the ".exam" and send a link to me. I will have a look over it.
-
View User Profile
-
Send Message
Posted Jan 1, 2013@Techtony96
If you have installed McMMO on your server you also need to have CompatNoCheatPlus installed on your server. Everything will work fine then (if you use corret versions).
Get it here:
http://www.nocheatplus.org:8080/job/CompatNoCheatPlus/lastBuild/
-
View User Profile
-
Send Message
Posted Jan 1, 2013@TheOros
There are much of persons currently trying to get access to servers.
Everbody can change a nickname (alt accounts) and IP adress simply...
Just do not trust every stranger out there and you are mostly safe.
-
View User Profile
-
Send Message
Posted Jan 1, 2013There is a person called AJ_Dragon jumping all over german servers and is asking around to talk to server owners. he wants to offer this plugin. im sure thats non of your team, but i just want to get you guys aware of it. if you guys need any information about this person, get in touch with me and i provide as much as i can
btw im using NoCheatPlus on my server and im loving it, keep up the great work
-
View User Profile
-
Send Message
Posted Jan 1, 2013Playername failed Frequency: tried to break too many blocks within time frame. VL#
That happens when a player chops down a tree with tree feller from mcMMO. What is the permission node(s) required to let the player do this? I already gave them nocheatplus.checks.blockbreak.fastbreak but that didn't solve the problem.
BTW: I know of cncp, and honestly i think it does more harm then good.
-
View User Profile
-
Send Message
Posted Jan 1, 2013When my slots are filled at 350 the PlayerMoveEvent skyrockets to cause over 800ms and then 1000ms over 25 ticks. Anyway to lower the numbers of this event?
-
View User Profile
-
Send Message
Posted Jan 1, 2013@ottocraft
Thanks, i don't have much clue about aimbot with bow. At first it looks like it was very difficult to detect if implemented in a more smart way, which is not that difficult. The player will turn and shoot the bow, just like other players. We might find a too fast to be probable turn, but for the "normal" moves it is hard to detect. (Advanced concepts might find it, at least after a couple of shots, but not sure i will go into this too soon, worth a ticket though.)
@mrhelton123
You should be pretty good to go, but some checks are a matter of taste concerning sensitivity. If you allow a lot of chat pace you will have to adjust settings. In fact i would recommend using our Jenkins version (red button above) at present, because of some fixes and adaptions for fighting checks. Unfortunately we have a problem with jenkins so the build numbers are somewhat wrong, but that should be our problem for ticket handling, the latest build should be the right one (do check the startup log).
-
View User Profile
-
Send Message
Posted Jan 1, 2013Am I pretty good to go if I just install this plugin and enable it for a survival server, or will there be a lot of extra setup required? Do the default settings generally work pretty well?
-
View User Profile
-
Send Message
Posted Jan 1, 2013first of all this plugin is the best , Plz Add Option to Stop BowAim Bot ! This is the biggest problem 4 me Due to i got a hunger games server and its a big hack ...
-
View User Profile
-
Send Message
Posted Jan 1, 2013@MyPictures
Basically something like that. One might have to go onto packet level to detect it, listening to all sorts of events on Bukkit-side is not so appealing.
@Adrenalineq
Thanks, always interested :) - looks good, though. The total time has to be big, NCP has to monitor a lot of events, especially the moving events add up to such times, because NCP has to do a good bit of calculations and block-checking to both detect flying and moving into blocks and at the same time prevent as many false positives as possible. The average time per event looks pretty good (ca.15000 nanoseconds in total for the moving events - the average overhead with all players moving at the same time will be within few milliseconds, which i find acceptable, though i still want to make some things perform better).
So to judge the stats you have to relate the total time the plugin uses to the total time the server runs. 150 seconds vs. hours is no problem by itself. More important is if events are very frequent and heavy, but that seems to be within some bounds here (see above). given that NCP has to do some heavier stuff, this seems ok to me.
@deaddude22
Does it happen consistently? If so, could you do "/ncp remove PLAYERNAME", then let the player test and then check the output. I would be interested in the exact output of ncp+lag/info, if possible :) - did you make a screenshot or so?
I will
build more adaptive stuff intomake the checks more adaptive, so that server side lag will not lead to so many violations and set-backs anymore.-
View User Profile
-
Send Message
Posted Jan 1, 2013@asofold
Player came out clean and with no lag most levels under 50.
-
View User Profile
-
Send Message
Posted Jan 1, 2013Total Time: 151s :C ...
Statistics from plugin-profiling, maybe be usefull
-
View User Profile
-
Send Message
Posted Jan 1, 2013@asofold
Would be interesting to know what the client does when its on "ALT/FREEZE" mode, does it just send no more packets to the server?
-
View User Profile
-
Send Message
Posted Jan 1, 2013@zSwayz
Have you tried setting fastbreak.strict to false as suggested in the ticket?
@Zifarglweagrs
Find out why they can't hit. Did you do "/ncp info PLAYERNAME" on such an occasion? Also "/ncp lag" can be helpful.
@libraryaddict
We don't have a check for that, currently. And i am reluctant to poke into packet stuff, as that is very likely to become a compatibility-desaster. Might add a hook for protocollib though, which would make it possible. Is there no single-purpose plugin for this, yet?
@Zifarglweagrs
Yes.
-
View User Profile
-
Send Message
Posted Jan 1, 2013Doesn't really work with latest beta build.. :/
.............
NVM :D
-
View User Profile
-
Send Message
Posted Dec 31, 2012I turned off improbable and yawrate and nobody has had the problem since. Maybe those two need a bit of adjusting to account for lag?
-
View User Profile
-
Send Message
Posted Dec 31, 2012I thought NCP would have fixed this but.
Players are able to press 'alt' and they effectively become invincible after getting hit once.
Could NCP disable this completely?
This comes at a cost to the client however. Their screen freezes and they don't know whats going on. You teleport them to get them out of it. At least what I noticed.
Also sometimes players have randomly stopped moving after being teleported. As in. They stand completely still and its like they are doing freecam. But I know at least a few of them are not.
Its happened to me as well. Teleporting them fixes it. They hit air in front of them for example when trying to mine a block. Particles come out from under them when they think they are sprinting. It looks just hackish to the noob moderator.
I think this happens when cancelling the player move event and they try to move again before they were told the event was cancelled.