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 Sep 8, 2012@shukamu
I lost track it seems. You can of course run the latest dev build and report problems simply, such will help !
-
View User Profile
-
Send Message
Posted Sep 8, 2012@asofold
Ok man, waiting ur reply, if i can help with plugin test, only PM and i'll help :)
My server is growing fast
Much players = easy bug find, errors and etc...
-
View User Profile
-
Send Message
Posted Sep 8, 2012@asofold
I might push a couple of builds within the next few hours, most of which will just contain minor fixes or adaptions, unless stated otherwise here (and on the dev pinboard page). Then i will release it on bukkitdev.
For those interested in (admittedly not yet complete nor too much guiding) explanations for globalchat: Dev Pinboard/globalchat
-
View User Profile
-
Send Message
Posted Sep 8, 2012@PhanaticD
morepackets violations in bunches are an indicator of lag, they not necessarily cause lag.
But given lag spikes (wherever they camoe from) the alerts themselves might lead to even more lag, so if you have problems with thta occuring you should turn off some logging for lower violation levels for things like morepackets. (especially file or console logging icf = ingame console file, in many cases one would suffice, but only adapt it for the frequently occurring checks)
@chrishillz I am sure that such will happen with time - probably we can even provide a config switch which one sets while deleting all other entries to generate the normal/strict/whatever configs.
I have been thinking of globalchat - the easiest default config is to keep the checks disabled :) but there are some options to balance it and i will give simple advice on the config page once ready. Also i had in mind of writing a simulator for chat to test out settings automatically. For the moment i would rather say to just adjust the weight for globalchat if it is too slack in your oppinion and if you have trouble with certain kind of trash/spam i might give advice on how to tackle, if possible with the current implementation.
@xXSshadowXx
That seems to happen depending on browser/security settings due to redirection or whatever - try this one: http://www.nocheatplus.org:8080/job/NoCheatPlus/
-
View User Profile
-
Send Message
Posted Sep 8, 2012@asofold
Do you guys happen to have another Jenkins somewhere? The link on this page is broken.
-
View User Profile
-
Send Message
Posted Sep 8, 2012@PhanaticD
YES I second this. What client is that out of curiosity?
-
View User Profile
-
Send Message
Posted Sep 8, 2012@asofold
Oh ok I see. Just a suggestion but it would be nice to have three default examples shown somewhere. You could have "Easy" example config which only attacks the most extreme spam, "Normal" example config which is good for servers that don't get much spam, and have many frequents and not many new griefers. Then a "Hard" example config that would eliminate players who spam chat in any way at all. Good for popular servers with many players.
I think this would help everyone who's starting out with the new set up :D
-
View User Profile
-
Send Message
Posted Sep 8, 2012hi every once in a while, maybe once a minute or once every 5 minutes my servers hangs for about 3-5 seconds then on my screen about 10-20 players have the more packet violation, usually 1 or 4 more packets its says. can you please remove these lag spikes, they seem to happen when theres ~100+ people online. using build 74 but this has happened ever since using nocheatplus
http://img515.imageshack.us/img515/3039/20120822144737.png
-
View User Profile
-
Send Message
Posted Sep 8, 2012@LordKainzo
Yes, though most seems to come from nolagg tasks, which seem to be chunk generation. There are some small/medium peaks though and also one time an extreme peak like almost 20 ms from player move, yet. Difficult to find areason, but maybe i will see later.
@chrishillz
I wil add documentation soon. globalchat records some scoring for messages over a period of 30 seconds roughly. Thus it aims at the more medium term chat spam/annoyance. Rather than just recoridng chat frequency in, it assigns a score to each message and records that over time, trying to give annoyances more weight, such as upper case, repetition of words or parts of words. Older message scores count less than new ones.
The message score consists of some simple basic checks like comparing message length to word lengths and letters vs. special characters and uppercase, which can make message count roughly up to 3 times at most, plus the by default deactivated extended checks in the player and global sections. The global checks are fed with data from all players the player checks are using data from each player individually. You might not need to activate both player and global. The words check counts frequency of whole words and assigns a score if words get repeated more frequently, the prefixes check assigns a score based on word prefixes being repeated (writing hello and then hell quickly will get some score). Similarity will check recently used words for similarity similar to the nopwnage check, just with many words, it is the heaviest in terms of runtime used. I will make a page for details. You can see the effect of settings with setting "globalchat: ... debug: true" to log scores to the console but probably it is better to wait for the page.
-
View User Profile
-
Send Message
Posted Sep 8, 2012@asofold
How do you configure the new chat settings and anti-spam. For example I don't know what "factor, frequency, and globalchat" are related to...
-
View User Profile
-
Send Message
Posted Sep 8, 2012Link Removed: http://www.mediafire.com/?xsh1utg31rqcz9b NoLagg snapshots @asofold - has some nocheat stuff in it.
-
View User Profile
-
Send Message
Posted Sep 8, 2012@asofold
I didnt see any moved too quickly, though I think I have that pruned out... With the check completely disabled, I don't get shoved back at all.
-
View User Profile
-
Send Message
Posted Sep 8, 2012Build number 74 adds more uncertainty by introducing fixes to asynchronous actions execution, which also make the chat handling much more direct on violations (no waiting for the main thread anymore).
Who feels uncomfortable about the "dev" nature of 73/74,
should stay with build number 72.
-
View User Profile
-
Send Message
Posted Sep 8, 2012@LordKainzo
That would be great!
@LordKainzo
Could be another check resetting though (survivalfly).
-
View User Profile
-
Send Message
Posted Sep 8, 2012@asofold
Also.. I tried adding actions: vl> 10 log:morepackets:10:10:f cancel vl>100 log:morepackets:15:20:f cancel but it seems to not do anything. I still get pushed back.
This time i didnt see any violation for myself in the log but I most certainly got teleported back after 10-15 steps.
-
View User Profile
-
Send Message
Posted Sep 8, 2012@asofold
If you would like, I can provide you the snapshots via NoLagg to see where nocheat is taking up time. I don't believe its wholesomely Nocheat.
-
View User Profile
-
Send Message
Posted Sep 8, 2012@LordKainzo
Set the cancel level higher. That will allow couple more packets but not deactivate the check, for instance: actions: vl> 4 log:morepackets:10:10:f cancel vl>100 log:morepackets:15:20:f cancel
If 4 or more like 8 is the right value is up to you, but these actions would prevent cancelling for just occasional spikes.
Do you have any data/indication for that NoCheatPlus is causing lag spikes (not that i consider it impossible, but it would help to know something more specific...)?
It is possible to reduce the moving processing by some percentage, either at the cost of fly detection accuracy or at the cost of tolerance of the nofall check (running down full-block-stairs for instance). (Try the actions first, if necessary ask back, maybe.)
-
View User Profile
-
Send Message
Posted Sep 8, 2012Are/can there be permission nodes to disable all checks instead of op'ing players. I don't even op myself :)Opened plugin.yml instead. Great!
-
View User Profile
-
Send Message
Posted Sep 8, 2012Greetings! We just launched our new server: Herocraft 4.0 - we currently have 200ish players online.
Due to this the cpu/server is getting large spikes. The main issue at the moment, tons of players are getting rubber banded back to where they are even if they are LEGIT.
Here's my current settings for morepackets (since this is the issue I've tested with an alt) morepackets: active: true actions: log:morepackets:10:10:f cancel vl>100 log:morepackets:15:20:f cancel
http://pastie.org/4686584 <
log of fails. I can disable the morepackets check altogether but thats a bad fix. Is there a more secure fix so players dont keep rubber banding in massive lag?-
View User Profile
-
Send Message
Posted Sep 8, 2012@Strahil658
How big do I have to make the buttons to make it possible for you to see? You see the donation message but not the download buttons, hmm I don't understand this...
@Nightiky
Well the dev builds are pretty stable right now and we will give our best to keep them stable. So I don't really think his server will take damage on testing and using the latest DEV builds.