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 Jan 3, 2013k, i got the following perms and still get prevented from flying directly up
- cfbanner.* - nocheatplus.* - nocheatplus.admin - nocheatplus.checks.moving.* - nocheatplus.checks.moving.survivalfly.* - nocheatplus.mods.* - nocheatplus.mods.zombe.*
-
View User Profile
-
Send Message
Posted Jan 3, 2013@asofold
Yea, kinda scary how we answer always at the same time ;P. I'll post it anyway also xd
-
View User Profile
-
Send Message
Posted Jan 3, 2013@fogest
Fighting, placing blocks, inventory manipulations are counted in, in general (throwing potions too, hitting at long range, altered in the latest dev builds to mainly impact fighting).
What were the players doing?
Both combined.improbable and combined.yawrate aim at bots/fighting-hacks mostly, if you disable them, you will still be "protected" better than with classic NoCheat but force-fields will be much more powerful. (also see below).
@SmashboxGaming
Not sure how you come to post about us believing anything... we are well aware of problems that people have with the improbable check. You could in fact alter the settings of the improbable check, the defaults are probably too "peaceful", though it does not seem that all servers have the same problems with it.
But mostly the balance of the inputs for this check is not good, the whole concept is under review. On our jenkins the latest builds contain some fixes and also reduce the impact of improbable on some things like block placing (using them as input with lower weight, but not blocking them). The improbable check might well get changed/removed for other concepts (event sequence analysis, timed automata, long term settings for fight.speed, mickey mouse). Before going into that, i will certainly adapt the checks influenced by lag to use information that we have from our own lag-measurement methods. That will rule out some problems with moderate lag spikes.
@Waterdust2000
The managelisteners option would let NCP only register one listener per event type with Bukkit. The main point about that was the "future purpose" of being able to register new checks / compatibility listeners, that receive events exactly before or after a certain NCP checks listener, having reliability for wrapping the event processing of NCP. With the latest MC/CB versions we had the impression that some checks listeners were not registering properly or receiving events from Bukkit, also there was no notable performance gain, so we decided to disable the feature until we have time to run the necessary debugging or if it should be really necessary to have it.
It is likely to become a hidden setting until i have time to run more tests and review the code for it.
@MyPictures
Why do we always write these long texts at the same point of time :) - i'll post it anyway :p
-
View User Profile
-
Send Message
Posted Jan 3, 2013@SmashboxGaming
Emmm it has nothing to do with the default settings Smash, the issue is in Combined_Improbable code. So I don't think you will be able to do much (other then disabling it) in the configuration. If you don't believe watch the commit history: https://github.com/NoCheatPlus/NoCheatPlus/commits/master
We are aware of this issue but its not something that is fixable in 2 minutes or less. If you have idea for a fix then feel free to make a pull request: https://github.com/NoCheatPlus/NoCheatPlus/commits/master
Welcome back by the way, I thought you already switched to AntiCheat.
@fogest
Combined_Improbably is a combined check in NC+, so it gets fed by many other different checks such as Angel, Yawrate and much more. What version of CB and NC+ do you have? A ticket would be better for this so we can keep track of this issue :)
@Waterdust2000
Its not listed because its not "included" anymore. However managerlisteners was a experimental feature made by @asofold that should make compatibly and performance better. However we never figured out if it really gives better performance enabled then disabled. The reason why we "removed" it was because it was messing with other checks such as Combined_BedLeave which is a important check for SurvivalFly. So keep it to false for now :)
-
View User Profile
-
Send Message
Posted Jan 2, 2013managelisteners <-- isn't listed on the config page, what does this do exactly?
-
View User Profile
-
Send Message
Posted Jan 2, 2013@SmashboxGaming
This is a rare time it happened. I just want to know what the combination of checks is since it is under the combination check section.
-
View User Profile
-
Send Message
Posted Jan 2, 2013@fogest
I also experienced this, I had to disable them. The NoCheat team refuses to believe their default settings are borderline unplayable.
-
View User Profile
-
Send Message
Posted Jan 2, 2013What are the improbable detection's a combination of? Had some users being raided and they were in a narrow stair well going down. It seems like they were throwing these violations like crazy and got into insanely high volumes, blocking them from even fighting or placing blocks. Just wondering if this violation is an essential one to have, or if I should adjust the config for it to resolve issues like this?
-
View User Profile
-
Send Message
Posted Jan 2, 2013@MyPictures
I hardly ever see above 5 to 7 on join, going through the logs there might be some higher levels also probably with world changes (portals), rarely above 20. With 50 you should be in the hard-to-get without bugs/cheating area.
-
View User Profile
-
Send Message
Posted Jan 2, 2013@asofold
Ouu so you could get a VL over 1 if you join a server that has a really bad connection to you?
-
View User Profile
-
Send Message
Posted Jan 2, 2013@MyPictures
Passable does occasionally alert when players join :) - could be more depending on the connections, which might be unpleasant with bigger servers. To spare the low vl messages just let actions log at higher levels and cancel for lower.
-
View User Profile
-
Send Message
Posted Jan 2, 2013@craftovski
Minecraft is smart enough to let the player move even before the chunks are loaded, so when a player joins he will fall in a block so passable sets him back at the last valid position (causes VL 1). However it should go higher then VL 1 normally, are you sure the player isn't trying to cheat? On what block are your players spawning on join? What your Craftbukkit and NoCheatPlus version? Would be good if you could make a ticket with more info s to your issue (plugin list would be helpful).
There aren't that much noclip hackers around yet so if its really annoying for you then disable Moving_Passable but be aware that this action will allow NoClipping trough blocks/walls of course
@Recolance
There are some reasons why I don't recommend using the vanilla fly check as replacement for SurvivalFly:
- The hacker can just tell the server that he is swimming in water/lava while flying ("workaround" for vanilla fly check)
- The hackers could still fly over tall buildings/walls and just land on the roof or whatever
- You cant control it over permissions
- It wont say anything against small fly hacks such as step and more
- Probably more...
However the speed check is a part of SurvivalFly so if you disable SurvivalFly it probably will also disable the speed check (correct me if I'm wrong).
@XeonG8
If you want to allow zombe mod for some players/groups then give them nocheatplus.mods.zombe.fly and nocheatplus.checks.moving.survivalfly. That should allow them to fly, however by default its not allowed to use any of the cheats in zombes mod packet. Be sure your Craftbukkit and NoCheatPlus version match together and are up to date otherwise some parts of NC+ might not work right for you.
Yes the configuration file will override every made permissions. So if you disable SurvivalFly for example then everyone will be able to fly on your server even without the nocheatplus.checks.moving.survivalfly. Be sure you set allowclientmods to false in the configuration if you want to control the mods over the permissions.
-
View User Profile
-
Send Message
Posted Jan 2, 2013@craftovski
You can also alter the actions for passable to alert only for higher violation levels (see configuration link, something like "cancel vl>10 cancel log:..."). Not sure i will make a delay for passable alerts.
@Recolance
I don't know how good the "native" flying checks are, i think in the past those were not really working out that well. Speed check?
@XeonG8
Speed hacks still somewhat work (not an arbitrary speed gain).
Permissions are always bypass permissions, they can only be used to bypass checks, not to activate. The config flags simply turn off the check.
To explicitly allow speeding you can give the speeding bypass permission and also set the desired speed modifier (needs to be added by hand, rough guide: http://dev.bukkit.org/server-mods/nocheatplus/pages/development/pinboard/#w-survivalfly)
-
View User Profile
-
Send Message
Posted Jan 2, 2013someplayers can speed hack with zombes mod...
I do want to allow it but only for those with the relevant perm node
can anyone tell what i've got to set... and does the config override perm nodes or the other way around?
-
View User Profile
-
Send Message
Posted Jan 2, 2013@asofold
Also I'm assuming the SurvivalFly is automatically handled by bukkit with flying turned off in the server.properties. So turning it off in NCP shouldn't be an issue although it obviously wont be as effective as it is with NCP. Which is fine as long as it is handled. And I'll keep the speed check on. I'll, test some stuff out. Thanks for the info.
-
View User Profile
-
Send Message
Posted Jan 2, 2013So frikin frustrating that when player with idk sucky pc or net, or both joins the server, and world didnt spawn yet for him, NCP lags the whole server with errors Failed Passable -.-
Is there a way to prevent this or to disable it, and if its disabled could players go through walls?
Tx.
-
View User Profile
-
Send Message
Posted Jan 2, 2013@Techtony96
What exactly is wrong with it? Giving players permissions does more harm to your server then CNCP.
@yaitsbilly
NoCheatPlus-MC1.2.5-b241 should be the latest one that will work with Tekkit 1.2.5: https://github.com/NoCheatPlus/NoCheatPlus/downloads
@LordKainzo
At the moment I have some serious trouble with our Web/Jenkins server, it seems that the last power failure caused some damage on it. However I will update it as soon as possible.
NeatMonster is the owner of the nocheatplus.org domain and he is currently inactive which means that we have to access to it. I will probably buy a new domain soon (nocheatplus.net?) and share it with @asofold. I'm don't really like domains such as *.zapto.org, if we are going to bind a domain on it then without zapto ;P. I also plan to bind the Jenkins server on a sub-domain but without access to the nocheatplus.org domain I'm pretty much unable to do this.
@feez2000
Please make a ticket for this issue. It would be nice to have more information about your server (CB/NC+ version, ....).
-
View User Profile
-
Send Message
Posted Jan 2, 2013Bug nofall when u fall in this kind of water fall amortisor:
http://i.imgur.com/nuNYZ.png
failed nofall: tried to avoid fall damage LvL1
-
View User Profile
-
Send Message
Posted Jan 2, 2013@Recolance
350 - I know nothing about your setup - can you add info about versions of NCP / CB and rough average tps, "ncp lag" output would also be interesting? <- If you make a ticket please add such. I assume that the problem is violations handling and lag spikes or lower tps. You should turn off logging for lower VLs (assume you have already, but you can check what it actually logs, at least confine logging to either file or console). At the cost of allowing a little more cheats you might have to turn off vertical-accounting (survivalfly), because it might generate more violations with delays/lag.
@Techtony96
Don't disable the checks, you will be nuked to hell. You can disable all hooks not needed with cncp (mcMMO needs mcMMO-hook + insta-break-hook), i will give it an overhaul with time or even integrate parts into NCP, do you have certain info about "more harm"?
@TheOros
Thanks.
@yaitsbilly
Tekkit is on 1.2.5 ? There was a backport version on GitHub but GitHub is shutting those that down, also our jenkins is causing us trouble, so we are a bit stuck here. I might give it a go to make the main-line of NCP compatible with 1.3 and 1.2.5.
@LordKainzo
Some things happened in the last few days, we are still not fully informed about the causes.
@Jleeevinnn
We are not wizards. Nodus is complying with our specifications for most - which bypasses are you having in mind (might have a look at tickets though)?
@Slipswhitley
You can disable ingame chat alerts with setting logging.ingamechat to false. You should also disable logging to console (to focus on either file or console, or disable all logging).
-
View User Profile
-
Send Message
Posted Jan 1, 2013Is there a way to stop the messages ? I own a server that peaks 400 players so it spams me xD