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 21, 2012Hello, I have a problem.
I use Essentials "/fly" command allowed in a world called Creative. When people are in world and do a cheat for flying thay cant fly (like thay should). When thay goto Creative and doing command "/fly" thay gets flyable and it enable the "allowflyingincreative: true" and thay can fly. (When thay do "/fly" again it dissable flyable) If thay have it enable and goto world again the essentials fly will be reseted but the "allowflyingincreative: true" doesent get deactivated. Can this be fixed somehow?
Here is a video: YouTube - Sorry for a long text.
-
View User Profile
-
Send Message
Posted Sep 21, 2012@asofold
Well we didn't focus on ladders and vines ;P the jungel was just spammed with it xD
-
View User Profile
-
Send Message
Posted Sep 21, 2012@MyPictures
Right, though "by accident".... the bug is pretty plain and obvious :p
-
View User Profile
-
Send Message
Posted Sep 21, 2012@Folas1337
@asofold just wanted to say that its not always save to use dev builds for a productive server, sometimes they can cause side effects that are not wanted. Anyways we would like to have some testers for the dev builds, so if you find a bug next time just make a ticket and we try to solve it. Also thanks for reporting ;) lucky I and asofold discovered it by accident ;P
-
View User Profile
-
Send Message
Posted Sep 21, 2012@Folas1337
Thx, i just mentioned that for people to judge the dev builds, not necessarily me :).
-
View User Profile
-
Send Message
Posted Sep 21, 2012@asofold
I saw that update before checking back and I know about the problems/issues that dev-builds can have ;) I'm not really judging you, it was more to let you know about the bug and for me to test out stuff.
Thanks for the reply and fast fix :)
-
View User Profile
-
Send Message
Posted Sep 21, 2012@Folas1337
Fixed in build 105.
Judging what developement builds are reallfy safe to use demands a little experience. In general if one doesnt really need or want to test out exactly the newly added changes should usually be careful for "bleeding" additions or "minor optimizations", both tend to involve stuff that needs more testing or that might be overlooked for the change being so "simple" (experience also from other plugins dev builds). We will try to make it easier by promotion status.
@darkknightcz
Outdated version! Disable the checkforupdates and probably better update to the version available on bukkit anyway:
http://dev.bukkit.org/server-mods/nocheatplus/files/
-
View User Profile
-
Send Message
Posted Sep 21, 2012why is NCHP loading so slowly? (i guess its waiting for reply - new version check / metrics, try to make it asynchronous :) )
-
View User Profile
-
Send Message
Posted Sep 21, 2012@MyPictures
Thanks for your reply. I'm gonna check the jenkins until it's fixed.
Everyone else: Better don't use a higher build than #96 or people might complain :D
-
View User Profile
-
Send Message
Posted Sep 20, 2012newer versions seem drastically improved.. thanks for a very useful mod
-
View User Profile
-
Send Message
Posted Sep 20, 2012@out2k
You just add the node to allow them having that permission, example:
- nocheatplus.admin.reload - allows the group/player to use /ncp reload
For false you use negative permission: - - nocheatplus.admin.reload
Permission nodes that are not defined will be defined from the plugin then: So nocheatplus.admin.reload will be only available for ops or groups/player with "*" node.
But you should better read the documentation of GroupManager it covers much more and explains much better then I can.
@Folas1337
I and @asofold just found that out today, NoCheatPlus 3.7.2-beta-b96 should be save to use so you probably want to stay for that version until we have a fix for this issue. SurvivalFly and NoFall are for some reason not checking right on ladders and vines.
@andrewkm
We take a look at this tomorrow/today. The problem is that NC+ disabled CJB by sending a motd to the client, so the CJB reads that and disabled itself for the current server session. I hope the developer of it still allows us to block that new cheat over that motd way, anyways... that cheat actually should get blocked by the FastBreak check so nothing for you to worry about, same for One Hit Block. Did you also test it by yourself as "default" rank without op and without "*" permission node?.
-
View User Profile
-
Send Message
Posted Sep 20, 2012New cheat in latest CJB Users are reporting it works..
CJB Change Log:
6.3.5 - Compatible with Forge 4.0.0.247 or higher - New cheat: Fast block break (Creative and One Hit Block)
-
View User Profile
-
Send Message
Posted Sep 20, 2012Hey there,
I'm running #103 on my server and some people tell me about a bug that they can't go up ladders. They simply get stomp down again to the ground. I guess it's your plugin causing it and maybe you could take a look. I didn't experience this bug as I tried it (removed my own permissions and groups of course) so I suppose it's a bit of lag causing them to get reset.
Would be great if you could take a look. Thanks, Folas
Edit1: It's only going up by the way, going down is working fine. Somtimes I get the error "tried to avoid fall damage" but that should have nothing to do with the "getting set down again"-problem.
Edit2: One told me he has an average latency of 155ms and I'm only having 53ms (just to be as detailed as possible).
-
View User Profile
-
Send Message
Posted Sep 20, 2012I was using permission bukkit plugin, but i just changed to group manager ( essentials ) as it fits my needs more for how i have stuff set up, with many ranks. So i ask cause i see some permissions on this has to be "permission: true or false". So i guess i am asking how it would work with GM? Would i just only add the node in GM to block it? Or dont add it to block it? GM does not use true/false type setup. Thanks in advance for any info! : ) Cheers
-
View User Profile
-
Send Message
Posted Sep 20, 2012@diskman2000
false? I do not use PermissionsBukkit but as far as I know it has to be :true. If you have false it takes away the permission from that group/payer. So try again with true pls.
-
View User Profile
-
Send Message
Posted Sep 20, 2012@diskman2000
That depends on the version.
The permission would be nocheatplus.checks.inventory.fastclick in any case, you have to give the permission (...: true) to let people bypass the check.
Recent versions however have the combined check built in which also counts in inventory clicks - so you would have to have them bypass that one too (nocheatplus.checks.combined.improbable) unless you install at least development build 103 (ncplus.funtania.com:8080/job/NoCheatPlus/) which will respect the inventory permisison for feeding the combined check.
@Intangir
Globalchat ignores commands, except for those that are in the chat.handleaschat list (fomer globalchat.commands).
Currently globalchat does not really catch the very fast short spamming, it would allow a couple of messages more before muting, it is aimed at slower paced spamming. Nopwnage does the very quick decision rather.
The handleaschat and exclusions lists actually only work as prefixes to match everything that starts with one the specified words/parts. So to distinguish "tp" and "tphere" one would have to make the one "tp " with a space added, which only works if more arguments follow. This may well be subject to change in the future.
-
View User Profile
-
Send Message
Posted Sep 20, 2012@diskman2000
also disable combined improbable
-
View User Profile
-
Send Message
Posted Sep 20, 2012does the exclusions array in the nopwnage config accept wildcards? like /c* (anything begining with /c)
does the globalchat protection ignore commands?
will globalchat also detect the chat spamming that nopwnage detects?
i basically want to have solid spam prevention except ignore pretty much all commands
-
View User Profile
-
Send Message
Posted Sep 20, 2012How can I allow InvTweaks? I added the node nocheatplus.checks.inventory.fastclick: false and it still doesnt allow sorting.
-
View User Profile
-
Send Message
Posted Sep 20, 2012@mikeambrose3
The flag is not shown in the default configuration, you add into the globalchat section: "debug: true"
That will then output scoring information for a chat message onto the console.
Party chat and "issued server command" are not logged by NCP but by CraftBukkit/mcMMO depending on version, though - you would also not see private messages texts, because that might depend on your private messages plugin.
@FurmigaHumana
By default it does nothing - if activated in the configuration by setting data.expiration.duration to a number stating minutes, it will delete players data and if configured also history from memory if the players have been logged out for more than the specified duration in minutes. That is to help servers with many players coming through to clean up the memory a bit.