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 Oct 22, 2012-
View User Profile
-
Send Message
Posted Oct 22, 2012@ShakyTom
Thanks for notice, i will add some basic information very soon.
At a glance: The minimum and maximum penalty value for yawrate means milliseconds that the player can't attack. Setting to such llow values might still prevent some force-field use in case of the player turning a lot automatically, but the very short durations mean that the player can soon hit again, so the efficiency against cheating will be lower.
-
View User Profile
-
Send Message
Posted Oct 22, 2012Where can I find information on what all of these actually mean?
I can't find much on the pinboard.
-
View User Profile
-
Send Message
Posted Oct 21, 2012@CubieX
Does that happen to every player? CB and NC+ version? TPS ?
You could also make a well explained ticket, would help a lot :)
-
View User Profile
-
Send Message
Posted Oct 21, 2012NCP blocks some movemets that are legit. For example: Build a block on the ground, build another one 3 blocks ahead and 1 block to the left of the first block. Make this second pillar 2 blocks high.
When you now try to jump from the lower to the higher pillar (by quickly using "sprint" to be fast enough), NCP resets the player before he reaches the higher block.
This often happens on sprint/jump actions of players who do not have override permissions for NCPs moving checks. Can something be done to prevent these false positives without deactivating the moving checks completely? Because some players are complaining because their "jump and run" parcours are not usable because of this.
-
View User Profile
-
Send Message
Posted Oct 20, 2012@LlmDl
Config is being updated somehow. We are not at full man-power resources right now, though.
Minecraft / CB does hold you back for repeaters some times though, it might get confused with NCP (unless passable alerts).
Some server / client mods also optimize things like that by allowing moving onto those blocks freely, which then mght conflict with NCP (simlar with fence-corners and SPout it seems).
-
View User Profile
-
Send Message
Posted Oct 20, 2012@asofold I did use /ncp reload, twice after it didnt work. The players were running over redstone repeaters and being TP'd back to their starting point. I guess I'll be updating to your dev sooner than later.
A comment meant to be constructive only, the configuration page is a bit lacking, maybe outdated. If I knew the plugin better I would be willing to help out more. Do you maintain an IRC channel you're active on?
Edit: I did start with a completely fresh config, I always do when I update NCP.
-
View User Profile
-
Send Message
Posted Oct 20, 2012@chrishillz
Level 90 for normal is pretty fast, though, also banning right away.
You might set player.prefixes to active, so the "hi"-"there" spam will get faster banning, in that case however you will have to test if the levels have to be raised slightly, because prefixes will add a little bit on the average message.
For testing out the scores you might set "debug: true" in the chat or chat.text sections, then info about scoring will be printed to the console before each message. Probably that is too much undocumented as well.
The next iterations for NCP will focus on configuration and documentation issues unless there is other critical stuff...
-
View User Profile
-
Send Message
Posted Oct 20, 2012@asofold
Yeah I think I know what you mean, but it's hard to configure something when you don't know what all of the values mean since it's not documented. If you have time, would you mind sending me a copy of a configuration that would ban players that are spamming chat as fast as possible?
I set up something like this so far:
-
View User Profile
-
Send Message
Posted Oct 20, 2012@chrishillz
True, though that is something you could try to tackle with the extended engine use !
The chat.text.player and chat.text.global sections allow to enable extended checking methods which add extra weights for word repetition and/or similarity. For the given example the simple words engine could be activated and would make the repetition of words more expensive. Those are currently paused in development because of other stuff being more important, but they do work, though they take some more memory. The best trade-off might be the prefixes method, the similarity method is heaviest in terms of CPU while words is just a dumb 1:1 comparison of words and prefixes just compares letters (somewhat pre digested) and assigns a weight on base of how many match.
The extended methods all use the time as weighting factor which has passed since last use of that word/letter, and they also account for some number of words/letters, global usually thousand(s), player usually few hundreds at most.
@Liger_XT5
So fixing the config did it?
-
View User Profile
-
Send Message
Posted Oct 20, 2012@asofold
Thanks, hope this helps ;)
-
View User Profile
-
Send Message
Posted Oct 20, 2012@MyPictures
Yes.
@asofold
Ticket made.
Edit: Had some random chat garbage in the middle of the config... Sorry about that.
-
View User Profile
-
Send Message
Posted Oct 20, 2012See, this is what happens when you guys make antispam extremely easy to bypass:
... http://puu.sh/1gS7S
-
View User Profile
-
Send Message
Posted Oct 20, 2012@Liger_XT5
If it was not reloading the config...
Please create a ticket describing what "can't use ladders" means - most checks would alert either ingame or it would get logged to the nocheatplus.log file. Also please state CraftBukkit and more important NCP versions !
-
View User Profile
-
Send Message
Posted Oct 20, 2012@Liger_XT5
Did you also reload NC+ after that config change?
-
View User Profile
-
Send Message
Posted Oct 20, 2012@asofold
I added ladder to the list, still wouldn't let people use ladders.
I tried
- LADDER
and
- 65
-
View User Profile
-
Send Message
Posted Oct 20, 2012@chrishillz
It does happen!
@H8llfire
So if you want to allow more you can increase the settings. Especially if you don't have problems with spamming you can increase the values (20 -> 30 or fourty, 160 -> 200 for instance).
My players got used to it, but it really depends on what you want, clearly.
You might want to know what your players can't do what you want them to do, also how many complain about "it", what exactly "it" is and how often it happens. We can not guess what pace of chat you want to allow.
-
View User Profile
-
Send Message
Posted Oct 20, 2012@asofold
level is set to 20 on shortterm and 160 on normal as default, i didn't edit anything. Players still complained about it.
-
View User Profile
-
Send Message
Posted Oct 20, 2012@asofold
You know what, I think I was oped on my test server hahaha. Sorry to bother you.
Tell test it, and give you a real summary. :P
-
View User Profile
-
Send Message
Posted Oct 20, 2012@zSwayz
Please make a ticket for it and state the versions in use for CB NCP, also if using SpoutPlugin.
"Jumping off 2 blocks" is a little imprecise. If you stand two blocks over ground and jump high before falling down to ground (jump height + 2 extra blocks) you receive fall damage in vanilla Minecraft quite often as well.
@LeChuuck
@H8llfire
The configuration section is being build up, unfortunately i have to do it alone right now, so it might still take a couple of days.
The most important questions are what you want to allow more on chat and which version of NCP you are running.
Minimum hints for the latest version (chat.text section):