Cheaters - how is it technically possible?

I realy dont understand how cheating in this game can work.

I had a cheater in my last match, reported him, but then again, it made me wonder:

When I got him on the floor and picked him up, he stung me with the knife. But:

He never got hooked, so this perk could never be enabled, and secondly the cheater didnt have any perks at all! How can a game, that presumably runs on a server, accept instructions like that, when it makes no sense? Is there no check before the game engine executes those commands? Did they never heard of something like "never trust input from a user or a foreign system"??

Comments

  • ImNotBobDylan
    ImNotBobDylan Member Posts: 221

    At some point when writing software you have to trust that other parts of the code work fine. Nobody in their right mind writes code thinking "what if this function gets spoofed" especially when the kind of checks you suggest adding can sometimes be expensive and it's better to have them client-side to not lag the server (remember that >99% of users are not cheating).

    Even if they would fix the DS thing you mentioned, this would only make blatant cheaters slightly less annoying, but subtle cheaters (which are the worst) could still use things like wallhack or speed boost which are likely impossible to patch.

  • edgarpoop
    edgarpoop Member Posts: 8,248

    The game doesn't do plausibility checks on the server side. The anti-cheat client runs on the user's PC.

    What you run into very quickly trying to account for every dependency is a very bulky program. How hot do we want our CPUs to get while they're checking for every possible permutation of cheating? It also becomes expensive to maintain that level of security client side or server side. Every update means re-writing those dependencies based on new perks or mechanics. Also, in the case of DS, how is that coded? Is it coded as a generic stun with a length variable? So then are we saying killers can't be stunned before the 1st hook or are we re-writing the code for DS? It gets out of hand quickly.

    So you turn to anti-cheat software on the client or server to detect scripts themselves rather than individual actions.