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

Main Features Permissions Commands Configuration Jenkins


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.

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 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".

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 EcoCityCraft.
  • Do not download from any other source, do not use jars other people send you.
  • Changes by build number can be examined in the Jenkins changes list.
  • All commits can be seen in the GitHub commit history.
  • Plugin statistics are no longer reported to


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 ticket or add to an existing ticket.
  • To send information that is not to be seen by all, you can also reach us by PM to @asofold and @MyPictures. 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 asofold asofold Apr 27, 2014 at 15:35 UTC - 0 likes

    @Gr0up115: Go

    Do you have violation messages (including [tags]) for using that sponge/booster?


    Latest release (1.7.2-1.7.10, approved) NoCheatPlus 3.11.0-RC-sMD5NET-b739
    (Development builds: Jenkins)

  • Avatar of Gr0up115 Gr0up115 Apr 27, 2014 at 10:37 UTC - 0 likes

    @asofold: Go

    Not that I know of, the only problems I can find is when people have jump boost 10 which must have been the sponges taking you a certain height too

  • Avatar of asofold asofold Apr 27, 2014 at 09:34 UTC - 0 likes

    @tinyhacker: Go

    That's a version with 1.7.6 support and even higher? Isn't 1371 the latest real 1.7.5 build of Spigot?

    I am reluctant to support all those versions between 1.7.5 and 1.7.9, because they live so short and the gain is zero-ish.

    If this happens more on real 1.7.5 or 1.7.9 i'll certainly check it more closely.

    You can check your config and disable checks.moving.vehicles.enforcelocation, if it is enabled.

    Is it survivalfly or morepackets (assuming survivalfly rather)?

  • Avatar of asofold asofold Apr 27, 2014 at 07:57 UTC - 0 likes

    @Gr0up115: Go

    NCP is made to interfere :) - is it really about effect level 10 ? Do you have more information on .... lowest level for which there are problems / nearby blocks or just in the open?

    @NeksusX: Go

    With "a player" such can happen, e.g. on fast breaking blocks with network-congestion. Could also be that some players have a disadvantage by a network setup that creates congestion a lot, such that block breaking often leads to be too fast. You could set the strict flag to false for blockbreak, which would allow one instant block-break always, but then will enforce the duration between further block-breaks, if this happens too often.

  • Avatar of NeksusX NeksusX Apr 27, 2014 at 04:23 UTC - 0 likes

    A player on my server could not break Gold Ore with a Gold Pickaxe. NCP blocked him. Just a heads up.

  • Avatar of Gr0up115 Gr0up115 Apr 26, 2014 at 23:00 UTC - 0 likes

    @MyPictures: Go

    Would there be a way for me to stop NCP from interfering when it come to that?

  • Avatar of asofold asofold Apr 26, 2014 at 18:54 UTC - 0 likes

    @likaos: Go

    I don't know if permissions is a good way for temporary exemption.

    If survivalfly is disabled, the creativefly check kicks in, which is to prevent extreme speeding. The checks names are somewhat arbitrary, the "creativefly" check is for flying players and also as a fallback. Otherwise extreme speeds might result and crash the server or make it usuable, provided a client exploits it.

    isInsideVehicle checks with "getHandle().vehicle != null" in CraftEntity, about line 383.

    @Gr0up115: Go

    @MyPictures: Go

    I'd be surprised if level 5 worked - though it might in the open. Those high effects are impossible to support fully, specifically if used near blocks, because the move would go through walls and such, because the client would not send the "full truth" but rather "occasional location updates".

  • Avatar of MyPictures MyPictures Apr 26, 2014 at 18:51 UTC - 0 likes

    @Gr0up115: Go

    Yea, giving support for non vanilla effect levels is kinda hard because the player movement gets quite messed up at those effect levels.


  • Avatar of Gr0up115 Gr0up115 Apr 26, 2014 at 15:52 UTC - 0 likes

    @asofold: Go

    Turns out it also doesn't let players jump with jump boost 10 and above.

  • Avatar of likaos likaos Apr 26, 2014 at 13:07 UTC - 0 likes


    Setting player passenger of a sheep does'nt throw any vehicle event, so I'm bypassing ncp with permissions.

    Player.getVehicle return true, but not sure isInsideVehicle return true... if I try i'll give you the answer

    Ahem.. and now i'm bypassing the survvialCheck, NCP throw a creatyfly violation... but the player is in survival mode, how it can be ?

    Edit, i'm using enforcelocation = true

    Last edited Apr 26, 2014 by likaos


Date created
Apr 02, 2012
Last update
Aug 01, 2014
Development stage
GNU General Public License version 3 (GPLv3)
Curse link
Recent files