← Back to context

Comment by drnick1

5 days ago

The anticheat needs to be server-side to be credible, i.e. the game should be designed to only provide the information that client needs for fair play. I know this isn't easy, but it should be the goal.

Client still needs to know coordinates of opponents and other objects that could be in their view within the next 200ms, and once the client knows those, a cheating client can reveal opponent positions. You can't enforce that server side without adding huge mandatory lag to all clients.

  • ~~No, with a correct implementation, the server will only send positions of clients actually visible (taking occlusion and view frustum into account). It's complex, but so are modern engines. It's totally doable.~~

    EDIT: sorry, I completely misread your comment. You're right about the latency issue, but that's also an issue with client-side prediction implementations, which provide a small window in which all client packets are trusted, rather than just the latest ones (eg to be able to rewind when computing collision detection in a fast paced shooter)

    The real challenge to solve is botting, which includes things like aimbots, macros the negate recoil, etc. It's basically impossible to solve this, regardless of operating system or hardware (eg external cheat peripherals)

    I see it as a moderation issue, which is unavoidable. Just focus on building tools to help users report cheaters rather than try to automate the whole thing via flawed anticheat spyware, and missing out on potentially the next big PC gaming platform in the process.

    • > aimbots, macros the negate recoil, etc. It's basically impossible to solve this

      It's not. But it is much more expensive on the server-side, i.e. paid by the company, so the real solution of mainframe + thin clients is not one that companies want to implement. Instead, they rely on computing on the client model, which is what opens up the door to cheats.

      E.g. Aimbots and Recoil suppressors are non existent if it's the server calculating trajectories and telling the clients "your bullet hit exactly here (X, Y, Z), go draw an impact texture in there". But as said, that means a lot of computing done on the server. Not cheap, but given the $millions invested so far in anticheat tech over the years, one has to wonder if it wouldn't really be cheaper, after all...

  • But you can detect serverside (at least probabilistically) if a user is abusing it to their advantage.

    Some Valve guy gave a great talk about their cheating detection a while back; I found it incredibly impressive: https://youtu.be/ObhK8lUfIlc (can't comment on their effectiveness these days, haven't played CS in a long time)

    • The problem with building a secret profile on players based on undisclosed metrics is that could be flagging legitimate programming tools as "risk". What if a programmer who likes to hack and mod other games decides to play a Valve game? You don't know how their "risk" score is calculated.

      For example, I've seen other programs refuse to run if you had Sysinternals Procmon running, or various standalone debuggers. Would you be deemed a "risky" user if you used tools like that?

      1 reply →

    • That video is a fraud as far as I can tell. Playing cs in high elo's is more than 50% of the matches with cheaters. I played with a team of cheaters one time that was even blackmailing the opposing team for real money, and they got it, and blackmailed again, than they disabled cheats. This is a whole industry. That was one of the last times I played. I actually encountered the same cheaters a few days later.