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).
@spiderrecon11b
Not being able to walk will need the proper versions installed (in fact that's always needed for basic operation), so could you post the output resulting from the 'ncp version' command? I have no clue what versions/features are in use at all...
With mcMMO you should use CompatNoCheatPlus as well for now, but we do need version information to suggest what to do.
I put this on my server while server was shutdown, I restarted my server an everyone couldn't move from the spot they were in. Once I fixed that issue then no one could walk through doors, up stairs or slabs. Also it will not allow people to use McMMO special abilities. After I fixed all these were people could use the abilities my tester went and was able to use the the hacks. Is there a way to fix this?
@FIRESTORMER1
@MarkElf2204
Yes, sweep attack should be supported in general, though there could be issues, as it's a nasty workaround. In any case always consider posting the output of running the 'ncp version' command, as that'll make quick hints and directions much easier.
@MasterMithrandir
@MarkElf2204
Might need to know more details (versions, and if latest, a debug log if possible)... i do however prefer text for the version information, at least consider using a page to upload screenshots to that doesn't require java script or even worse :). There has been a change recently, to (re-) activate a velocity workaround for pvp knockback just for MC 1.9.
@MasterMithrandir
I remember seeing that occur on servers where server owners continue to run outdated builds of NCP with new version of spigot. Updating to the latest version has always resolved that issue for those who have asked me for support in regards to knockback like that. Please screenshot the output of /ncp version.
Bad news.
Rubberbanding is back:
https://www.youtube.com/watch?v=ODkcai_yIa4&feature=youtu.be (Ignore misspelled "knockback", one of my spanish mods did this video.)
@FIRESTORMER1
Output of /ncp version?
If you are not using a development build while running 1.9, I would recommend starting to do so now. They can be obtained through here, the latest stable build that I would currently recommend using can be found here, click 'nocheatplus.jar'. Please note that these these builds have not been approved by the BukkitDev staff. Use them at your own risk.
Hello!
The new sweep attack in 1.9 triggers NCP. When players on my server use swords against groups of mobs, it triggers NCP and the player gets kicked for high violation levels.
Any way to fix this issue? Will NCP become compatible with the sweep attack?
Thank you for your time.
@Kinlamaru
That appears to be peculiar. Do you have creative mode worlds (and if so: has the player telproted from/to/which one of those, just before the horse appeared to be there?)?
Just thinking of multi-world-plugins... any inventory managers/plugins present?
(i'm advenbest. i tried logging into this account first but just wouldn't work and would only login as "advenbest". now i open the page and it logs me in as "kinlamaru"? not sure why it just randomly changed, but whatever.)
yes he logged into the server for the first time and the first join message was displayed. in the world spawning was disabled by multiverse-core. a white horse spawned at the exact same spot he was standing soon after he logged in.
he wasn't using a boat. he wasn't able to fly though. he got kicked when he tried.
i would have posted this on git, but i figured i should just follow it up here.
@advenbest
Are you sure they spawned a horse? Could it be they were flying with the horse until getting kicked by the vanilla server fly check, thus the horse reached an odd position somewhere?
@advenbest
Hi. Sorry for the late answer but you can read more about it here: https://github.com/NoCheatPlus/Issues/issues/152
hey. some random guy just joined my server and started hacking. i had nocheatplus installed. somehow he was able to spawn a horse. he got kicked by the plugin when he tried to fly and he didn't come back, so i couldn't ask him for details.
i suggest checking into this horse spawning thing though. i'm running spigot 1.9.2 and ncp jenkins build 959.
@Bancelsi
I'd prefer if the SlimeFun developer did that :p. I'll probably have a look at their code at some point. Likely i'll re-allow non-maven plugins for building, by using some local lib path, so people who compile cncp themselves need to set that up manually in order to get it to compile at all.
hey could you make NoCheat Plus and Slimefun compatible?
@grosse01
Build 959 should fix that, thank you for the report.
@grosse01 @grosse01
Seems like placing EndCrystals is beieng handled another way now. Could you open up a new ticket for us here: https://github.com/NoCheatPlus/Issues/issues ?
@Sitmobedaf
Hi we have a ticket for that now: https://github.com/NoCheatPlus/Issues/issues/152
You can keep track over there, seems Mojang opend a new hole with the new boats in Minecraft 1.9. Will require a new check.
@aZZyCSGO
Hi latest development build should work with it now.
@foxi69
The proper way to find lag is by doing some timings and then checking the results: https://www.spigotmc.org/wiki/timings/
More infos about lag here: https://github.com/NoCheatPlus/Docs/wiki/Lag
Good Luck!
Here is the Picture of this Error: https://picload.org/image/rggiclor/error.endercrystal.jpg
our
https://picload.org/view/rggiclor/error.endercrystal.jpg.html
@foxi69
.yml is readable by the human eye. I would strongly recommend taking a few long hours here, or even taking a peak at my signature (below).
@grosse01
Screenshot the output of /ncp version to give @asofold a better idea of your situation - it does seem that you are running the latest development build, which is a good thing.
Hello my Problem is: [18:33:55] [Server thread/ERROR]: Could not pass event BlockMultiPlaceEvent to NoCheatPlus v3.14.0-SNAPSHOT-sMD5NET-b958 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callBlockMultiPlaceEvent(CraftEventFactory.java:110) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.ItemStack.placeItem(ItemStack.java:156) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.PlayerInteractManager.interact(PlayerInteractManager.java:503) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:759) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:52) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:1) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_51] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_51] at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51] Caused by: java.lang.NoSuchFieldError: END_CRYSTAL at fr.neatmonster.nocheatplus.checks.blockplace.BlockPlaceListener.onBlockPlace(BlockPlaceListener.java:126) [?:?] at sun.reflect.GeneratedMethodAccessor207.invoke(Unknown Source) [?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.8.0_51] at java.lang.reflect.Method.invoke(Method.java:497) [?:1.8.0_51] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) [craftbukkit.jar:git-Spigot-5f38d38-18fbb24] ... 18 more I getting this notification from Time to Time. Spigot Version: git-Spigot-5f38d38-18fbb24 (MC: 1.8.8) (Implementing API version 1.8.8-R0.1-SNAPSHOT)
how can i setup this plugin? because my server is lagg cause of this plugin :(