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.


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 Shooty_ Shooty_ Mar 31, 2014 at 14:25 UTC - 0 likes

    How the hell this plugin isn't removing forcefield ? (or the cheat that permit to deal more damage ) O.o

  • Avatar of asofold asofold Mar 31, 2014 at 10:17 UTC - 0 likes

    @LordKainzo: Go

    Did you try removing the kick command from the survivalfly actions list?
    Not sure we can do much more right now, because without a reliable way to reproduce it or at least a full moving debug trace (others reproduce it with tracing on) we won't get much closer to really solving it. Could be that it is due to latency, similar to problems with teleporting (server teleports the player, but some moving packets of the player arrive at the server, after the teleport but before the player/client has received any notice of it, thus having a big leap move on special occasions).

    @Red_Jay: Go

    The chat checks could be configured to do such, but are you sure you want that? It could be very annoying to players..

    You would configure the section of NCP. There you set all weights in the message section to 0, also all enginges in the player and global section must be deactivated. Then you set the limit in the shortterm section to 5 times the minimum setting (shortterm covers 5 seconds roughly). Test that.... Not sure, but you might also think about if you want to keep kicking/tempbanning for spamming and also about sending a warning to the player. There might be more alterations necessary to make it a sound concept (action list, warning config).


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

  • Avatar of Red_Jay Red_Jay Mar 30, 2014 at 02:35 UTC - 0 likes

    Hey I was wondering if there was a way to add a delay to chat so players can only send a message every 5 seconds or something so the people don't just talk in 1 word sentences or spam. Looked through the config and config help but it's very confusing...


  • Avatar of LordKainzo LordKainzo Mar 30, 2014 at 00:22 UTC - 1 like

    @asofold: Go

    Is it possible to prevent/fix players from getting kicked when a boat? its been around for a long time and I dont think ive ever reported it.

  • Avatar of MyPictures MyPictures Mar 29, 2014 at 22:57 UTC - 0 likes

    @dannob123: Go

    Try to increase your PermGen space by adding -XX:MaxPermSize=128M to your server startup file.


  • Avatar of asofold asofold Mar 27, 2014 at 20:57 UTC - 0 likes

    @dannob123: Go

    Could you please edit your message and link a paste instead, e.g. with language set to "text only".

    Since i don't have much context, i will ask:

    • Full output of the "ncp version" command?
    • A custom server build? What is the reference build of CraftBukkit, what (roughly) is changed?
    • What's "MStore"?
    • Did you just use the "reload" command there? If so does this ever happen without using reload?
    • Do you have a hoster/startup script with permgen-space set? If so, to what is it set? If not, google how to set it for your hosting/server type and set something reasonable or try to find out what it is set to by default with your setup.
  • Avatar of dannob123 dannob123 Mar 27, 2014 at 16:26 UTC - 0 likes

    27.03 16:22:19 [Server] WARN java.lang.OutOfMemoryError: PermGen space 27.03 16:22:17 [Server] WARN Exception in thread "MStore ExamineThread" 27.03 16:22:17 [Multicraft] Skipped 5 lines due to rate limit (30/s) 27.03 16:22:10 [Server] INFO at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchServerCommand( [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:10 [Server] INFO at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand( [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:10 [Server] INFO at org.bukkit.command.SimpleCommandMap.dispatch( [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:10 [Server] INFO at org.bukkit.command.defaults.ReloadCommand.execute( [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:10 [Server] INFO at org.bukkit.Bukkit.reload( [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:10 [Server] INFO at org.bukkit.craftbukkit.v1_7_R1.CraftServer.reload( [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:10 [Server] INFO at org.bukkit.craftbukkit.v1_7_R1.CraftServer.enablePlugins( [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:10 [Server] INFO at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugin( [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:10 [Server] INFO at org.bukkit.plugin.SimplePluginManager.enablePlugin( [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:10 [Server] INFO at [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:10 [Server] INFO at [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:10 [Server] INFO at com.jackproehl.combatlog.CombatLog.onEnable( [?:?] 27.03 16:22:10 [Server] INFO at com.jackproehl.combatlog.CombatLog.initVars( [?:?] 27.03 16:22:10 [Server] INFO at java.lang.ClassLoader.loadClass( [?:1.7.0_11] 27.03 16:22:10 [Server] INFO at java.lang.ClassLoader.loadClass( [?:1.7.0_11] 27.03 16:22:10 [Server] INFO at [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:10 [Server] INFO at [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:10 [Server] INFO at [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:10 [Server] INFO at [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:10 [Server] INFO at [?:1.7.0_11] 27.03 16:22:10 [Server] INFO at Method) [?:1.7.0_11] 27.03 16:22:10 [Server] INFO at$ [?:1.7.0_11] 27.03 16:22:10 [Server] INFO at$ [?:1.7.0_11] 27.03 16:22:10 [Server] INFO at$100( [?:1.7.0_11] 27.03 16:22:10 [Server] INFO at [?:1.7.0_11] 27.03 16:22:10 [Server] INFO at [?:1.7.0_11] 27.03 16:22:10 [Server] INFO at java.lang.ClassLoader.defineClass( [?:1.7.0_11] 27.03 16:22:10 [Server] INFO at java.lang.ClassLoader.defineClass1(Native Method) [?:1.7.0_11] 27.03 16:22:10 [Server] INFO java.lang.OutOfMemoryError: PermGen space 27.03 16:22:10 [Server] ERROR Error occurred while enabling CombatLog v1.0.3 (Is it up to date?) 27.03 16:22:10 [Multicraft] Skipped 63 lines due to rate limit (30/s) 27.03 16:22:09 [Server] INFO at org.bukkit.craftbukkit.v1_7_R1.CraftServer.enablePlugins( [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:09 [Server] INFO at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugin( [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:09 [Server] INFO at org.bukkit.plugin.SimplePluginManager.enablePlugin( [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:09 [Server] INFO at [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:09 [Server] INFO at [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:09 [Server] INFO at fr.neatmonster.nocheatplus.NoCheatPlus.onEnable( [?:?] 27.03 16:22:09 [Server] INFO at fr.neatmonster.nocheatplus.hooks.NCPExemptionManager.<clinit>( [?:?] 27.03 16:22:09 [Server] INFO at fr.neatmonster.nocheatplus.hooks.NCPExemptionManager.clear( [?:?] 27.03 16:22:09 [Server] INFO at fr.neatmonster.nocheatplus.checks.CheckType.<clinit>( [?:?] 27.03 16:22:09 [Server] INFO at java.lang.ClassLoader.loadClass( [?:1.7.0_11] 27.03 16:22:09 [Server] INFO at java.lang.ClassLoader.loadClass( [?:1.7.0_11] 27.03 16:22:09 [Server] INFO at [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:09 [Server] INFO at [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:09 [Server] INFO at [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:09 [Server] INFO at [cbbeta.jar:git-Bukkit-1.7.2-R0.3-b3020jnks] 27.03 16:22:09 [Server] INFO at [?:1.7.0_11] 27.03 16:22:09 [Server] INFO at Method) [?:1.7.0_11] 27.03 16:22:09 [Server] INFO at$ [?:1.7.0_11] 27.03 16:22:09 [Server] INFO at$ [?:1.7.0_11] 27.03 16:22:09 [Server] INFO at$100( [?:1.7.0_11] 27.03 16:22:09 [Server] INFO at [?:1.7.0_11] 27.03 16:22:09 [Server] INFO at [?:1.7.0_11] 27.03 16:22:09 [Server] INFO at java.lang.ClassLoader.defineClass( [?:1.7.0_11] 27.03 16:22:09 [Server] INFO at java.lang.ClassLoader.defineClass1(Native Method) [?:1.7.0_11] 27.03 16:22:09 [Server] INFO java.lang.OutOfMemoryError: PermGen space 27.03 16:22:09 [Server] ERROR Error occurred while enabling NoCheatPlus v3.10.8-RC-sMD5NET-b664 (Is it up to date?)

  • Avatar of asofold asofold Mar 25, 2014 at 20:58 UTC - 0 likes

    @baksovic111: Go

    Please provide the output of the "ncp version" command. That is on of these "impossible" cases - can you pm a plugin list as well? Are your plugins up to date (any auth plugins that might trick with internals, combat logging, NPCs...)?

    @daveytje21: Go

    Are there any check alerts? Does "ncp info PLAYERNAME" show anything about morepacketscehicle - if so, did you try disabling checks.moving.morepacketsvehicle ? At the cost of players maybe speeding with boats and similar.

  • Avatar of daveytje21 daveytje21 Mar 25, 2014 at 15:54 UTC - 0 likes

    Dear creators,

    Im currently having a big bug with NCP And train carts. NCP Detects a train thats riding harder then 0.5 with a player in it as a cheater and moves it back. Thats where the buggy part comes because if that happens everything gets messed up and you will bug out (Cant even open your escape screen.)

  • Avatar of baksovic111 baksovic111 Mar 25, 2014 at 12:45 UTC - 0 likes

    [07:58:00] [Server thread/ERROR]: [NoCheatPlus] JoinLeaveListener(fr.neatmonster.nocheatplus.checks.moving.MovingListener) generated an exception (join): NullPointerException [07:58:00] [Server thread/ERROR]: java.lang.NullPointerException at fr.neatmonster.nocheatplus.checks.moving.MovingData.hasSetBackWorldChanged( at fr.neatmonster.nocheatplus.checks.moving.MovingListener.playerJoins( at fr.neatmonster.nocheatplus.NoCheatPlus.onJoinLow( at fr.neatmonster.nocheatplus.NoCheatPlus$7.onPlayerJoinLow( at sun.reflect.GeneratedMethodAccessor470.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke( at java.lang.reflect.Method.invoke( at$1.execute( at org.bukkit.plugin.RegisteredListener.callEvent( at org.bukkit.plugin.TimedRegisteredListener.callEvent( at org.bukkit.plugin.SimplePluginManager.fireEvent( at org.bukkit.plugin.SimplePluginManager.callEvent( at net.minecraft.server.v1_7_R1.PlayerList.c( at net.minecraft.server.v1_7_R1.PlayerList.a( at net.minecraft.server.v1_7_R1.LoginListener.c( at net.minecraft.server.v1_7_R1.LoginListener.a( at net.minecraft.server.v1_7_R1.NetworkManager.a( at net.minecraft.server.v1_7_R1.ServerConnection.c( at net.minecraft.server.v1_7_R1.MinecraftServer.u( at net.minecraft.server.v1_7_R1.DedicatedServer.u( at net.minecraft.server.v1_7_R1.MinecraftServer.t( at at


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