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 Jul 18, 2014@VideoGameBlackBelt
Please make a support ticket for this amount of questions, it won't work well on the main-page.
It seems you want to know everything about the config ? Or do you have a specific problem to solve?
If you want to "just know everything", we will have to put this into a ticket and nail down one by one, by adding the explanations to the NCPDocs project, such that you understand those. This should result in a win-win-thing. Please also rather state the full config path, or a non-ambiguous one, e.g. survivalfly.falldamage or blockbreak.frequency.interval or so (don't update all, just copy and paste, we will then go section by section).
-
View User Profile
-
Send Message
Posted Jul 18, 2014@asofold
Im sorry that this is almost the entire config but I literally looked for anything I didn't know or didn't know what to do with and that's why I was looking for a video. Also I'm really tired and its late, so sorry if any of this sounds weird, confusing, doesn't make sense, or I asked a few easy questions. Anyway if you answer this thanks for taking about 3 hours to answer this lol. But if anything I would like an answer on the interval.
1) Interval: Well I would like to know how much an average interval is for catching hackers for survival and creative and I think an interval needs to be different for everything like sprinting fast, sprinting, flying. Could you explain what higher or lower interval does and what would trigger easily or hardly and a good interval point for possible all of them?
2) Configuration Questions: What does expiration and consistency checks mean in the config? What does strict enable if I set it to true/false. What's grace. What does "actions:" do if I put something different? What does direction effect if I would put something to the right of it. What does delay do? What's shorterm and frequency and does it matter if yes can you explain? What does allowall motd and active do? Does ticks limit or actions matter? If so can you explain it? What does handleaschat do? What does length and tries do under captcha?( I have captcha set to true and I put everything on my keyboard next to characters). What does everything do under text (if it's needed).Under warning what does level and timeout do? What does everything under relog do? What does bedleave,enderpearl,improbable,invulnerable,inital ticks,munchhausen and yawrate do if it matters. What does velocity,penalty,factor,canceldead,toolchangepenalty,angle,threshold,falldistance,buffer,minage,maxage,survivaldistance,reduce,reducedistance,reducestep,sparecreative,tweaks1_5,duration,whitelist,items,close,cancelother,horizontalspeed,maxheight,verticalspeed,dealdamage,resetonviolation,resetonteleport,resetonvehicle,anticriticals,blockchangeonly,vcliponly,sfviolation,preventdestroyown,enforcelocation,graceticks,activationticks,strictinvalidation,tempkickillegal,loadchunks: join, sprintinggrace,assumesprint,speedgrace,enforcelocation,everything under compatibility,managelisteners, bukkitapionly,and snow. What should I do about the ignore passable? Everything under strings?
-
View User Profile
-
Send Message
Posted Jul 17, 2014@ProdigyOG
Can't watch it right now, but note that NCP only checks the foot level for passable.
@VideoGameBlackBelt
Video ... would be a long video. It's just somewhat complicated.
What are the actual issues, for which checks do you want to know something?
@Red_Jay
Whatever method they use to get through a door, the point is that you can do something using NCP, only if you do without redstone-driven doors (including explaining that to your players). As @ProdigyOG noted, latency allows to glitch through as well as prevents resdstone driven doors to work for all players for the case of preventing glitching.
-
View User Profile
-
Send Message
Posted Jul 16, 2014@Red_Jay
That's a latency issue.
-
View User Profile
-
Send Message
Posted Jul 16, 2014@asofold
No I'm talking about how if you keep trying to open a door in a restricted area (such as a claimed faction area) it will eventually just teleport glitch you through.
-
View User Profile
-
Send Message
Posted Jul 16, 2014Can someone make a video for the configuration? I'm so confused with all the numbers letters and what things mean. And how high I should set interval, kick messages, other things that say something but I don't know what it means by that. If there already is something great. But I also clicked on the configuration thing at github but it doesn't explain some stuff like how much interval would matter cause I could have other plugins not able to use because of it or someone could extra fast in the hunger games because they were sprint jumping under a tree?
-
View User Profile
-
Send Message
Posted Jul 15, 2014@asofold
https://www.youtube.com/watch?v=uavGPZgi4KA
-
View User Profile
-
Send Message
Posted Jul 15, 2014@Red_Jay
With any door-like objects it's problematic to do, mainly due to latency - doors driven by buttons will be impossible to go through by some players, because when the door is shown open on the client side it'll have closed too soon on server side to receive the player moving through the open door, thus NCP would prevent movig through.
You could override the block flags for the relevant blocks (careful not to use the items, might be things like iron_door_block), setting them to "solid+ground".
@kokonut19
Ok, we need to go to use code tags now, it's too confusing without showing proper indentation. You have to put the "walkingspeed: 50" on the level of that survivalfly section:
Same indentation level as "active: true", be sure to use spaces and no tabs.
Parts of .yml configs you can enclose with code tags like:
(No idea why it shows the }}} and {{{ right now, those are not there...)
-
View User Profile
-
Send Message
Posted Jul 15, 2014@asofold
"You see the checks.moving.survivalfly section in the configuration (checks: ... moving: .... survivalfly: ...)?"
The closest thing i found to that is
survivalfly: active: true extended: vertical-accounting: true falldamage: true actions:
and i still dont know where to put this, I've tried a lot of combinations, but nothing works and i think it might be causing errors.
I might have to rework my game if i cant find a solution to the jumping :[
-
View User Profile
-
Send Message
Posted Jul 15, 2014Is there a way to prevent block glitching through doors and other objects? Only thing I found was: compatibility: managelisteners: false bukkitapionly: false blocks: ignorepassable: - WOODEN_DOOR - IRON_DOOR_BLOCK - TRAP_DOOR - PISTON_EXTENSION - PISTON_MOVING_PIECE
But I don't know if that's what I'm looking for... the NCP config file is hard to understand.
-
View User Profile
-
Send Message
Posted Jul 15, 2014@chrisbruijnes
NCP running in Bukkitapi-oinly mode, did you activate that in the configuration?As @MyPictures stated, your version of NCP is outdated, you should use build 700 (available at BukkitDev) for MC 1.7.9.
@kokonut19
Remove that "survivalfly: 50".
You see the checks.moving.survivalfly section in the configuration (checks: ... moving: .... survivalfly: ...)?
There you add an entry "walkingspeed: 50" to allow only half the speed.
-
View User Profile
-
Send Message
Posted Jul 15, 2014@asofold
Sadly, i am very confused as to where or how i edit in this new value.
survivalfly: 50
Seems to not do anything, maybe ill try editing it lower for now. But hopefully you can clarify that
-
View User Profile
-
Send Message
Posted Jul 15, 2014@chrisbruijnes
Are you somehow giving yourself a sprint boost or something (effect, potion?). Trying out the latest version from our Jenkins (715) or at least build 700 would be something good to do. Cant reproduce your issue somehow, we need more information's here, adding tags the the SurvivalFly notifications would be good.
-
View User Profile
-
Send Message
Posted Jul 15, 2014Version: http://gyazo.com/2e3b7bae332ec7623fcfe393e7df5b59
I'am still at 1.7.9 spigot.
-
View User Profile
-
Send Message
Posted Jul 15, 2014@kokonut19
You can alter the speeds that NCP assumes for walking, sprinting, sneaking, blocking:
https://github.com/asofold/NCPDocs/blob/master/wiki/development/dev-pinboard.creole#survivalfly
You should just need to set the walkingspeed, which has to be added manually to the checks.moving.survivalfly section. A value of 100 is "normal", 50 would be half of that. You should NOT need to set sprintingspeed etc., because those are interpreted relative to the walk(ing)-speed.
@chrisbruijnes
Please post the output of the "ncp version" command, otherwise we start guessing here. We can't always follow movies 100% so you are always on the safe (and rather quick) side with adding text, at least about the server version and the NCP version.
If it is about 1.7.10, please check our Jenkins for development builds for 1.7.10. If you don't want to take the risk of NCP development builds, i'd advise to rather stay on 1.7.9 until plugins update. 1.7.9 servers should be compatible with 1.7.10 clients.
-
View User Profile
-
Send Message
Posted Jul 15, 2014I have a bloody annoying bug.
Video would explain everything: http://www.youtube.com/watch?v=WqVbYt6dOLs
My survivalfly config: (already changed a lot to try to fix it), this bug showed up since a short time, probably a update from spigot? http://gyazo.com/4f26f072710dc5dd0f5facea508b5373
-
View User Profile
-
Send Message
Posted Jul 14, 2014I have a map that has effect "Slow 2" globally. The problem is, playeys can run+jump to move as fast as normal to bypass the "speed limit" i've set.
Is there a way to utilize NoCheatPlus to decrease the normal speed limit check (like when you get frozen and sent backwards if you move unusually quickly)?
I want to bring it down half as much so run+jumpers end up moving slower than they want to.
-
View User Profile
-
Send Message
Posted Jul 14, 2014@Red_Jay
There is an uppercase modifier in text.message, which makes using upper case more "expensive", however you can't have individual actions for upper-case nor filtering it (yet).
-
View User Profile
-
Send Message
Posted Jul 14, 2014How can you change it so that players don't get kicked for using excessive CAPS but it still prevents them from saying it?
-
View User Profile
-
Send Message
Posted Jul 14, 2014@asofold
Asofold - you rock