Detect and fight the exploitation of various flaws/bugs in Minecraft!

Features Permissions Commands Configuration Jenkins

NOW! With Minecraft 1.10 support! (on Jenkins)

Quick overview: NCP by version of Minecraft
(Links may lead to downloads not approved by BukkitDev staff, use at your own risk.)
GitHub Issue for 1.10 progress (overview)


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.

The following plugins might be useful to have a look at.


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, Citizens, MagicSpells 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.


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


Documentation Resources

Contact us

  • Quick questions can be asked on this page,
    or on IRC (Server: | 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).

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of fungreenfox fungreenfox Jan 17, 2014 at 19:40 UTC - 0 likes

    @asofold: Go

    ok, could be an enderpearl, but in that case, he has just used the last one, because he doesnt have any in his inventory.
    -did not check while he was jumping ahead.

    Last edited Jan 17, 2014 by fungreenfox
  • Avatar of asofold asofold Jan 17, 2014 at 19:30 UTC - 0 likes

    @fungreenfox: Go

    interact.speed is just clicking blocks / air !

    Could be he used ender pearls? Did you check the inventory of the player?


    Latest beta release (1.8.x, this site) 3.13.0-BETA-sMD5NET-b878
    (Development builds, 1.8.x: Jenkins)

  • Avatar of fungreenfox fungreenfox Jan 17, 2014 at 19:18 UTC - 0 likes

    Caught by me, at my own server.
    It looks like a blend of flying and jumping. The cheater jumps usually 10 up and 20 meters ahead, never actually keeps on flying.
    It cought my attention, since ncp kicked him several times for speeding, but not the jumping.

    [19:16:39] [Server thread/INFO]: Player lost connection: You interacted too fast!
    [19:16:39] [Server thread/INFO]: Player left the game.
    [19:16:39] [Server thread/INFO]: [NoCheatPlus] (CONSOLE) Kicked Player: You interacted too fast!
    [19:16:39] [Server thread/WARN]: [mcMMO] A valid mcMMOPlayer object could not be found for Player.

    Last edited Jan 17, 2014 by fungreenfox
  • Avatar of asofold asofold Jan 17, 2014 at 19:08 UTC - 0 likes

    @fungreenfox: Go

    Caught by what/whom? What is "superjump" supposed to do? The moving checks in NCP are mostly generic, so i can't tell from the label of a cheat...

  • Avatar of fungreenfox fungreenfox Jan 17, 2014 at 18:36 UTC - 0 likes

    ppl are often catched for using a kind of "super jump", but not by NCP?

  • Avatar of asofold asofold Jan 17, 2014 at 18:36 UTC - 0 likes

    @NicoTinie: Go

    I can't exactly know what you mean with "disable". Can you be more specific about the context ?

    • survivalfly is a check in NCP that prevents players in adventure und survival game mode from flying, speeding, hovering and similar.
    • creativefly is a check in NCP that monitors already flying players, or players that are allowed to fly by being in creative mode or by a plugin having them set to be allowed to fly. An exception is if a player has bypass permissions for survivalfly - then the creativefly check will take effect, unless bypass permissions are given for that one too.

    To disable the checks (i.e. allow players to speed/fly), you have to change the "enabled: true" entries for the check sections to "enabled: false", but i am not sure if oyu want to disable the check or flying.

    If you want to prevent use of the give command, i suggest not making people ops and not giving them wildcard permissions ("*") in the first place. You can add it to consoleonly under protection.commands to prevent ingame use, but there still is creative mode and probably other plugin commands that will pose trouble.

    So please be more specific on what you want to be prevented for what kind of player (or want to be allowed).

    @levisn1: Go

    Vanilla allows to hit at around 3 blocks distance in a situation without any moving. Due to latency we have to set a higher value in SMP because it would to often be impossible to hit when players are moving, so "survivaldistance" is set to 4.4 in order to allow hitting at all. This also allows hacks to hit at that distance, so NCP further adds the "dynamic range", i.e. dynamically reducing the maximally allowed distance if a player hits on a "long distance", to prevent hacks always hitting on long range. The reduction is done up to a maximum amount (reducedistance) and is done in steps (reducestep), if you hit on "not long distance" the dynamic maximum distance is increased by step up to survivaldistance. A hit on a bigger distance than survivaldistance will trigger a violation, applying the attack penalty (milliseconds). A hit between dynamic max. and survivaldistance will have a silent cancel.

    4.4 - 0.9 is already 3.5, i think there is not much more room for reducing. The step value could be set higher to allow faster reduction and also faster regain. The penalty could be set higher (e.g. 1000). I am not sure myself what to do here, if it was simple to make it "better" without causing more false positives, we would probably have already done so.

    @DerekZil: Go

    You won't believe it, but i need the output of "ncp version" or "version nocheatplus" to also know the version of NoCheatPlus that you are using (please not "latest") ;). If you employ one of the later versions of ncp please do try "ncp version", because the also displays some hooks infomation, if there are any. A plugin list (pm or paste) could be useful.

    The self-hit check is not known to do anything related to water, we also have not had any reports concerning tekkit - it might however be that that's related to to one of your plugins. If the server reportes the player is hitting himself, NCP will trigger a violation, simply, not much thinking involved :).

    @ha11oga11o: Go

    Please update Spigot and ProtocolLib and report back if it still happens. All NCP is doing is kick a player from within a scheduled task - that is about the most harmless thing that one can do with a plugin at all.

    @Tyzun: Go

    Hacks work? What hacks "work"? What does "work" mean, what can they do? What version of the plugin?

  • Avatar of Tyzun Tyzun Jan 17, 2014 at 16:59 UTC - 0 likes

    Some hacks began to work!!! It means that time to update plugin!

  • Avatar of ha11oga11o ha11oga11o Jan 17, 2014 at 09:24 UTC - 0 likes

    Is this NCP broken and crashed server? I actually cant read this, but i see lots of NCP is there. Please can someone check it If soo, then NCP overflow can crash server.

    Cheers :)

  • Avatar of DerekZil DerekZil Jan 17, 2014 at 05:48 UTC - 0 likes

    I have a DayZ type server and when they run out of water they begin to die.

    This plugin thinks they hit themselves and kicks them. :(

    1.5.2 Tekkit server if the matters.

    Insanity Realms Website

  • Avatar of levisn1 levisn1 Jan 16, 2014 at 17:07 UTC - 0 likes

    @asofold: Go

    Hello, i was looking to make some modification to the "reach" value and reduce the effects of kill-aura. Atm i'm using the default values. Which values you advice me to modify to start? And which values i don't have to touch?. Thanks.


Date created
Apr 02, 2012
Last update
Jan 31, 2016
Development stage
GNU General Public License version 3 (GPLv3)
Curse link
Reverse relationships
Recent files



Optional dependency