NoCheatPlus

Detect and fight the exploitation of various flaws/bugs in Minecraft!
Introduction
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.
Recommended
The following plugins might be useful to have a look at.
ProtocolLib
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 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. Phasing out: Citizens 2 should work with NCP out of the box, MagicSpells are working on compatibility too - rest will be integrated into NCP.
Orebfuscator
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
- Download officially approved versions on the Files page at BukkitDev.
- Development builds have been moved over to the Jenkins at md-5.net.
- Do not download from any other source, do not use jars other people send you.
- Change lists: Wiki (digest) | Jenkins (by build number) | GitHub (all commits).
- Source code
Plugin statistics are no longer reported to mcstats.org.
Support
Documentation Resources
- Consider first: Frequently asked Questions and Known Issues.
- Wiki (Configuration, Permissions, Commands)
- Developers might have a look at the page describing the API of NoCheatPlus.
Contact us
- Quick questions can be asked on this page,
or on IRC (Server: irc.spi.gt | 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).
-
View User Profile
-
Send Message
Posted Aug 26, 2012@fletch_to_99
Did you try "useproxy: true" ?
Not sure it is needed for Orebfuscator...
i can't check too deeply now, unfortunately..
-
View User Profile
-
Send Message
Posted Aug 26, 2012@asofold
I've got this (I'm using orebfuscator) However it still pulls me down. What I found out if I'm in creative mod it won't pull me down, only in survival.
-
View User Profile
-
Send Message
Posted Aug 26, 2012@457undead
The build number is crucial for judging the nofall stuff, it is also shown in the startup and shutdown entries for NoCheatPlus in your server log file (3.7.0-b
).-
View User Profile
-
Send Message
Posted Aug 26, 2012@fletch_to_99
Ok i am sorry, i was using an outdated config for movedtooquickly - it is not one flag anymore.
There are two options in the latest builds which you can try:
You can try to set both to true, or if you use no other plugins like orebfuscator could leave useproxy at false, probably. For those to take effect you might have to reconnect after /ncp reload.
If you have old entries like "
nomovedtooquickly: true" in the configuration, you should remove that. Actually when updating dev builds, always consider regenerating the config (latest time changed around build 44, unless i am mistaken).-
View User Profile
-
Send Message
Posted Aug 26, 2012@asofold
It still pulls me down. I'm op on the server. Here is my config, I'm using voxel flight found in the voxelmodpack. My configs: http://pastebin.com/7s32UACy
All that happens is I'm pulled to the ground. If I travel a distance it wont pull me back the distance but just pull me to the ground.
Edit: I'm also getting, but I only want ops to be able to fly, not the users.
Update: I enabled nomovetoquickly in the configs for build #46 and then did /nocheatplus reload however i'm still getting the error above and it stull pulls me back down.
-
View User Profile
-
Send Message
Posted Aug 26, 2012@asofold
Sorry but i do not know the build because i deleted the jar plus the config. all i have is the place where i got the download http://ci.nocheatplus.org/job/NoCheatPlus/lastSuccessfulBuild/artifact/target/NoCheatPlus.jar I hope that it helps. please remove this bug so i can continue using this plugin on my server.
-
View User Profile
-
Send Message
Posted Aug 26, 2012@BlockTilt
I would be interested if you should find out what it is ...
@fletch_to_99
Which did you try ? nomovedtooquickly (latest build) or cncp + set-speed or both ?
Actually i am not sure if set-speed works for any values greater than 1.0.
-
View User Profile
-
Send Message
Posted Aug 26, 2012@weja93
Doing this didn't fix it. When I'm in creative mode it just pulld me back down after a few seconds.
-
View User Profile
-
Send Message
Posted Aug 26, 2012@asofold
ok nevermind, must be something else. It coincided with my updating NCP but it's still doing that with NCP removed. Must have been some other plugin.
-
View User Profile
-
Send Message
Posted Aug 26, 2012@BlockTilt
Does that happen without NCP installed (spigot) ?
How often does that happen, is it just some players complaining?
-
View User Profile
-
Send Message
Posted Aug 26, 2012@asofold
sorry, build #46 config: http://pastebin.com/unqrZfdk
I had all checks disabled trying to debug which ones causes noticable lag by enabling one by one. But I noticed fall damage is behaving oddly even with everything "false". There are no messages about checks.
CraftBukkit version git-Bukkit-jenkins-Spigot-115 (MC: 1.3.2) (Implementing API version 1.3.2-R0.2-SNAPSHOT)
-
View User Profile
-
Send Message
Posted Aug 26, 2012@BlockTilt
Which version ?
Please always state the build number with problems, otherwise we have to ask back all the time.
Are "NC: player x tried to avoid fall damag" or similar alerts showing up for that ?
-
View User Profile
-
Send Message
Posted Aug 26, 2012I have all of the checks set to false and players are getting fall damage from 2 block high drops.
-
View User Profile
-
Send Message
Posted Aug 26, 2012@fungreenfox
If your plugin makes players do stuff that they could not do moving related in vanilla, it is likely to conflict with anti cheat plugins.
Ask the developer of that plugin to have a look at the hooks/exemption API of NoCheatPlus at GitHub, as i could see he has used the API of AntiCheat, it is pretty much the same as can be done with NoCheatPlus.
If he provides something like start and maybe stop events for the jumping i could also provide a hook for CompatNoCheatPlus.
@LordKainzo
Currently cncp does not do anything concerning Heroes, and we have not had any requests in a while.
I opened a ticket to bundle what i know. I know little :p but the more i know the more i can do. Could be that we can improve the generic inst-break handling of NCP, but it tdepends on which checks actually trigger, so i need more information about which checks trigger for which skills/abilities.
-
View User Profile
-
Send Message
Posted Aug 26, 2012Does compatNocheatPlus work with Heroes? :)
-
View User Profile
-
Send Message
Posted Aug 26, 2012@asofold
Jumping in beds, is plugin found at dev.bukkit.org/server-mods/bouncy-beds/ This is triggering nocheatplus false positive at every jump.
-
View User Profile
-
Send Message
Posted Aug 26, 2012@fungreenfox
Jumping very high in beds? What does that mean?
@Hans6666
Should be fixed in build number 46.
@ Errors in the logs:
Please always report the NCP build number as well, in fact for exceptions it would be better to use the ticket system, tickets get lost less likely!
@EpicMinecraftBuilds
If you update to newer development builds, you should generate a new config file, usually. That goes for builds up to 44, 45 and 46 do not change any configuration.
Unfortunately the documentation is not yet up to date fully, but the latest versions should allow help, which NCP build were you using?
-
View User Profile
-
Send Message
Posted Aug 26, 2012When protect plugins is set to true it blocks the use of /help. Do I need a new config file?
-
View User Profile
-
Send Message
Posted Aug 26, 2012with dev on 1.3 i got today this error:
2012-08-26 17:03:14 [SEVERE] Could not pass event EntityDamageByEntityEvent to NoCheatPlus org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at org.bukkit.craftbukkit.event.CraftEventFactory.callEvent(CraftEventFactory.java:80) at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:364) at org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:386) at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:591) at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:595) at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:349) at net.minecraft.server.EntityHuman.attack(EntityHuman.java:762) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:1019) at net.minecraft.server.Packet7UseEntity.handle(SourceFile:36) at net.minecraft.server.NetworkManager.b(NetworkManager.java:276) at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109) at net.minecraft.server.ServerConnection.b(SourceFile:35) at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:578) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:213) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.IllegalArgumentException: Cannot measure distance between hunger and hunger2 at org.bukkit.Location.distanceSquared(Location.java:381) at fr.neatmonster.nocheatplus.checks.fight.Angle.check(Angle.java:78) at fr.neatmonster.nocheatplus.checks.fight.FightListener.handleNormalDamage(FightListener.java:100) at fr.neatmonster.nocheatplus.checks.fight.FightListener.onEntityDamage(FightListener.java:151) at sun.reflect.GeneratedMethodAccessor31.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:330) ... 21 more
-
View User Profile
-
Send Message
Posted Aug 26, 2012At our server, we have ppl jumping very high in beds.
Giving this result output a lot, (predicted playername):
17:13:45 [WARNING] theo moved too quickly! 0.0,12.14586446606711,0.0 (0.0, 12.14586446606711, 0.0)
17:13:46 [WARNING] theo moved too quickly! -0.032434865071650165,-20.202344214395723,0.0 (0.032434865071650165, 20.202344214395723, 0.0)
17:13:51 [INFO] [NoCheatPlus] theo failed NoFall: tried to avoid fall damage for ~99.34 block(s). VL 16.
17:13:51 [WARNING] theo moved too quickly! -0.007764327896552459,-10.941635323957698,0.0 (0.007764327896552459, 10.941635323957698, 0.0)
how can we best adjust this to avoid the warnings?