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 7, 2014Hy: Bugg: boat = Fly hack (Kick player ) :(
-
View User Profile
-
Send Message
Posted Jan 6, 2014@MasterMithrandir
The chat configuration might give some hints: https://github.com/asofold/NCPDocs/blob/master/wiki/configuration/checks/chat/chat.creole
Basically you have the checks.chat.text.frequency settings to control when to trigger a violation with two sections: shortterm and normal. While "normal" covers about 30 seconds, "shortterm" covers about 5 seconds, that should allow to balance fast messages vs. rough overall chat frequency in a very basic way. To make it more restrictive you would decrease the level value. Further you can adapt the actions, because with faster cancelling one might not need as fast kicking, but that is subject to testing then.
Further you have a range of settings to make word repetition more expensive (message.repeat... and the "engines"). Activating parts of the global and player sections allow to penalize repetitions of words or prefixes of words either from global chat or per-player.
@dotapurex1
We don't have a specific check for those, FastConsume covers instant consumption of items, however autosoup implies that instant consumption of soup is provided by a plugin as a feature.
-
View User Profile
-
Send Message
Posted Jan 6, 2014How can i stop players from using autosoup with this plugin?
-
View User Profile
-
Send Message
Posted Jan 5, 2014@MyPictures
How can I handle chat spam, making it more restrictive, and how can I control the general flow of the chat?
-
View User Profile
-
Send Message
Posted Jan 5, 2014@CrissIIL
If you have ProtocolLib please update and if you have Spigot update that also.
-
View User Profile
-
Send Message
Posted Jan 5, 2014When a player spams in chat and Nocheat stops it, the server crashes.
-
View User Profile
-
Send Message
Posted Jan 5, 2014@Flipperflies555
"So it would seem."
@zachrywilsn
This likely is caused by some combat-tag plugin, a maliciously set up NPC plugin (NPC registered as actual players with real player names who are also online), or some plugin that kicks players during login/join.
If NCP still works it might be ok, if you get more errors, or if you have NPCs with the players names, then it is a problem.
You can turn it off in the configuration (data.consistencychecks.suppresswarnings), though that would not help finding the causes - can you PM a plugin list?
-
View User Profile
-
Send Message
Posted Jan 4, 2014@asofold
[15:24:12 WARN]: [NoCheatPlus] DataMan inconsistencies: wrong number of online players (29 instead of 28)
getting spammed with this all of a sudden. no changes to server. what could it be and will it effect server? an would it be ok to turn off in setting?
-
View User Profile
-
Send Message
Posted Jan 4, 2014Doughnuts! Love you!
-
View User Profile
-
Send Message
Posted Jan 4, 2014@jimmikaelkael
Thanks for checking :9.
@libraryaddict
So "illegal move" - there should be several ways around it - can you specify what values you change in NMS (e.g.width, height, bounding box parameters)?
@Wizel603
I'm afraid for simplicity the delay parameter has been removed from the action commands - except for "ncp delay".
So you would have to use "ncp delay delay=100 tell wizel603 the message" !
@Minecraftian_Servers
Have you updated ProtocolLib in case you are running that?
-
View User Profile
-
Send Message
Posted Jan 4, 2014Hi, after I installed NoCheatPlus, my server has started to crash more often, but I havn't got any errors or anything, so I don't know if its NoCheatPlus, but if anyone else has the problem please reply so the author sees that theres a crashing bug (if there is)
-
View User Profile
-
Send Message
Posted Jan 3, 2014I may be misunderstanding its use, but when using the form with "delay=(ticks)" below, the message never goes through no matter what I specify for '(ticks)'.
For example, nothing ever shows up on the player's chat when this is entered:
-
View User Profile
-
Send Message
Posted Jan 3, 2014@asofold
I specifically mean the bounding box.
I only try to modify packets which normally will not effect anything.
But to get a larger bounding box so someone disguised as a enderdragon is easily hit with a projectile. I'm forced to hook into nms to change the boundingBox.
So no. I don't give them any sort of flymode.
And specially, player is kicked with 'Illegal move'
-
View User Profile
-
Send Message
Posted Jan 3, 2014@asofold
I tested as a member, and normally my NoCheatPlus permissions (wildcards) are at the Admin group level, so I doubt I've made this mistake but I'll check twice to be sure. Anyway, I'll try as a new member and will be more verbose with what I used if I can still cheat.
Thank you for your quick reply, keep up with such great plugin guys !
EDIT: bad report, sorry.
-
View User Profile
-
Send Message
Posted Jan 3, 2014@mrchasez
The only way to alter block breaking is to allow instant breaking for those blocks (probably not intended, but i f it is about few blocks, it could serve as an emergency-workaround).
We still have to reproduce this issue.
@libraryaddict
Can you be more specific about the conflicts? Which checks alert, what happens?
If fly works, then likely the checks are not run at all.
Are the players set to flying when being disguised as an ender-dragon?
@jimmikaelkael
Did you ensure not to have bypass permissions (wildcards, nocheatplus.checks, OP)?
-
View User Profile
-
Send Message
Posted Jan 3, 2014I've tried a recent Nodus version on my 1.7.2 server (Spigot r1224, NCP 3.10.7), and logged in ad a member, seems I can use most of the Cheats (tested Fly and Forcefield) without triggering any VL notification nor being kicked...
Notification are properly activated as I get VL for old survivalfly method with placing blocks in a protected area.
EDIT: my bad, I forgot to deop me from a previous commandblock editing session... I'm really sorry for the bad report posted below: once de-opped NCP detects all cheats from the recent Nodus release. I'm sorry, once again.
-
View User Profile
-
Send Message
Posted Jan 3, 2014I have a problem with the way you handle one of your methods.
In your movement check, you fetch the bounding box of the player. Then you ensure he isn't hacking or w/e
The problem is, the latest feature of my disguise plugin changes the bounding box so that someone disguised as a enderdragon is going to be pummelled with arrows.
This conflicts.
Would it be possible for you to start calculating the bounding box using the same method that craftbukkit does to set the bounding box?
I can't fix this in my plugin. The only thing I can do is spew warnings about NCP conflicts or remove the feature.
Using the bounding box is a good move, and I know that moving away from it is not extremely simple.
But there is no alternative.
-
View User Profile
-
Send Message
Posted Jan 1, 2014@asofold
Hello, We have a plugin that sets people to "Haste 3" when they start to mine. This works fine mostly, however most the time people can't break Grass or Gravel (or sand i assume) with their hands? Haste 3 is applyed when they start to mine the block (with their hands) and the block keeps coming back! So this is a big problem for them. However, if they use a spade. There is no problem, they can dig the blocks just fine. Only happens with hands.
How do I fix this? Is there anyway i can let these specific users bypass somehow on this certain thing, or...? Thanks a lot
-
View User Profile
-
Send Message
Posted Jan 1, 2014@EliteDesign
Did you put it like "/?" or just /? ?
-
View User Profile
-
Send Message
Posted Jan 1, 2014When I try to block /? under blocked commands and restart it turns to null: null