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 libraryaddict libraryaddict Jan 13, 2014 at 13:13 UTC - 0 likes

    @asofold: Go

    Metadata? No.

    I don't see a valid use to store metadata on a player as it is simpler for plugins to simply hook into the api.


  • Avatar of thedjshow thedjshow Jan 13, 2014 at 04:46 UTC - 0 likes

    Hello thanks for the great plugin just one problem, i can see some people fly on the server like 5 sec then they get kicked. and i have seen on other servers that you cant fly at all, so what should i do? my config is fresh not sure what to change.

  • Avatar of Red_Jay Red_Jay Jan 13, 2014 at 03:06 UTC - 0 likes

    @asofold: Go

    The problem is I don't know what is preventing them from hitting each other. It's almost impossible to hit people unless you are facing them or they are moving in the same direction. You just get the hit particles but no damage.

    "You can set some strict flag to false (fight.direction)." What would this change? What does fight.direction even do?

    "Maybe setting dynamic distance to 0 could also improve things for you (fight.reach)." What would this change? Would it allow users to use reach hacks?

    Thanks for the help. Really hope I can fix this.

  • Avatar of asofold asofold Jan 13, 2014 at 00:24 UTC - 0 likes

    @libraryaddict: Go

    It seems simply the y-dimension is a hard-coded check for players in NCP. However before removing such a security check, i might want to check, if there can be any server crashes in case of actual exploits, because CB first puts the event through and does some similar checks afterwards. I am also not sure what calls still can lead to a crash, probably the native MCAccess.standsOnEntity checks. If using the Bukkit-API for that method removes the crash, i might provide a compatibility switch to remove the bounding box check.

    Have you considered (or are you already) using any metadata for a disguised player, like "disguised" or "boundingbox" or "disguised:enderdragon"?


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

  • Avatar of asofold asofold Jan 13, 2014 at 00:10 UTC - 0 likes

    @libraryaddict: Go

    I'll check.

    @Red_Jay: Go

    Check first what checks prevent players from fighting. One common problem is latency, the players are just not where they appear to the other players. In situations with a lot of moving this means that one needs to move "smart" in order to actually hit. The alternative is to implement a much more complex system or to allow almost everything.

    You can set some strict flag to false (fight.direction). Maybe setting dynamic distance to 0 could also improve things for you (fight.reach).

    @godgodgodgo: Go

    Thx. Hello :)

    @levisn1: Go

    I assume that can be read from the plugin description (no fly unless allowed) - can you be more specific on what kind of flying/hacking seems to work? How does it look like, any violations in the logs or changes in "ncp info PLAYERNAME" ?

  • Avatar of levisn1 levisn1 Jan 12, 2014 at 15:42 UTC - 0 likes

    Is normal that ncp seems doesn't blocking the fly of some hack? I'm using the 655.

  • Avatar of godgodgodgo godgodgodgo Jan 10, 2014 at 19:24 UTC - 0 likes

    @Wolfy262: Go Yes. "NoCheatPlus 3.10.7-BETA-sMD5NET-b651 for 1.7.2 Dec 09, 2013" The latest build on here is for 1.7.2.

  • Avatar of Wolfy262 Wolfy262 Jan 09, 2014 at 16:35 UTC - 0 likes

    Does this work with 1.7.X yet? If not, when will it?

  • Avatar of Red_Jay Red_Jay Jan 09, 2014 at 02:53 UTC - 0 likes

    Anyway to like... fix hit detection? While preventing people from flying etc etc etc NoCheat also makes hit detection terrible including random spasms where both parties cannot hit each other. The config file is incredibly confusing and I can't seem to find anything that would help.

  • Avatar of libraryaddict libraryaddict Jan 09, 2014 at 01:15 UTC - 0 likes

    @asofold: Go

    I change the bounding box parameters.

    This is the first x, and z. And the second x, y and z.


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