Why is anti-cheat always client-side? - eviltoast

Why is it not more common to implement anti-cheat on the server instead of the client? Is that not more secure? Couldn’t the server just check what vision a player should have and not provide any other information to prevent wallhacks or maphacks? Or check how fast it is possible to move to prevent speedhacks? Aimbot is a bit harder to detect I guess but what about the other ones?

  • r00ty@kbin.life
    link
    fedilink
    arrow-up
    5
    ·
    11 months ago

    Back in the day (CS1.5/CS1.6) there was a server addon called HLGuard. Where it did some basic checks to see if you should know about another player and not send info unless you need it.

    But, it wasn’t perfect, and you’d still get an advantage from wallhack and of course it cannot stop aimbot. You could perhaps “detect” likely aimbot though. But it did limit the power of wallhack.

    I actually tested it (of course on my own server with a friend who knew I was doing it). What it seemed to do was make sure you only really saw a player when they were very close to a wall where they’d become visible. But of course, close up things like needed to hear audio cues meant you’d often see them through walls anyway.

    Also I never measured it, but it must have taken a fair bit of CPU to make all these determinations for every player on every tick.

    For modern MMOs etc, they are usually VERY client authoritative because they’re handling thousands of players at once and really want to spend as little CPU time on each as possible. So, they will likely want anything they have to be client side.