NoCheatPlus

NoLogo

NoCheatPlus

Detect and fight the exploitation of various flaws/bugs in Minecraft!

Features Permissions Commands Configuration Jenkins

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.

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, Citizens, MagicSpells 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.

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

Support

Documentation Resources

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).

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of asofold asofold Aug 11, 2015 at 04:53 UTC - 0 likes

    @File14: Go

    That would indeed be interesting, also setting probabilities for cancel (or commands). Currently it's not supported, i assume it's been like that with the original NoCheat, can't be entirely sure though.

    A couple of optimizations rely on cancelling and it's some question how/where exactly to work a similar solution or if to just make delay+repeat possible everywhere (might then include an overhaul of some chunk of the internal bookkeeping of violations for performance reasons). So this isn't as quick to change as it might seem at first glance.

    BFAK:asofold,90573112,4305cd44b773216e4e4b4865b3831dcc3c507c15087fb5cfeebd9392050724fc

    NoCheatPlus
    Latest beta release (1.8.x, this site) 3.13.0-BETA-sMD5NET-b878
    (Development builds, 1.8.x: Jenkins)

  • Avatar of File14 File14 Aug 10, 2015 at 21:36 UTC - 0 likes

    can you add delay and repeat for cancel? This would be awesome. :D

  • Avatar of asofold asofold Aug 09, 2015 at 16:17 UTC - 1 like

    @MCTylerPVP: Go

    Of course we want hacks covered out of the box. Currently a couple of checks are buggy and have to be repaired, but you also have to account for the fact, that many cheats are just adapting to the plugins on the market, so they try to stay off the radar. In addition to that there are a couple of client-side-only hacks, which can not simply be fought on server side, like marking enemy players or types of radar. Other things we don't monitor due to the complexity and the fact that Spigot and other plugins cover that sufficiently well, e.g. xray or spamming fake entities out of sight.

    Currently we are focusing on fixing false positives in survialfly. Then we will make fight checks operable again (specifically fight.speed), and improve/add other checks, e.g. flying, hitting through walls.

  • Avatar of MCTylerPVP MCTylerPVP Aug 09, 2015 at 14:18 UTC - 0 likes

    Can you make it to where "OOB" this plugin prevents most cheating? I installed Jam client and tested with a alt and that player was able to use almost every cheat except fastbow.

    Last edited Aug 09, 2015 by MCTylerPVP

    MC Client Link-EODCraft.com- WebPage http://EODCraft.com

  • Avatar of asofold asofold Aug 09, 2015 at 01:22 UTC - 0 likes

    @File14: Go

    Can it be reproduced at will? Maybe we'll have it fixed soon anyway, but more information coul be useful (1. /ncp version 2. [tags] in flylong and flyshort messages).

    @adambll: Go

    You can remove the log actions (log:.... until the next space) for the checks.moving.morepackets and the checks.moving.passable checks , at least for the lower violation levels then.

  • Avatar of adambll adambll Aug 08, 2015 at 19:26 UTC - 0 likes

    Is there a way to disable ingame messages for specific actions? So for example: I still want to see if someone fails Survivalfly but I don't wanna see MovedIntoABlock or SendmorePackets Ingame.

    How do I do this?

    I know there is /ncp notify off but I only want to notify me on specific ones.

  • Avatar of File14 File14 Aug 08, 2015 at 09:00 UTC - 0 likes

    It's saying that somebody cheated when they died in lava. Survival fly cheat. Are there some way to set so it's not so sensitive? Cause there are alot false positives with SurvivalFly... :/

  • Avatar of asofold asofold Aug 07, 2015 at 23:07 UTC - 0 likes

    @Har88: Go

    The parts in ProtocolLib can't be done with the Bukkit API, so those features might be missing. It needn't be the world, but the spamming of moving packets (without causing Bukkit to fire an event for it), had been used to freeze other players locally an get rid of potion effects (and other), not sure it is that much of an issue with latest Spigot. The SoundDistance check attempts to prevent player locations to get revealed by lightning effects, matter of taste.

    In future we will code more for packet level, e.g. a replacement for the fight.speed check, which had been rendered inoperable by a change in CraftBukkit a while ago.

    @Errota: Go

    There already exist tickets on that one. I myself can't reproduce this, but i assume that we will either get it reproduced or make a workaround (set back to void).

    @Theepwner: Go

    Good point!

  • Avatar of Theepwner Theepwner Aug 07, 2015 at 09:54 UTC - 0 likes

    @Har88: Go

    Have you reported that issue to the developer?

  • Avatar of Errota Errota Aug 06, 2015 at 14:35 UTC - 0 likes

    Hello,

    I run a large network and on my SkyPvP world when players fall into the void then get teleported back to the block they last stood on? Any fix?

    Kind regards, Jamie J M

Facts

Date created
Apr 02, 2012
Categories
Last update
Jan 31, 2016
Development stage
Release
License
GNU General Public License version 3 (GPLv3)
Curse link
NoCheatPlus
Reverse relationships
4
Downloads
1,455,425
Recent files

Authors

Relationships

Optional dependency
ProtocolLib