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 May 15, 2013@Shevchikden
I'm afraid data values are not (yet) supported concerning flags.
If copper ore is a fully solid block then you needn't ign_passable, because players are not needed to move into the block.In that case ground|solid should do. If it should happen that the server reports the wrong shape, like a smaller one, then you could add xz100|height100 to indicate that the block covers a full blocks size, but i assume that is not necessary.
I will add explanations about the flags, in fact ground is the important flag for standing on a block in general, solid has more relevance for passing through blocks and if vines are climbable for instance, ign_passable is allows to pass through a block even though it is solid (added that because i originally wanted to keep the original minecraft property 'solid' reflected in the flags). There might be some cleanup / reduction some day, most flags have been added to make some workaround possible to support vanilla blocks in the first place.
-
View User Profile
-
Send Message
Posted May 15, 2013@asofold
Thx. that was just what i needed.
But for example i wan't to stay on copper ore(but i can't, it triggers survival fly), i think it's flags should be as iron ore, what is the flag for iron ore?
NVM figured it, it's SOLID|IGN_PASSABLE|GROUND
but how to use id:data in config?
for example 250:1
how i should add it config, it doesn't work in this format/
-
View User Profile
-
Send Message
Posted May 15, 2013@Shevchikden
There will be more but currently this is what is possible:
http://dev.bukkit.org/server-mods/nocheatplus/pages/nocheat-plus-development/pinboard/#w-blocks
-
View User Profile
-
Send Message
Posted May 15, 2013Can you add a user-editible file for id's, where you can set if the item from mod is a block(which will allow to stand on it).?
-
View User Profile
-
Send Message
Posted May 15, 2013@marcusant
Build 515 does something about it, though i still get violations when shifting to and fro multiple times with a couple of soup items (not with many stacks of stones for some reason).
The reason why this is still in is "tweaks" such as chest stealers. for multiple different items still more clicks are necessary, so some "skill" is needed to loot the average chest quickly.
-
View User Profile
-
Send Message
Posted May 14, 2013@MyPictures
Moves all of that item into the target inventory
-
View User Profile
-
Send Message
Posted May 14, 2013@marcusant
Okay nvm. I could reproduce it. Do you know what this shift clicking does?
-
View User Profile
-
Send Message
Posted May 14, 2013@marcusant
Okay. Can we see your "FastClick" check config part? Default one is this:
Be sure that tweaks1_5 is set to true. I will try to reproduce this as soon as possible but for now you can disable it by setting active: false for it. And you need this check still because ChestStealers still have a advantage to normal players even with the new inventory management.
-
View User Profile
-
Send Message
Posted May 14, 2013@MyPictures
Latest version of Spigot
NocheatPlus build #512 from Jenkins
Configuration generated by NoCheatPlus 3.9.1-RC-b509.
Not even sure why that check is even needed with 1.5's new inventory features though...
-
View User Profile
-
Send Message
Posted May 14, 2013@marcusant
Version of NoCheatPlus and CraftBukkit? Also version of the NoCheatPlus configuration file (First line)?
@craftik7
Thanks. Always get your fresh NC+ builds from here only!
-
View User Profile
-
Send Message
Posted May 14, 2013My friend send me NoHackerPlus and my server got griefed! Just kidding. Your plugin is legendary, and works great! I wish you nice day
-
View User Profile
-
Send Message
Posted May 14, 2013Users seem to be failing the moved items too quickly check when they double shift click an item in their inventory when they have more in their hotbar
http://www.youtube.com/watch?v=JmdxjcYUvCs&feature=youtu.be
-
View User Profile
-
Send Message
Posted May 14, 2013@NemesisMate
@MyPictures
One could use the vanish api for those cases (nearby players, invisibility potion effect or sneaking+obstacle), not necessarily needed to use protocol level.
The problems would be (also with protocol level):
So it certainly is possible, but it is by far not simple, will need a lot of experiment, could be a plugin of its own. Might be that one day one of the directions (disguise plugins, vanish plugins, anti hack plugins) will cover this topic, but it doubt it will be soon...
-
View User Profile
-
Send Message
Posted May 13, 2013@MyPictures
Thanks soooooo much!
-
View User Profile
-
Send Message
Posted May 13, 2013@NemesisMate
Ooo that would actually be a quite complex implementation. The invisible potion one is easy to do but hiding entities based on their obstacle visibility would be quite difficult because you would have to do a lot of ray-tracing which causes a performance drop on your server. Thats the only way I can think of. However that would be way too complex to be implemented in NC+ itself, @asofold has some raytrace basics implemented in NC+ but accessing the packet level in a difficult part of it... ProtocolLib is one solution but yea.. Not sure really.
-
View User Profile
-
Send Message
Posted May 13, 2013@MyPictures
Sorry.... I think I'm not explaining me well enough. I want to let my users see other users if they are far, so I can't user playerincubes because this limits the distance view they see other players. The only thing I want is to limit that users using tracers and radars to see near shifted or invisible players. This is why I suggested to hide them based on the obstacle visibility:
"Another problem is that it needs packet-level manipulations which we can't do in a reliable way without using an external plugin like ProtocolLib, also having in mind plugin compatibility."
What I said after is that to depend on ProtocolLib to enable this (so if protcollib isn't installed not enabling) is not as bad as cheats are.
-
View User Profile
-
Send Message
Posted May 13, 2013@Anthony071611
Set "ingamechat" to false in your configuration file and no NC+ will still run actions on the "cheaters" if they fail a check and block/reset them. All what this does is deny NC+ to show logs in your chat (need notify permission).You can also check out our logging docs to learn how actions in NC+ work.
@NemesisMate
I quote: "I would like to have a large distance view but limit those with cheats" - What exactly do you mean with "large distance view"? PlayerLocations and RenderDistance is something completely different. All what PlayersInCubes and the implementation in Spigot does is hide/not send players and/or mobs that are too far away from the cheater/player.
Those are the settings for entitiy tracking range (Spigot):
And this here is the view/render distance (In server.properties or bukkit.yml (depends on the mod you use):
view-distance=10So players will still be able to play at "Far" render distance if you allow that in your "view-distance" setting but they won't see players that are the 48 (configurable) or more blocks away. Protocol Lib cant really change that also, it will simple act like Spigots "entity tracking" implementation at the end.
-
View User Profile
-
Send Message
Posted May 13, 2013@MyPictures
I didn't mean to send to select clients :S. I meant to do what I said in first place, without mattering if ProtocolLib is required on server or not.
-
View User Profile
-
Send Message
Posted May 13, 2013By giving them access means they can use it? I cant even see chat with all the hacks players use. How do i turn the alerts off.
-
View User Profile
-
Send Message
Posted May 13, 2013@NemesisMate
Thats not possible. Its like having Orebfuscator and saying: "I want Orebfuscator to only sent fake chunks to those clients that use a xray hack and the vanilla clients (without xray hack) should get the original chunks". The server can't know if the client is using a radar hack or not, basically what a radar hack does is take the player locations that it got from the server and show it on a radar/minimap (so fully client sided hack). The only way to prevent this is to limit the player location range that the server sends to all clients. Not even NoCheatPlus together with ProtocolLib can do something against those kind of client sided cheats.
So best solution: Use Spigot or PlayerInCubes (Spigot is better for compatibility and also hides all entities not only players)
@De24
No. This line is the motd that gets sent to the client which tells it to turn on/off some mods (Rei, Zombe, ....). If you want to remove this you simply have to set " allowclientmods: true" or give the right permissions but be aware that this will allow all players to activate their mods on your server (However they still won't be able to fly with zombe mod for example).
I and @asofold are investigating to somehow avoid this blank line but that probably will also require the modders to change the "motd reading" method and use the xx channel instead for example...