NoCheat
Thank You!
Thanks to everyone who used and liked this plugin. I've set the plugin to "abandoned" status myself (that's why there is a red box above this text), because it describes best the current status of this plugin. Thanks to everyone that supported me during the year of development, with money, bug reports or simply kind words.
What now?
NoCheat 3.5.0 no longer works with recent CraftBukkit build and you will no longer get any updates or support from me anymore.
If you want to see the original version of this description page for this plugin, you can find a copy of it here: Original plugin description
Replacements for NoCheat
Check out these plugins.
NoCheat+
It is based on NoCheat's code and is therefore similar in how it works. But it also adds a ton of new features. You can find it HERE.
NoCheat Classic
It is the original NoCheat without any modifications beyond what is necessary to make it work on modern CraftBukkit versions. If you like NoCheat exactly the way it is, this may be what you are looking for. You can find it HERE.
AntiCheat
Is a new plugin that's built from scratch. That means it will behave and feel different to NoCheat. I'm sure the developer appreciates new users and bug reports. Get it HERE.
Make your own
Don't like the presented alternatives? You may just create your own plugin instead. The source code for NoCheat is HERE.
Nice thanks.
@OrgyMotherfucker
Good idea. I'll have to look into how colorcodes in Minecraft chat work before doing that though.
@bigggan
By default, yes, it does allow creative mode flying and prevents hack flying.
@w000rm
Hm, good question. I suggest you use the plugin for a while, e.g. 10 minutes and then run the command "/nocheat performance". It will tell you how much processing time NoCheat wasted, and especially how much time on average for specific events. NoCheat uses only little memory per player, so that's normally no issue (if I had to give a number I'd say no more than 5 MB for 100 online players, but I'd have to calculate that first). Based on the per event times you can guess how many players it will support (e.g. moveEventTime * 20 * numberofplayers = time used per second for the "player_move" event. Compared to player_move, all other stuff NoCheat does is neglegible, as other events aren't called nearly as often.
My hosting says NoCheat causes lag. LOL. Should I kick them in the mouth or did the plugin really become heavy-weight?
@Evenprime85
Does this allow creative flying, and blocks hack flying?
Thanks, buddy. I appreciate it. And keep up the good work, so far I love this. Another suggestion though, would be to allow us to change the prefix. I'd like to put some color in my [NC] so it stands out more.
@OrgyMotherfucker
O thought I had changed it already. My mistake. It's correct now.
Oh and again can you update OrgyMotherfucker -"Legit hardcore faction-based PvP: mc.bighecks.net:25565" to OrgyMotherfucker -"Legit hardcore faction-based PvP: keshcraft.com:25565" please? My domain registrar for bighecks.net is retarded
@Evenprime85
Alright, nice to know. I tell you, there is no joy like watching a forcefielder get killed by the console automatically mid-fight and then kicked.
@OrgyMotherfucker
It should be a harder to reach 10 by accident now. Those that use force-field will however reach it much faster than before, so you can probably increase it anyway, e.g. to 20.
@Evenprime85
So will I also need to change the violation level settings, or will it be even harder for them to reach 10 now?
@OrgyMotherfucker
Updated now. The fight.direction check will now
- only increase the violation level if the server didn't have considerable lag (using the same method to determine that as with the moving.morepackets check)
- increase the violation level by the square root of the distance between expected/real line of sight, instead of always by 1 for every failed check.
- decrease the violation level by 20% every time the player manages to hit the enemy while it is in line of sight, instead of just 5%.
That should help to easier distinguish between those with lag/bad luck and those that blatantly just look somewhere and still attack enemies/animals.
@OrgyMotherfucker
Hard to say. I'll modify the check slightly with the next version, such that the violation level doesn't grow so fast or shrinks faster with the next version. I think it would be possible to reach 10 currently without cheating, if you have bad luck.
I've set it to not act until they get to violation level 10 on the forcefield detection, but some (not many) are complaining that they aren't forcefielding. I call bullshit. What do you think, should I raise the bar?
Also, what's the next addition?
and last thing, can you update the mc.bighecks.net to keshcraft.com? same port <3
@OrgyMotherfucker
Nice to hear that it actually works. :D
I'll add checking for attack distance and frequency eventually. Compared to what it already does, those two should be simple to add.
So far, I'm loving the new anti-forcefield. Would be nice if you could figure out how to detect while they're facing the target as well, though. Again, maybe you could implement speed check, just to easily detect some of the lazier clients.
But for the check that it does do, it works perfectly. Makes it easy to detect them, too. I've got it setup to kill and then kick them when violation reaches 10.
50 kills and bans.
The kill is so the users they're forcefielding against will get their items. A bigger loss to the cheater. :)
New version 2.11 is now online, featuring a "fight.direction" check which will try to identify those hacks that allow players to attack all entities close to them ("forcefield"/"kill-aura" and the like).
As a little bonus, not only can it prevent the attack from happening, but also deny all following attacks for a specific timeframe (default 0.5 seconds, you can change that). If the player fails the check again during that time, the timer gets reset. This may result in players using one of the above named hacks to be unable to attack anything (even if hitting correctly from time to time), while most normal players will not notice that delay anyway and think it's just the normal game imprecision when one or two of their clicks didn't result in damaging the enemy.
Overall this should encourage players to aim better and only click when there is a good chance to hit the enemy player, instead of spamming left mouse button while flailing their crosshair wildly across the screen.
To prevent log spam, with default settings the check will only spew out log messages if players fail the check a lot, because legitimate players will fail that check from time to time too, due to normal lag and the enemy changing location before the attack gets processed by the server.
@spowney
Field of view check is almost done now. I could recycle most of the field of view check for block breaking. copypasta ftw. I'll look into the fake jumping while hitting then. Didn't bother yet to read up on how those critical hits work.
btw. me got a l33t logo now. I spent almost 30 seconds at a logo generator website for that masterpiece. :)
@Evenprime85
Defiantly concentrate on the field of view check.
Hitting 20 times a second was purely laziness and it is now updated to only send a hit packet after the flinch time.
It would be useful to have an onground=true/false check as changing the variable before a hit/click gains critical hits 100% of the time.
Hitting distance has been updated to 8 blocks from the 4 due to sprinting. As this increased distance is proportional to the increase in speed (sprinting) and the latency maybe some kind of hit distance / latency algorithm could be used to detect people hitting from an abnormal distance.
As the guy who wrote and very publicly released some ground breaking pvp hacks that mx decided to protect against I have a few decent ideas on how to stop some of them too.
A lot of people don't realise that I wrote some of these hacks to point out some obvious flaws in the pvp code with a view to someone patching it. Others point out that I did more harm than good. But long-term it's better to have code like this public than in secret.
Get in touch if you're stuck on ideas as I don't want to post some of them publicly.
Cheers, spowney/jay_92
You may need to implement both checks. A smart forcefielder will face their target and thus make it harder to detect in that way.
However, if I see something like: An attack of Player x took on average 40 miliseconds. He attacked 20 times in 0.803 seconds.
Then it's quite obvious they're force fielding. Would be even better if I could set it to /ban them automatically for it.
Both checks together should work amazingly.
@OrgyMotherfucker
Thank you. I've added you to the supporters list.
I just read that "mxAntiPVPCheat" may be continued by somebody else, but the last message from that person was almost two weeks ago. So I'll first implement my own ideas instead of trying to copy how that plugin worked such that, in the unlikely event that it really comes back, both plugins serve a purpose instead of doing the exact same thing. So I'll focus on a field-of-view check first instead of the x-attacks-per-second approach "mxAntiPVPCheat" takes, for now.