NoCheatPlus

NoLogo

NoCheatPlus

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

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

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

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 EcoCityCraft.
  • Do not download from any other source, do not use jars other people send you.
  • Changes by build number can be examined in the Jenkins changes list.
  • All commits can be seen in the GitHub commit history.
  • Plugin statistics are no longer reported to mcstats.org.

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 ticket or add to an existing ticket.
  • To send information that is not to be seen by all, you can also reach us by PM to @asofold and @MyPictures. 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 zachrywilsn zachrywilsn Jan 04, 2014 at 23:17 UTC - 0 likes

    @asofold: Go

    [15:24:12 WARN]: [NoCheatPlus] DataMan inconsistencies: wrong number of online players (29 instead of 28)

    getting spammed with this all of a sudden. no changes to server. what could it be and will it effect server? an would it be ok to turn off in setting?

    [ZachryWilsn]: Server Website: KronicZombies YouTube: ZachryDoesMinecraft

  • Avatar of Flipperflies555 Flipperflies555 Jan 04, 2014 at 15:53 UTC - 0 likes

    Doughnuts! Love you!

  • Avatar of asofold asofold Jan 04, 2014 at 14:01 UTC - 0 likes

    @jimmikaelkael: Go

    Thanks for checking :9.

    @libraryaddict: Go

    So "illegal move" - there should be several ways around it - can you specify what values you change in NMS (e.g.width, height, bounding box parameters)?

    @Wizel603: Go

    I'm afraid for simplicity the delay parameter has been removed from the action commands - except for "ncp delay".

    So you would have to use "ncp delay delay=100 tell wizel603 the message" !

    @Minecraftian_Servers: Go

    Have you updated ProtocolLib in case you are running that?

    BFAK:asofold,90573112,4305cd44b773216e4e4b4865b3831dcc3c507c15087fb5cfeebd9392050724fc

    NoCheatPlus
    Latest release (1.7.2-1.7.10, approved) NoCheatPlus 3.11.1-RC-sMD5NET-b743
    (Development builds: Jenkins)

  • Avatar of Minecraftian_Servers Minecraftian_Servers Jan 04, 2014 at 12:08 UTC - 0 likes

    Hi, after I installed NoCheatPlus, my server has started to crash more often, but I havn't got any errors or anything, so I don't know if its NoCheatPlus, but if anyone else has the problem please reply so the author sees that theres a crashing bug (if there is)

  • Avatar of Wizel603 Wizel603 Jan 04, 2014 at 06:21 UTC - 0 likes

    I may be misunderstanding its use, but when using the form with "delay=(ticks)" below, the message never goes through no matter what I specify for '(ticks)'.

    /ncp tell [delay=(ticks)] (player) (message)
    

    For example, nothing ever shows up on the player's chat when this is entered:

    /ncp tell delay=100 Wizel603 the message
    
  • Avatar of libraryaddict libraryaddict Jan 03, 2014 at 22:46 UTC - 0 likes

    @asofold: Go

    I specifically mean the bounding box.

    I only try to modify packets which normally will not effect anything.

    But to get a larger bounding box so someone disguised as a enderdragon is easily hit with a projectile. I'm forced to hook into nms to change the boundingBox.

    So no. I don't give them any sort of flymode.

    And specially, player is kicked with 'Illegal move'

    BFAK:libraryaddict,75154,c9bc87ad599337d3271d3cb02958adc594ab27bb05cc09136881ff0723c8fcb4

  • Avatar of jimmikaelkael jimmikaelkael Jan 03, 2014 at 15:59 UTC - 0 likes

    @asofold: Go

    I tested as a member, and normally my NoCheatPlus permissions (wildcards) are at the Admin group level, so I doubt I've made this mistake but I'll check twice to be sure. Anyway, I'll try as a new member and will be more verbose with what I used if I can still cheat.

    Thank you for your quick reply, keep up with such great plugin guys !

    EDIT: bad report, sorry.

    Last edited Jan 03, 2014 by jimmikaelkael
  • Avatar of asofold asofold Jan 03, 2014 at 15:52 UTC - 0 likes

    @mrchasez: Go

    The only way to alter block breaking is to allow instant breaking for those blocks (probably not intended, but i f it is about few blocks, it could serve as an emergency-workaround).

    We still have to reproduce this issue.

    @libraryaddict: Go

    Can you be more specific about the conflicts? Which checks alert, what happens?
    If fly works, then likely the checks are not run at all.

    Are the players set to flying when being disguised as an ender-dragon?

    @jimmikaelkael: Go

    Did you ensure not to have bypass permissions (wildcards, nocheatplus.checks, OP)?

    Last edited Jan 03, 2014 by asofold
  • Avatar of jimmikaelkael jimmikaelkael Jan 03, 2014 at 15:34 UTC - 0 likes

    I've tried a recent Nodus version on my 1.7.2 server (Spigot r1224, NCP 3.10.7), and logged in ad a member, seems I can use most of the Cheats (tested Fly and Forcefield) without triggering any VL notification nor being kicked...

    Notification are properly activated as I get VL for old survivalfly method with placing blocks in a protected area.

    EDIT: my bad, I forgot to deop me from a previous commandblock editing session... I'm really sorry for the bad report posted below: once de-opped NCP detects all cheats from the recent Nodus release. I'm sorry, once again.

    Last edited Jan 03, 2014 by jimmikaelkael
  • Avatar of libraryaddict libraryaddict Jan 03, 2014 at 12:24 UTC - 0 likes

    I have a problem with the way you handle one of your methods.

    In your movement check, you fetch the bounding box of the player. Then you ensure he isn't hacking or w/e

    The problem is, the latest feature of my disguise plugin changes the bounding box so that someone disguised as a enderdragon is going to be pummelled with arrows.

    This conflicts.

    Would it be possible for you to start calculating the bounding box using the same method that craftbukkit does to set the bounding box?

    I can't fix this in my plugin. The only thing I can do is spew warnings about NCP conflicts or remove the feature.

    Using the bounding box is a good move, and I know that moving away from it is not extremely simple.

    But there is no alternative.

Facts

Date created
Apr 02, 2012
Categories
Last update
Sep 21, 2014
Development stage
Release
License
GNU General Public License version 3 (GPLv3)
Curse link
NoCheatPlus
Downloads
1,024,877
Recent files

Authors