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

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 Nov 06, 2012 at 09:43 UTC - 0 likes

    @LiLChris06: Go

    Something to stop potentially hundreds of permission checks would be really good. The whole tab completion stuff is really fancy and useful, but if i imagine a player spamming tab completion packets with "/yxbcv" for instance, on a big server with a hundred of registered commands each tab completion will lead to each comands permission being checked, given most permission plugins will be even slower on not present permissions ...

    I will not now add any serious hacks to alter CraftBukkit in order to deny tab completion most efficiently, but i might add something to alter default permissions of existing commands or add a permission if none is present, so that you can control for which commands get shown.


    Latest beta release (+ 1.8.3, approved) NoCheatPlus 3.12.0-RC-sASO-b813
    (Development builds, 1.8: Jenkins)

  • Avatar of asofold asofold Nov 06, 2012 at 02:43 UTC - 0 likes

    @andrewkm: Go

    Good point, i will evaluate a technique for that...

  • Avatar of andrewkm andrewkm Nov 06, 2012 at 02:22 UTC - 0 likes

    Using chat auto tab complete which is now in bukkit you can spy on all server commands. Just type / and hit tab.

    We really need a way for nocheatplus to block the chattabcompleteevent if a / is used in chat first. This way it only works on names.

  • Avatar of asofold asofold Nov 06, 2012 at 02:07 UTC - 0 likes

    @Nickbbeezy: Go

    There have been no changes to those checks in a while.

    Are the people reliable? You could allow people in creative mode to break blocks slightly faster by setting the intervalcreative to the same value as with intervalsurvival (like 45). Thus alowing 20 blockbreaks per second roughly.

    Concerning commands you would have to give us more information. Could be you added a plugin with signs or so which does multiple commands in the name of the player at once ? Please check the logs for such a case, they should show commands, and the violation or at least the kicking entry.

    Last edited Nov 06, 2012 by asofold
  • Avatar of Nickbbeezy Nickbbeezy Nov 06, 2012 at 01:18 UTC - 0 likes

    Not sure what's causing it, but when I use build #222, players can't break blocks in creative.

    Error given:

    It does this for everyone. It works when I use NoCheatPlus 3.8.0-RC-b207, but with that build people get kicked/temp-banned for using commands for some reason.

  • Avatar of asofold asofold Nov 05, 2012 at 00:37 UTC - 0 likes

    @LordKainzo: Go


  • Avatar of LordKainzo LordKainzo Nov 04, 2012 at 22:58 UTC - 0 likes

    @asofold: Go

    I guess I'm not sure how to do that. I could show you a skill that is having issues and if you'd like maybe you could help me make some of those checks? I'm just at a bit of a loss here.

  • Avatar of asofold asofold Nov 04, 2012 at 19:15 UTC - 0 likes

    @LordKainzo: Go

    BlockPlace/speed is launching projectiles, actually. Not sure why exactly it got sorted in there, though.

    I guess the arrow skill is triggered by some normal action or command/item use - in that case you can exempt the player from BlockPlace_speed during creation of the projectiles. That should normally do, because projectile damage is not surveyed by NCP.

    Not allowing cheating is a bit difficult, if you have an entity attack event or something that triggers your skill (which then damages multiple entities), then you might not exempt from the first damage event (the normal one), but exempt the player before calculating the multiple other events if they are done all at once. So the events that trigger the multi-damage will have to be at normal fighting pace/direction, etc.

    That can not work with all skills of course.

    Concerning TestNCP i have no idea right now, strange...

    Last edited Nov 04, 2012 by asofold
  • Avatar of LordKainzo LordKainzo Nov 04, 2012 at 16:36 UTC - 0 likes

    @asofold: Go When I attempt to use "SkillCleave" as a Heroclass, this is what triggers, cleave attempts to damage everything within a range, so it increases reach, etc.
    FIGHT_REACH vl 0.057 (+0.057)
    FIGHT_NOSWING vl1 +1 Details cancel=true
    FIGHT_SPEED vl 1.667 (+1.667) details limit =15 cancel=true

    12.11.04 10:30:12 [INFO] X failed NoSwing: didn't swing arm. VL 3.
    12.11.04 10:30:12 [INFO] X failed Speed: tried to attack with too high a frequency. VL 2.

    When using a skil that shoots out multiple projectiles (aka snowballs/fireballs) - this is the check it triggers, it is NOT placing blocks.
    So the better question is ... how might I adjust this without allowing hacks to work better?

    Last edited Nov 04, 2012 by LordKainzo


Date created
Apr 02, 2012
Last update
Mar 21, 2015
Development stage
GNU General Public License version 3 (GPLv3)
Curse link
Recent files