Changelog and Downloads
Read the versions of NoCheat and what has changed over time. This is the place to get the very latest version even before curse approves of it. You can choose to download from curse servers, or my dropbox account.
[CB 1.1 R6/R/7 and CB 1.2 R0.x]
- fight.instantheal check: Prevent players from artificially speeding up their life regeneration due to food saturation
- vines climbable
- fix breaking of "cmd" actions in R6
- make "flightheight" relative to world height instead of absolute (also got a new default value)
- very extensive source documentation
[CB 1.1 R4]
- make sure dead players really "die"
- Permissions explained in "Instructions.txt"
- Removed "chat.spambot" check (will probably soon become part of my other plugin "NoPwnage" instead)
- Fix walking/jumping on/over Nether Fence
- Added ".silent" permission node for all checks. Don't log messages for that player and check, but still do everything else as usual
- fix broken movement check of Nocheat. They'd detect flying, but not prevent it
- fix new spambot check to really be disabled when set "active: false"
- replaced two of the default servers for spambot check with alternatives, you'll have to delete that entry from your config file to get the new servers (delete the whole line "servers: ...", not just the actual servers from your config.yml)
v 3.4.0 broken
- new check "chat.spambot": Try to determine if players connect from public proxies and therefore are most likely to be used for mass spamming (multiple players connect and are remotely controlled)
- improved fight.direction check to be adapt better to enemies of unusual big or small height (e.g. Endermen, Chicken)
- REWRITTEN "Instructions.txt" file. Please take a look at it, it should be much more readable and informative
[CB 1.1 R3]
- added an additional safeguard to interworld teleports
- log messages from "chat.spam" are now cleaned of color codes of players
- spellchecked and fixed a lot of errors in the Instructions.txt file
- fixed bug in instantbow/instanteat checks that prevented them from working correctly
- added check "fight.godmode" which should prevent players from exploiting a design flaw that makes them invulnerable to attacks
- added "hidden" options to set walking/sprinting/swimming/sneaking speed limits. These don't show up in the automatically generated config, because almost nobody should need to change these. But you can add these options yourself to plugin.yml. See "Instructions.txt" for details.
- fixed flight/wallclimbing detection because it got more permissive than intended in one of the earlier updates
- fixed inventory.instanteat check, to really do the check (everytime)
- modified statistics API and command behaviour. If the player is known to NoCheat, data for all checks (not only those that have been failed) will be given.
- fix config file entries. "CHECKinventory" changed to the correct "check.inventory"
- to use the "/nocheat reload" command, you now need "nocheat.admin.commands" and the new node "nocheat.admin.reload"
- new check "inventory.instantbow": identify players that are charging their bows too fast
- new check "inventory.instanteat": identify players eating their food too fast
- new checks may cause problems in case of lag
- fix teleports
v 3.1.0 broken teleports, do not use
- Prevent exploitation of the missing cooperation of the moving.runfly and moving.morepackets checks
- Support MonsterEffect.JUMP, at least rudimentary (Boost potions etc.)
- moving.morepackets check should now no longer be crippled by low TPS
- moving.morepackets check will now stop hacking players faster than before
- Fix detection of water, should fix problems when jumping close to or out of water
- added moving.nofall "aggressive" mode to detect and prevent additional forms of "nofall" hacks
- the aggressive mode for the nofall check is toggleable in the config file
- broken teleports, do not use
- Make the warnings about server lag toggleable and disabled by default (option "logging.debugmessages" is used to toggle).
- Updated the default limit of the fight.speed check from 10 to 15 (you'll have to do that yourself, it will only be done automatically when a new config gets generated)
- Reduced the maximum speed limit when sprinting from 0.4 blocks to 0.35 blocks per step (let's see how that goes)
- Print a warning on the console when NoCheat detects lag and subsequently deactivates some checks (moving.morepackets, fight.speed).
- Really compile with CB 1.1 R3 and not like I accidentially did for 3.0.0 with the yet unfinished CB 1.1 R4
- New configuration system: Main config file is now "config.yml", instructions are found in "Instructions.txt". World specific configurations are done as usual by copying "config.yml" and renaming it to "worldname_config.yml". Please delete the old "config.txt", "actions.txt", "default_actions.txt" etc.
- Fundamentally changed how logging works and can be set up.
- Removed a lot of configuration settings and hardcoded them instead. People are confused by too much options, it seems.
- Added new checks: "fight.reach" and "fight.speed" to limit reach and the max. amount of attacks per second when fighting
- chat.spam check: Allow having different limits for commands and "normal" chat messages
- Allow players to move faster than usual on ice (jumping and sprinting)
- Use CraftBukkit's new faster and simpler event system
- other things that I probably forgot
- THESE WERE SOME REALLY BIG CHANGES, SO EXPECT SOME THINGS TO NOT WORK PROPERLY YET.
[CB 1.0.1 R1 (RB 1597)]
- BREAKING CHANGE: To use NoCheats commands, you'll need now the "nocheat.admin.commands" node. All the individual nodes per command have been removed. This way Bukkit can handle permission checking for me.
- New check "chat.color": Filters color codes from chat messages from players. As usual, there is a permission node, config file stuff etc. for it.
- our CommandSender is now a ConsoleCommandSender, because some plugins insist on differentiating between those two things
- should fix plugins ignoring "consolecommand" actions
- reverted changed behaviour of consolecommands. Back to the insecure, DO IT RIGHT NOW! behaviour.
- will e.g. cause a NullPointerException when players get kicked for dropping too many items, but that's not "lethal" (simply ignore it).
- should fix jumping on and off redstone repeaters
- Fix MobArena shutdown NullPointerException (again)
- Fix some problems when players lose and then get "nocheat.checks.moving" permission(s)
- Catch unexpected errors when executing commands
- BREAKING CHANGE: consolecommand actions are executed a little bit delayed with a bukkit task instead of instantly for safety reasons
- New check "inventory.drop": Kick people if they drop too many items within a short timeframe (default limit is 100 item(stacks) within 20 seconds)
- Likely fixed NullPointerException when MobArena plugin shuts down
- Removed fight.selfhit check, as it causes problems all over the place with other plugins and isn't that security relevant anymore
- Don't check BlockBreakEvents that can't come from a player (therefore have to come from a plugin), fixes compatibility with "LumberJack" plugin and probably a few others that I don't even know of
- Reduced maximum movement speed a little bit by removing/nerfing a workaround for bunnyhopping
- Support commandbooks "rocket" command, precious stones etc. stuff that launches players very high in the air better than before
- Fix NPE on teleports
- Show command listing to everybody that has at least one of the permissions for them
- Better compatibility with Heroes plugin (fighting related)
- Likely fixed spamcheck completely stopping people from chatting
- Limit fly height of players (because players that fly very high cause lag)
- restructuring code, to get NoCheat better abstracted from Bukkit/CraftBukkit/Minecraft
- Fixed trapdoors blocking players from climbing up through them
- Fixed nofall check dealing damage to players when they switch from creative to normal mode in some cases
- Fixed some descriptions in config.txt
- First "real" MC 1.0.1 version for "CB 1.0.1 R2" (1597), no longer downward compatible with RB 1337
- Fixed seldom error about IllegalAccessException when trying to print log messages
- Default warning level of "selfhit" check is now only "med", not "high"
- Making sprinting depend on food level, and give the option to ignore food level (allowhungrysprinting)
- Removed godmode fix, because this Bukkit build fixes it
- Updated NoCheat's internal block property list for new blocks, e.g. Nether fences
- Minor modifications to how the "movement" checks decide if a player is on ground or not, making the code easier to understand (for me)
- Hopefully better compatibility with Heroes plugin
- Maybe I broke something, let's hope not
[CB 1337-1550+ for Minecraft Server 1.8.1-1.0.1]
- fixed chat becoming unusable when using plugins that constantly teleport players around (e.g. auth plugins).
- made info of "/nocheat playerinfo" and corresponding API call more verbose (differentiate between flying, running, sneaking, swimming)
- new bugfix "inventory.closebeforeteleports" (default true) which will cleanly close all inventory screens of players when they get teleported, preventing smuggling of items past plugins between worlds and duplication in many cases.
- projectiles should no longer be handled by the "fight" checks, even if they are used by players to attack other players
- Has a bad bug in it, don't use this
- make NoCheat detect the newer MC 1.0.1 versions
- new command "/nocheat playerinfo playername [filter]" allows you to see what data NoCheat collected about a player.
- NoCheat API: "cc.co.evenprime.bukkit.nocheat.NoCheat : public Map<String, Object> getPlayerData(String playerName);" to collect that data about from a different plugin. Data values collected are all String, Integer or Long (whatever makes sense respectively). Data for a player is available for about 1 minute after he left the server, then gets discarded.
- added emergency fix for dead players becoming invincible and still being able to interact with their environment
- walking on lily pads no longer should cause problems
- removed godmode, because after further investigation it seems simply fubar.
- added chat.empty check to identify players that send empty messages (not possible in normal minecraft) and kick them immediatly
- tweaked config files a bit, to produce an additional and more useful error message in some cases and prevent complete wiping of the file in a certain case
- fixed "godmode" check going on a rampage whenever a player dies and doesn't press the respawn immediatly in MC 1.0.0 versions (it's a bug in craftbukkit that prevents player.isDead() from correctly reporting the players death). This is a workaround for that bug, now using "player.getHealth() <= 0" instead.
- fixed default reach distances for "reach" checks to newer, bigger distances.
- removed a debug output line I accidentially left in the code that you'd see whenever a new player is found
- first real MC 1.0.0 version, while still fully backwards compatible to MC 1.8.1
- Only show a warning about potentially wrong version combination of NoCheat + CraftBukkit when really necessary
- Work in a "safe" mode if the server is running an unknown MC version
[CB 1337 for Minecraft Server 1.8.1]
- maybe fixed "can't edit config file" bug (needs testing)
- Now we use Maven to build NoCheat and package it
- potential fix for all those "player can't fight, place, break blocks etc." problems people started having with 2.16
- Finally fixes problems that started with 2.16
- fixed failed reach checks in creative mode
- fixed minecarts and other vehicles making problems in relation to the playermove check
- I believe there may still be a bug somewhere in there, so if you notice something that wasn't a problem in 2.15 but is now, please tell. I can't fix what I don't know.
- Still has some bugs, please use 2.16c instead
- sprinting no longer food dependent (for testing purposes - if your 2.16 sprint problem is gone now, please tell)
- some saveguards and warnings for unexpected systemtime changes (may fix the random "can't build" problems)
- Hopefully that helps track down the issues
- Still has some bugs, please use 2.16b instead
- far less sensitive Godmode check
- removed "blockplace.onliquid" check (because it seemed to be buggy in certain situations)
- make sure to only check direct attacks in "fight.xxx" checks, not e.g. arrows
- new option "debug.compatibility" defaulting to "true": Fix some bad behaviour of other plugins on the fly ...
- ... that should fix the "I can't sprint despite having permission"-type problems people have
- massive rewrite of NoCheats internal handling of events, started to collect everything that's not Bukkit-API calls into one class to make porting of the plugin to other projects that are based on Bukkit (e.g. glowstone) far less painful, better encapsulation of each test type, class hierarchies, less code repetition, ...
- I hope I didn't bork anything in the process. I've tested a bit and didn't find anything serious, but if you do, please tell.
- Seems like some people got problems with this version (players randomly unable to build/destroy blocks). Please try 2.16a instead
- new check blockplace.direction: test if a player looks at the block he is building against, and if he looks at the correct side of the block
- new check blockbreak.noswing: test if a player swings his arm before breaking blocks
- new check fight.noswing: test if a player swings his arm before hitting other players
- output of "nocheat permlist" command is now sorted alphabetically
- some other small code changes
- not tested very much, if you have problems, please tell
- NOT WORKING WITH CB dev builds for 1.9 Pre 5 Minecraft
- dead people shouldn't fail the godmode check
- new check "timed.godmode": Identify and prevent the use of a known method for achieving invulnerability on a server
- related configuration and permission node changes
[CB 1317 for Minecraft Server 1.8.1]
- fix calculation of violationlevel for "moving.runfly/vertical" check in case you don't cancel events
- changed when and how player data is discarded by NoCheat, potentially fixing problems when Nocheat is kicking players with a "customcommand"
- some small changes to default config (again)
- new check "fight.selfhit" to detect/prevent people from hitting themself
- should work btw. with 1240 and 1337 too, just forgot to change the message at startup, so I label this as 1317
- Respect the "MobEffect" that increases player speed (for compatibility with Heroes plugin and 1.9 potions)
- Reduce memory usage by recycling objects instead of creating instantiating new ones
- Some changed default settings to make less "noise"
- default log messages changed a little
- Lots of very little other improvements
- fixed minor bug in "blockbreak.direction" check that would prevent the "timeout" from working
- players have to have a food level of more than 5 to sprint now
- messages from "runfly" check are now more descriptive, instead of "horizontal" you'll get now "sneak", "walk", "swim" or "sprint" shown as the failed check
- try to reduce risk of "reload" causing players to mass-fail the morepackets check
- whitelist for spam check. define commands/messages that should not be counted as spam here, seperated by comma
- changed the default config of spam check: get kicked for extensive spamming
- choose your own message prefix of NoCheat (default is "NC: ").
- Color for nocheats chat messages. Use &0, &1, ... &e and &f to set the color. This is supported for log messages and the new message prefix
- updated blockbreak.direction check to work like the fight.direction check, meaning failing the check gives you a timeout in which you aren't allowed to break another block
- fixed spelling error in config file "alkingspeedlimit" -> "walkingspeedlimit"
- make fight.direction check only increase violation level if the server didn't experience lag shortly before
- make fight.direction check violation level drop faster when legitimately hitting enemies
- make fight.direction check violation level depend on the distance between expected and real attack location, instead of just increasing it by 1 with every failed check
- Some code refactoring, cleanup
- Use Bukkits ConsoleCommandSender instead of implementing our own
- Keep some data of players when they logout for a while, in case they come back
- New check "fight.direction" to identify most "kill-aura"/"force-field" hacks
- Option to set a penalty time for failing the "fight.direction" check , during which no further attacks are allowed
[CB 1240 for Minecraft Server 1.8.1]
- new command "/nocheat performance", displays some performance statistics about how much time NoCheat took to handle certain event types
- minor code cleanup
- now officially with a "/nocheat reload" command and corresponding permission node
- further code cleanup and simplification
- remove stored data about players when they disconnect
- removed player interact check for invinite durability hack because bukkit fixed that in 1240
v 2.09 [buggy]
- Removed NoClip check, as it was broken and I don't want to fix it
- Removed legacy "itemdupe by drop hack" protection, as it is no longer needed and could be exploited for other kinds of item duplication in combination with specific plugins
- Modified config.txt - it now includes descriptions from descriptions.txt at the end of the file.
- big internal improvements, which should result in much better performance and less used memory when players fail checks, especially "chat.spam".
- Removed Gui config editor, as it didn't survive those modifications. It will be back at some point, probably.
[CB 1185 for Minecraft Server 1.8.1]
- Refined "nofall" check, to only "punish" for the perceived difference in fall distances, not the full distance
- slightly modified falldamage calculation in general, to always count the "last step" as part of the fall (fixes a loophole that could be used for bypassing the nofall check)
- replaced default nofall damage multiplier with 120 (was 200). You may want to change that in your config.txt
- might have some side effects on something else in the game, if a player manages to "go down" with a speed of more than 2 blocks per tick (a tick is 1/20 second) WITHOUT actually falling and without riding a vehicle. I personally believe such a situation doesn't exist. If you can think of one, tell me.
- fixed chat.spam check
- chat.spam check will now also count and prevent command spam
- added option to automatically identify/ignore creative mode for the "moving" checks
- added option to check "insta-breaking" blocks too in the "blockbreak.direction" check. Disabled by default, because it will annoy your players/cause false positives, but also defeat most "nukers" in creative mode
- added command "/nocheat permlist player [permission]" to show the permissions that a specific player has
- added permission "nocheat.admin.permlist" to limit the command to certain people
- does work with CB 1191+
- reset internal fall damage counter if a player gets new velocity assigned
- better support for rocketboots plugin and similar (less likely to pull players down out of the air)
- onliquid check should no longer produce "random" error messages
- does NOT work with CB 1191+
- fixed bug in chat.spam check (no exceptions if players used illegal characters)
- more info from "onliquid" check in the logs
- Permissions nodes updated, you no longer have the ".*" behind the nodes
[CB ???? for Minecraft Server 1.8]
These downloads are experimental. CB gets multiple changes per day, any of them may break these downloads.
- reenabled blockbreak.reach check for creative mode, because the server doesn't do basic sanity checks.
- built specifically for CB #1150, no guarantees that it works for earlier/later versions
- refined "nofall" check, let the game do the damage, we only correct the fall height
- built specifically for CB #1150, no guarantees that it works for earlier/later versions
- implemented "nofall" check, which should identify players that use a "nofalldamage" mod when they land and can deal them falldamage if needed
- built specifically for CB #1150, no guarantees that it works for earlier/later versions
- may break in combination with Spout (not tested yet)
- Rewritten "blockplace.onliquid" check to maybe avoid problems some people have
- Players that are in creative mode are always allowed to fly with default "creative-mode-speed"
- Refactoring of movement check to be more clear about what it does (new Permissions/Configuration!!)
- Workarounds for bug in Minecraft related to jumping while sprinting
- potential workarounds for players experienceing teleportation-related problems
- fix a bug that would allow a player to fly at the same level of height infinitely
- Deactivate blockbreak.reach check for players in creative mode
- built specifically for CB #1138, no guarantees that it works for earlier/later versions
- revise your Permissions settings. Some things changed since last version
- revise your Configuration settings. Some things changed since last version
- rudimentary sprinting support + some changed names for options to better reflect that
- ONLY TESTED WITH CB #1118, may break for any other version. Added a warning on startup to reflect that.
These Downloads are only meant for use with CraftBukkit 1060. Even if it seems like it works for older or newer CB versions, don't use them. It will cause lots of obscure errors that just cost you and me time and nerves.
- allow deactivation of the "active checks" list on startup
- move listener for "chat.spam" check from "high" to "lowest" to support HeroChat and similar
- Fix missing option descriptions
- fix formatting of plugin.yml
- Fix harmless NPE in combination with portals, if portals have no default target location set
- Updated link in readme.txt to point to BukkitDev
- Display which checks are active in which world on startup
- new check "chat.spam". Allows to set a timeframe and a limit of messages for that timeframe.
- Fix item dupe exploit in combination with .drop prevention of Craftbukkit
- Some code cleanup
- measure serverside lag in a seperate thread, once every 20 ticks
- (Server) lag resistant "more packets" check, will deactivate itself temporarily if lag > 0.5 seconds to avoid false positives
- minor adjustments to default config settings
- fixed a bug that would deactivate the durability check if the morepackets check got deactivated (c+p mistake)
- New "more packets" check may let more hacks slip through, especially if the server is under high load
- create directories for action-files, if they don't exist already (fixes bug when running NoCheat the very first time)
- Respect the -p parameter of craftbukkit (it changes the plugin directory)
- "logfile" config option is now relative to the "Nocheat/" folder, instead of relative to the folder where craftbukkit runs
- try to create necessary folders if they don't exist, when "logfile" config option contains folders
- new check "blockplace.reach": limit distance at which blocks may be placed
- new check "blockplace.liquid": don't allow block placing onto liquids
- new permission nodes and config options for the two new blockplace checks
- added infinite durability hack check
- deactivated parts of the NoClip check (until I find a replacement/way to fix it)
- still missing some features known from 1.xx, but I'm getting there
- initial release of the 2.00 version of NoCheat
- rewrite from scratch, consider it a new plugin
- full multiworld support
- full superperms support
- missing some features of the 1.xx versions, will be readded later
v 1.14f and older
If you need the install instructions for the 1.xx versions, they are stored here
Even older Changelogs and Download links: versionlog.html