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.

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 asofold asofold Jan 25, 2015 at 09:56 UTC - 0 likes

    @madbull277: Go

    I am not sure if those support ordinary color coding, usually the actions allow for color codes like &2 for dark green, but we have never tested if those appear in kick messages.

    @ralphhogaboom: Go

    Thank you :).

    @Didiking35: Go

    Are you on Spigot/1.8? You would need to use a development build for currently best compatibility (build 793 to start with, which right now is "latest").

    BFAK:asofold,90573112,4305cd44b773216e4e4b4865b3831dcc3c507c15087fb5cfeebd9392050724fc

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

  • Avatar of Didiking35 Didiking35 Jan 24, 2015 at 22:02 UTC - 0 likes

    hum...

    depth rider enchant on my boots and i cant move when i'm on water...

    how can i counter this ? what do i need to change in the config ?

  • Avatar of ralphhogaboom ralphhogaboom Jan 23, 2015 at 17:06 UTC - 2 likes

    Thank you so much for this plugin. Without it, my server would just be a playground for hacked clients. Instead, I see new players join, NCP console tells me they're trying to fly (VL 500+), and then they just leave. Meanwhile, my core players continue to enjoy each others company, build together, and mine. NCP is awesome, and I'm very grateful for the work you all are doing. <3 <3 <3

    Last edited Jan 23, 2015 by ralphhogaboom

    Plugin dev + admin @ play.hideyourfire.com | now with more survival adventure storyline!

  • Avatar of madbull277 madbull277 Jan 23, 2015 at 12:07 UTC - 1 like

    How do I add colours to my kick messages?

    MineCloud

  • Avatar of asofold asofold Jan 22, 2015 at 10:24 UTC - 1 like

    @HubToo: Go

    I also found the sentence with "generic" now - not entirely sure what i was pointing at back then, i could imagine it to be a left-over entry hinting at the actions parts and active flags which almost all checks have in them, which have been inserted into the checks page.

    The consistencychecks are automatic anyway, there is some checking of internal data, to track effects by NPCs or bugs in either the server or NCP (e.g. certain events missing). I believe you set logging.debug to true, which should be the reason for the messages to appear at all.

    210 blocks is a lot :) - i'd like to detect "most things" automatically, e.g. by comparing known blocks to new ones, currently we need to fill in some extra information, because the server does not always tell us correctly. Using blockbreak.debug, you can see what flags are set for typical vanilla blocks, so it should be possible to copy those for blocks that are shaped same way as vanilla blocks. Unfortunately some blocks have specific (yet hard-coded) workarounds, we will try to work around those at some point, possibly with more flags, until we run out of flags (, which will mean recoding to something more flexible).

    Note that you can't change block break timings other than adding the blocks to the allowinstabreak list right now, which probably is slightly annoying (break whatever block instantly with hands).

    Edit: If you succeed, we could make a wiki page for the mod, containing the necessary change (provided you want to share them).

    @ggtank: Go

    Right now i would make it build 793. We will make a release somewhat soon (weekend ~ really). Until then we will go through a list of fixes and a few checks to alter/add. The latter are more prone to introduce problems, but they will be new checks (packet level, maybe one in the fight section, the fight.speed check will likely be removed for 1.8).

    Last edited Jan 22, 2015 by asofold
  • Avatar of ggtank ggtank Jan 22, 2015 at 10:03 UTC - 0 likes

    Which development version should I use with 1.8 (spigot) ? Which one is the most stable?

  • Avatar of HubToo HubToo Jan 21, 2015 at 21:58 UTC - 0 likes

    @asofold: Go

    Good evening Asofold, and thank you for your reply and your time.

    About supporting exotic configs, i understand perfectly well. The good news being that apart from the few things i mentioned, everything else seems to work.

    The clarification about the *fly config items was very welcomed. Indeed, i was a bit misled. I believe i falled in the second case: i teleported in a high tower made exclusively of mod specific blocks. Surely, this is why NCP believed i was flying.

    For the block flags part, i'm not sure to have understood everything but i will experiment with blockbreak.debug=true.

    In my case, there are 210 unknown blocks.

    For the generic checks section, i was refering to the "data:consistencychecks:" documentation, which i believed was in the following page: https://github.com/asofold/NCPDocs/blob/master/wiki/configuration/checks%2Fchecks.creole and where the "Checks Sections" starts with some TODO lines.

    This evening i found the following page: https://github.com/asofold/NCPDocs/blob/master/wiki/configuration/configuration.creole#data which is closer to what i was seeking, but i have to admit that i haven't understood what the consistencychecks item is really doing.

    Best regards,

  • Avatar of asofold asofold Jan 21, 2015 at 08:15 UTC - 1 like

    @HubToo: Go

    Cauldron + xyz mod ... we can't support all mods out of the box, maybe we can help with configuration, but we can't guarantee that all checks are usable with all mods.

    Some of the checks naming may be misleading.

    • The "creativefly" check monitors flying players, which is not restricted to creative mode. Flying speed in survival mode can matter, but even in creative mode cheaters could create a huge server load if not crash it. That's why we provide limits there. So if you want to fly faste (which game mode?), you can set the speed modifiers higher in the configuration.
    • The survivalfly check monitors normal moving in terms of "no flying". If your mod reports different block shapes or if there are unknown blocks, there might be problems with walking on those. In fact the mod might change all moving, or just miss out firing events that are to be in Bukkit servers. Our checks are optimized for the vanilla server and its capabilities.

    The block flags part is part-explainen here:
    https://github.com/asofold/NCPDocs/blob/master/wiki/configuration/compatibility/..%2F..%2Fdevelopment%2Fdev-pinboard.creole#overrideflags

    How many blocks is it about ?

    What do you mean with the "generic checks section" ? We are currently reworking the wiki in the background to bring it up to date, but what else do you need to adjust?

    @chrishillz: Go

    We don't recommend banning automatically in general, thus we could only assist with questions about individual checks, probably IRC (spigot) is a better place to exchange experience with such, it's also somewhat crowded.

    Concerning kicking, IRC might also be better, because checks have different kinds of false positives. It's thinkable that we provide a strict config with kicking some day, but currently too many things change, so it'll not happen soon.

  • Avatar of chrishillz chrishillz Jan 21, 2015 at 03:00 UTC - 0 likes

    Would any of the developers here mind sending me a strict version of the config for my server? I would like it to kick people more strictly and ban those who are certainly hacking.

  • Avatar of HubToo HubToo Jan 20, 2015 at 21:54 UTC - 0 likes

    Hello,

    I'm testing the plugin in a Cauldron-MCPC-Plus-1.7.10-1.1236.06.212 server, using several common plugins and the following mods: Lord of the Rings b21.3 / More player models 1.7.10b

    My server log contains a whole lot of missing block entries:

    [Server thread/WARN]: --- Missing entries -------------------------------
    [Server thread/WARN]: * MISSING 165(LOTR_TILELOTR_ROCK / IGN_PASSABLE)
    

    How can i declare them? I didn't find the place and syntax to do that?

    The log also contains many messages such as:

    [Server thread/INFO]: [NoCheatPlus] Consistency-checks run.
    

    As the generic checks section is not yet filled in the wiki, can you explain what is it about, so that i may safely ignore that, or disable it.

    Thanks in advance!

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,100,441
Recent files

Authors