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).
@drdeft Then give your players this permission.
NeatMonster,
RocketBoots plugin has the feature: it's impossible to take damage after fall whyle gold boots are equiped.
NCP logs every quick-fly landing as cheat using: 2012-04-16 23:09:34 [INFO] NCP: drdeft failed moving.nofall: tried to avoid fall damage for 166.79 blocks. VL 166
@drdeft @drdeft Glad to hear the first issue is fixed. Is the second issue happening in the same conditions?
I released a new build of the v3.5.6 with the fix I included into the version I gave you.
NeatMonster: Looks like no kicking now... but how is it possible to fix this warnings in console and log?
(using gold RocketBoots)
2012-04-16 23:09:17 [INFO] NCP: drdeft failed moving.nofall: tried to avoid fall damage for 33.66 blocks. VL 33
2012-04-16 23:09:34 [INFO] NCP: drdeft failed moving.nofall: tried to avoid fall damage for 166.79 blocks. VL 166
2012-04-16 23:09:41 [INFO] NCP: drdeft failed moving.nofall: tried to avoid fall damage for 10.44 blocks. VL 10
2012-04-16 23:10:43 [WARNING] drdeft moved wrongly!
2012-04-16 23:10:43 [INFO] Got position -96.50525230274069, 65.0, 237.6999999880791
2012-04-16 23:10:43 [INFO] Expected -97.30000001192093, 65.0, 237.6999999880791
NeatMonster, testing development build of your plugin in progress...
@NeatMonster
Thanks for the quick response and fix!
@CourtneyOnFire You're welcome!
I just had to post, I'm glad you guys decided to take on this project, very appreciative, and all the new things you added are great, again thank you for taking on this great plugin.
@drdeft Nevermind, please try this development version: NoCheatPlus.jar.
@cyclo666 Yeah, I'm aware of them.
This is still causing huge problems with mcmmo. Anyone with a high level is completely blocked from superbreaker
NeatMonster, can you tell me the exact time when You will login to our server? We will activate NoCheat+ for you. Now we have AntiCheat plugin activated (because kicking with Nocheat+)
GAMAI.RU Server IP : server1.gamai.ru
Registration link: http://gamai.ru/igrat
Registration info: Name, Login, Password, Confirm password, E-mail, Confirm e-mail.
Spamtest: Digit + or - Digit = answer
Our client: http://gamai.ru/serv/GAMAI.RU.zip
OR
I can send you the light version of our server without autorization in zip (direct http link).
@jdastrup @ezbik Re-download and remove your configuration file. Should be fixed now.
@drdeft PM me your server's IP.
@jdastrup
Same here.
Getting this after loading v3.5.6:
NoCheatPlus doesn't know command 'ban-ip'. Have you forgotten to define it?
We have Portals, which are in the deep hole. And players jump to it... and if they have VIP status, they teleport to another World... other player die )))
But Nocheat+ kicks all players, which jump to portal =(((
@UnitedFactions I'm fine UnitedFactions. I haven't changed any fight check when I forked NoCheat, so if it was working with NoCheat it also works with NoCheat+. Maybe griefing clients were improved so in that case I also need to improve my checks.
@drdeft The stacktrace you posted doesn't come from NoCheat+.
@LaserCucumber I like it, I'll add it to the description.
@fromgate Y U NO READ Instructions.txt?
@andrewkm I replied on IRC, haven't I?
A new version is out! NoPwnage is now integrated into NoCheat+.
@NeatMonster
Not working.... 100% tested. SpamJoin still doesnt go only by new player.dat files, still going off old ones. I set everything up in our test environment and tried everything.
Still recognizes even old player.dat files. I ran a save-all and server stop as well; checked player.dat files, 4 testers are there. Set spamjoin to 2, and had everyone log in at the same time, two got booted; even though their player.dat did infact exist.
Still no good :( Check is set to false.
@NeatMonster I won't add a configurable option for that, but if you have more codes to add to NC+, open a ticket or PM me.
It look like you have all codes, that I know. I think separating block codes of Rei'minimap (7 codes = 7 separate permissions), Minecraft Automap (8 codes = 8 separate permissions), Smart Moving (13 codes = 13 additional permissions) is not a good idea.
Please add an option to config to disable NoCheatPlus block codes. It will prevent any conflict with plugins that allows fine-tuning of block-codes.
"Want to throw a player in jail for breaking a specific rule, announce it to all the players on the server, strike him with lightning, send a goat to his mom, throw a glass of cold water at him while he's showering, replace his toothpaste with meat, cover his toilet bowl with saran wrap and finally ban him for lifetime?"
I fixed it for you.
Conflict with RocketBoots plugin... please fix =)))) please))))
http://dev.bukkit.org/server-mods/rocketboots/
2012-04-16 16:47:00 [INFO] Disconnecting EXTRAYM [/78.27.136.219:1140]: Internal server error 2012-04-16 16:47:00 [WARNING] Failed to handle packet: java.lang.IllegalStateException: Failed to add player. net.minecraft.server.EntityPlayer@b83db(EXTRAYM at -214.25375807887912,63.0,266.93555856384035) already is in chunk -14, 16 java.lang.IllegalStateException: Failed to add player. net.minecraft.server.EntityPlayer@b83db(EXTRAYM at -214.25375807887912,63.0,266.93555856384035) already is in chunk -14, 16 at net.minecraft.server.PlayerInstance.a(PlayerInstance.java:31) at net.minecraft.server.PlayerManager.addPlayer(PlayerManager.java:88) at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:143) at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:129) at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:41) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:68) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:622) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:506) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) 2012-04-16 16:47:01 [INFO] EXTRAYM lost connection: disconnect.endOfStream