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 Jun 1, 2014Getting invincible players randomly, caused by NCP. same as this ticket http://dev.bukkit.org/bukkit-plugins/nocheatplus/tickets/716-random-players-invincible-problem/#comments
-
View User Profile
-
Send Message
Posted May 31, 2014how can i change the speed limit???, i cant find it!
-
View User Profile
-
Send Message
Posted May 30, 2014@MyPictures
I'd be interested in more info... a ticket would be good.
-
View User Profile
-
Send Message
Posted May 30, 2014@dannob123
Your post has been deleted because of not using pastebin to paste the error (just pasting in your error in the comments is to messy). Please firstly update your Spigot and if the error still occurs open up a new ticket. Your error log also got cut off by multicraft so please paste directly from server.log and not the console window.
-
View User Profile
-
Send Message
Posted May 29, 2014@asofold
Works on vanilla minecraft servers, bukkit, and bukkit w/ NCP. There isn't a ticket for Minecraft yet. I submitted a ticket to NoCheatPlus recently.
-
View User Profile
-
Send Message
Posted May 29, 2014@ProdigyOG
Does that work in vanilla too? Is there a ticket for Minecraft already?
Going to packet level we might detect it and do something against it, but this really should get fixed on server side.
-
View User Profile
-
Send Message
Posted May 29, 2014@asofold
By spamming C03PlayerPacket, players nearby will be stuck in place (magnet) and mobs will be repelled. If a player stands inside another player spamming the packets, the first player will crash/badly freeze and the player who tries to walk into the other player will be "moving too quickly"
-
View User Profile
-
Send Message
Posted May 25, 2014@AlphaBoltz
Do you want NCP to prevent more or to allow more? Is there a specific problem or is it just by hearsay (what do people say)? And finally: You are using NoCheatPlus 3.10.12-RC-sMD5NET-b700 ?
-
View User Profile
-
Send Message
Posted May 24, 2014NoCheatPlus lowers hit detection as I've heard, is there a way you can change this through the config options and make hit detection better. Thank you.
-
View User Profile
-
Send Message
Posted May 24, 2014@MCTylerPVP
Problem here: http://dev.bukkit.org/bukkit-plugins/compatnocheatplus-cncp/?page=3#c344
I don't know if things changed, but if the author does not provide a way for us to see that it's not a melee attack, we can't do much. We certainly will cooperate and can give advise on what to add to make compatibility possible, but we can't keep contacting all plugin developers on our own - best ask the developer to get in touch and link this post.
@rfsantos1996
OPs have all bypass permissions of NCP by default, unless your permission plugin somehow alters that. Are they actual OPs?
@Phiwa
Thanks for showing by :) - i can only guess, partly already stated below:
Aiming at first-move-after-join teleport/vclip exploits, this will teleport the player to the set-back location, if the players location does not (roughly) match the last moves end-point (or the location from join). This could be kicking in, if NCP does not get the player is in a Vehicle - please do note that there was a deficient beta release, so it should be re-tested with build 700. Deactivating this will mean NCP can't detect that first-move exploit anymore.
Similar to moving this is a probably folly attempt to do something about cheat clients sending "random" moves while in vehicles - it teleports the player to the vehicle - despite the possibility of it not working out at all, this might conflict hard, if events fire and other plugins end the vehicle/dragon ride. This might be easiest to disable without any effects on "real checking", because the vehicle-teleport exploits should be checked independently of this.
So it boils down to "it needs testing" - would be great if we had someone/two/three who could do such tests with debug settings activated (checks.moving.debug + TestNCP installed, maybe EventMirror both from NCPTools).
@EDWIN3150
I assume you tried to protect something like "wg region" ? The problem is that NCP can't do that for sub-commands (yet). See Ticket 694.
-
View User Profile
-
Send Message
Posted May 24, 2014When I try to hide Bukkit's, WorldGuard's and WorldEdit's Commands under UnknownCommand I get this error:
[12:46:39] [Server thread/ERROR]: [NoCheatPlus] Encountered a problem during post-enable: NullPointerException [12:46:39] [Server thread/ERROR]: java.lang.NullPointerException at fr.neatmonster.nocheatplus.permissions.PermissionUtil.protectCommands(PermissionUtil.java:145) at fr.neatmonster.nocheatplus.NoCheatPlus.setupCommandProtection(NoCheatPlus.java:655) at fr.neatmonster.nocheatplus.NoCheatPlus$4$2.run(NoCheatPlus.java:830) at fr.neatmonster.nocheatplus.NoCheatPlus.postEnable(NoCheatPlus.java:849) at fr.neatmonster.nocheatplus.NoCheatPlus.access$000(NoCheatPlus.java:89) at fr.neatmonster.nocheatplus.NoCheatPlus$4.run(NoCheatPlus.java:818) at org.bukkit.craftbukkit.v1_7_R2.scheduler.CraftTask.run(CraftTask.java:58) at org.bukkit.craftbukkit.v1_7_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:345) at net.minecraft.server.v1_7_R2.MinecraftServer.v(MinecraftServer.java:620) at net.minecraft.server.v1_7_R2.DedicatedServer.v(DedicatedServer.java:273) at net.minecraft.server.v1_7_R2.MinecraftServer.u(MinecraftServer.java:568) at net.minecraft.server.v1_7_R2.MinecraftServer.run(MinecraftServer.java:474) at net.minecraft.server.v1_7_R2.ThreadServerApplication.run(SourceFile:618)
[12:46:39] [Server thread/INFO]: [NoCheatPlus] Post-enable finished.
-
View User Profile
-
Send Message
Posted May 24, 2014@asofold @LordKainzo
Hey asofold,
I'm the dev of DragonTravel, but due to a lack of time I only provide necessary updates at the moment.
Did you change anything concerning the API in one of the last versions?
The only thing I added quite a while ago which deals with NCP can be found here.
Anything missing? :)
EDIT: Those methods a run before mounting a player/after dismounting a player.
-
View User Profile
-
Send Message
Posted May 24, 2014On my private server, I want to make OPs instant break blocks, but how can I disable NoCheatPlus from not letting him do it (just when his instant break is on, so I don't want to allow OPs to use hacks forever, just allow them instant break blocks when they are supposed to)
-
View User Profile
-
Send Message
Posted May 24, 2014Can you add swornguns to the plugin compatibility list? It keeps on setting off the speeed/projectile flag for every user...Thx.
-
View User Profile
-
Send Message
Posted May 24, 2014@Shevchikden
I would assume so, though one would have to examine/test the compatibility of such an action, because with some vehicles players do send moving events. I would first check what to do with just Bukkit API (or "read only" obc/nms use), though, because we use to try to do without third party APIs, but currently i think we can't really do without packet level checking, because CraftBukkit does not put through enough events (a mistake in my opinion).
@LordKainzo
Do you have any specific alerts/logs with it? I can't tell without more information, but you could test if it changes with setting moving.enforcelocation to false (this gives more way to current vclip-after-join hacks but might be related). I could not find how exactly they do mounting/flying at first glimpse, but i will have a look another time.
@DolphineerDev / Thanks :).
-
View User Profile
-
Send Message
Posted May 23, 2014@KingKonrad
Well first you have to be running a bukkit server, and I assume you don't have a public one yet if you are asking this, but inside of your server folder with your desired version of bukkit if you have run the server before, you should see in that folder a folder named 'plugins' take the NoCheatPlus.jar you downloaded from here and drop it in your 'plugins' folder and run the server.
-
View User Profile
-
Send Message
Posted May 23, 2014Emmm This is gonna sound weird but... how do you install it?
-
View User Profile
-
Send Message
Posted May 23, 2014Using latest nocheatplus and DragonTravel - im seeing players get kicked for flying - is there a fix for this?1
-
View User Profile
-
Send Message
Posted May 23, 2014@asofold If player is inside vehicle you can just cancel PacketPlayInPosition because vanilla client does not use it.
-
View User Profile
-
Send Message
Posted May 23, 2014@Shevchikden
@ProdigyOG
Should it pay to simply deny extreme moves, because CB/MC does not (always !?) check/do "moved too quickly" before firing player move event ?
Edit: Idea is to do a simple check for extreme (e.g. >= 15.0) distances, for a fast denial (including vehicle set-back or worse kicks).
Apart from starting to add packet-level checking for things like this...