-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fight checks improvements/implementations #51
Comments
Some really good points are raised here. For me, I would like to keep everything in one issue to keep everything organized. I'll merge/move future fight improvements to this issue.
Here's my current list of Ideas to expand the fight check:
|
Factions and SkyWars for instance, are the first game-modes that would come into my mind where being able to simultaneously interact with blocks and attack surrounding players can be very exploitable.
Was thinking about the practicality of maintaining such checks too; given the right situation/gamemode/scenario, multi-actions can grant a nice upper-hand to the cheating player, but not so critical to the point where we’d need to add a dedicated check, I could also imagine all kind of false positives that they’d bring... Overall, they are probably not worth to develop, especially when Fight.Direction should (realistically) prevent all those scenarios already, however, as long as the entity/player is in a reasonable FOV range, it won’t trigger, leaving room for abuses like these. (Perhaps improbable (feeding it when a suspicious attack + block interaction has been detected) would suit this role even better ...) :p More concerning Fight.Critical: More (random thought about Angle - forgot to mention this before): |
Going to update this ticket with my current plans. I recently add a PitchPattern check, which works somewhat similar to what I described in the MovePattern check. Its a really effective check at detecting KillAura and has detected all of the few clients I tested it against. If you want to see a demo of this check, watch the video I made here: https://youtu.be/CS81ikk4cX8. I still plan to work on further developing the click pattern check. Will most likely merge the ClickConsistency/Speed check with that. Fight.Visible, ImpossibleHit and Critical is still something that I plan to work on. Fight.Accuracy and Fight.Target would be out of the mix for me. Seems like something too easy to bypass and too much to account for to prevent false positives. I'll also look into further developing this check: NoCheatPlus@2f53fb4 - Current state is prone to false positives but can be effective at catching some clients fairly easily. |
Perhaps that "EqualsRotate" check could be added as well. I'd merge it with WrongTurn however, just to not end up having a myriad of checks around. :p On an unrelated note: I know NCP had a Fight.Knockback check designed to catch this behaviour in the past, but it has been removed ever since the CTRL sprint feature was introduced, moreover, it was notorious for being ineffective and spilling false positives all over the place as well |
Going to put a hold on this enhancement for now in favor of improving/fixing other checks than focusing on adding more. |
(Let me know if you wish me to split everything into different tickets)
The current implementation is rather ineffective regarding most of the modern critical cheat modules; while it can technically detect onGround variants through the config, by editing "falldistance" to something higher, doing so, the check would spit out so many false positives to the point where you're not even able to distinguish a legit player from an actual cheater. So, having a new check method alongside the "lowjump" one would be nice :p
"Fight.Impossiblehit" :
I think this one is one of those checks that has been requested countless of times over the years of NCP's development... :p
Basically a check that can prevent:
(Most requested) ->
-Hitting whilst eating;
-Hitting whilst blocking with a sword/shield (1.8/1.9+);
-Hitting whilst being dead (This one is already in place but it could get rearranged in this check);
(Possibly more) ->
-Hitting whilst breaking/interacting/placing a block;
-Hitting while having an open inventory (Although the server doesn't tell us whether an inventory is open or not... Would also fit better in the inventory check section perhaps... :p)
"Fight.Visible":
Prevent cheaters from hitting entities through walls and obstacles (This one has been queued ever since by asofold, I think...)
"Fight.Target":
Heuristic check which would prevent players from hitting entities through other entities' hitbox
It'd catch a lot of KillAura modules which don't perform any ray-tracing and target(/ignore) only specific entities (Thinking of large crowds of players and/or entities... :p)
More inputs/ideas/suggestions(...) are very much welcome :)
The text was updated successfully, but these errors were encountered: