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 MyPictures MyPictures Nov 15, 2012 at 02:38 UTC - 0 likes

    @Redletteredition: Go

    Just go do ./plugins/NoCheatPlus and delete the configuration.yml then start up your server and you will get a new updated configuration file.


  • Avatar of Redletteredition Redletteredition Nov 15, 2012 at 02:21 UTC - 0 likes

    Hey guys. This may be an easy one for you. I am running 1.4.2 (Craftbukkit) and all seems to work good only I get a log message that says, "NCP: Your configuration may be outdated. Some settings could have changed, you should regenerate it." Although I don't really remember how to regenerate it. Whats the best thing to do?

  • Avatar of EricPickup EricPickup Nov 15, 2012 at 01:12 UTC - 0 likes

    Getting this error with 1.4.4 craftbukkit and latest recommended build of NCP.

    2012-11-15 03:33:32 [SEVERE] Could not pass event PlayerMoveEvent to NoCheatPlus v3.7.4-b123 org.bukkit.event.EventException at$1.execute( at org.bukkit.plugin.RegisteredListener.callEvent( at org.bukkit.plugin.SimplePluginManager.fireEvent( at org.bukkit.plugin.SimplePluginManager.callEvent( at net.minecraft.server.NetServerHandler.a( at net.minecraft.server.Packet10Flying.handle(SourceFile:136) at net.minecraft.server.NetworkManager.b( at net.minecraft.server.NetServerHandler.d( at net.minecraft.server.ServerConnection.b(SourceFile:39) at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.MinecraftServer.r( at net.minecraft.server.DedicatedServer.r( at net.minecraft.server.MinecraftServer.q( at at Caused by: java.lang.IllegalAccessError: tried to access field net.minecraft.server.Block.minX from class fr.neatmonster.nocheatplus.utilities.BlockProperties at fr.neatmonster.nocheatplus.utilities.BlockProperties.isPassable( at fr.neatmonster.nocheatplus.checks.moving.Passable.check( at fr.neatmonster.nocheatplus.checks.moving.MovingListener.onPlayerMove( at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke( at java.lang.reflect.Method.invoke( at$1.execute( ... 14 more

    My servers..


    Check out ftbastler's hunger games plugin here!

  • Avatar of MyPictures MyPictures Nov 14, 2012 at 01:21 UTC - 0 likes

    @AlexM850: Go

    The pull request that @asofold was talking about is this one:

  • Avatar of AlexM850 AlexM850 Nov 14, 2012 at 00:44 UTC - 0 likes

    @asofold: Go

    Sounds great ill be looking forward to it. I actually believe it may be able to via the permission for the radar the the essentials MOTD "&" codes.

    AEM Network Minecraft server
  • Avatar of asofold asofold Nov 14, 2012 at 00:12 UTC - 0 likes

    @chris_king: Go

    @MyPictures: Go

    Actually that is just the fact that the client assumes blocks to be placed until the server tells otherwise. The block is never placed server side, just client-side. So if the players can "fly" that way, then you have a fly or high jump bypass simply.

    Concerning doors: they are unsafe basically, no too good chances for a simple remedy. Doors are so thin, that a client could just move over them given enough speed, for which the client probably not even needs a speed hack, given potions. To prevent such one would have to add extra checks. Also to make piston entrances rock solid, one would have to avoid the exact diagonal move somehow, so you end up with pistons coming from both sides and repeaters powering through walls for the moment. Most clients (if not all) are not yet optimized for that, but will at some point.

    @AlexM850: Go

    I am not sure if that is possible right now - if it is, then it will be in the permissions section (done by permissions...). But i will probably have to add such, there is a pull request pending for this.

    Last edited Nov 14, 2012 by asofold


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

  • Avatar of AlexM850 AlexM850 Nov 13, 2012 at 23:52 UTC - 0 likes

    How can i enable Rei's mini map for only Player map instead of the whole radar map? Is there a possible way to do so? I've seen it done on other servers and maybe im just not doing it correctly.

  • Avatar of MyPictures MyPictures Nov 13, 2012 at 23:00 UTC - 0 likes

    @chris_king: Go

    Whats your NoCheatPlus and CB version?

    You can do that in the config:

          active: true
          experimental: true
          interval: 3000 // In milliseconds. So 3000 = 3 Seconds (95 is default)

    But it would be horrible to build with this config because NC+ would throw out a VL for every block that has been placed too fast (3-4 seconds). So I don't really recommend doing that and I'm not even sure if that would fix your issue.

    To the NoClip question: If you use a version of NC+ that includes the "Passable" check then NC+ will prevent the players from going through normal blocks (noclip). Even if it lags they shouldn't be able to walk trough walls.

    NoClip and doors (or just lag as you say): Currently NC+ ignores doors for "Passable" because we had some issues with false positives with them. We planed to add such a check in the later future but it will take some time of course.

    Last edited Nov 14, 2012 by MyPictures
  • Avatar of chris_king chris_king Nov 13, 2012 at 21:50 UTC - 0 likes

    Not sure if this is anything you can take care of but... is it possible to prevent users from placing another block right away? Say the moment they place one block it counts 3 or 4 seconds before another block can be placed? Or something like that?

    The problem is lag. People take advantage of lag to allow themselves to get into places they shouldn't be. Protection stones usually deletes an illegal block. Sometimes though the lag causes delay and the block is placed but isn't removed until the server catches up. Know what I mean? This allows users to hop over walls anywhere from 2 to 6 blocks high or even more, depending on how much lag there is.

    There has to be a way to prevent people from cheating like this! They can't be using lag to their advantage just to jump higher than they should. That's not right. I already spoke to the developers of Protection Stones and World Guard, and they say there isn't anything they can do cuz lag is just lag and there isn't much to do about lag. But I disagree. There has to be something that can be done to prevent this cheat. Its still cheating, and this plugin is suppose to prevent that, right? Cheating is cheating and something should be done about this. Thanks.

    I'm just asking if you could put your heads together and think-up a way to stop people from taking advantage of lag like this. Cuz even when walking through doors. Lwc has a lock. Its locked. But if you open a door, and its lagged. Then it allows people to walk through the door and the server forgets and this allows the person to enter rooms they shouldn't be in. All because of lag. Its an issue that really needs something done about it. I'm not sure what, but you guys are geniuses so you'll think of something, right? Thank you very much.

    Last edited Nov 13, 2012 by chris_king
  • Avatar of asofold asofold Nov 13, 2012 at 21:04 UTC - 0 likes

    @ShadowKillerx: Go

    Depends, development builds tend to have experimental features or imbalances. In this case build 241 should be pretty good, containinng a range of fixes and improvements. Unfortunately i have little feedback on it, so i am reluctant to promote i too aggressively, yet.

    Concerning the experimental "managelisteners" setting of b241 i have no reliable performance data for comparison (the data of one big server for the default setting which uses the option seems ok, but i can't tell the difference in performance), but it can be safely disabled without any penalty, at present.

    @shukamu: Go

    Please make a ticket (and use a paste if possible), if possible with more log input, is that all? Looks like your server ran out of memory simply. To judge it we need more information, like server size , memory size, (maybe pm plugins), NCP configuration. Please create a ticket for it.

    Last edited Nov 13, 2012 by asofold


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