back

by josephcsible·5y ago·view on hn ↗
If your attempts to prevent cheating rely on a "trusted" client, you're going to have cheaters whether or not your code is LGPL. The only right way to stop cheaters is to run game logic on the server.
2 comments
A lot of cheats are visual cues and only alter the rendering, not the game logic: wallhacks or texture hacks for instance. You also have auto-aim cheats, etc. Running the game logic on the server, which you should do, will not help in these cases.

Running the rendering itself on the server (Stadia) would probably help, but even then with a hacked client you could add auto aims, and alter the visual stream.

Can't you fix wallhacks by just having the server not send the position of things that the client doesn't have line-of-sight to?

And as for auto-aim, can't cheaters do that no matter how draconian your anti-cheat measures are, by, e.g., connecting a fake USB mouse connected to a camera pointed at their screen?

> Can't you fix wallhacks by just having the server not send the position of things that the client doesn't have line-of-sight to?

No, at least not for real-time games. Latency compensation means that the client needs more data than the player "should" see.

> And as for auto-aim, can't cheaters do that no matter how draconian your anti-cheat measures are, by, e.g., connecting a fake USB mouse connected to a camera pointed at their screen?

If you can make a USB device that does that, I'm sure you have better things to spend your time on that trivial matters like cheating in games.

LeagueSharp (developers of cheating tools for League of Legends) is said to have had a revenue of several million dollars per year for their subscription services. I would say that this classifies as serious business.
Huh, that's interesting.

Still... the proposal by the poster I replied to basically amounts to something close enough to general AI so as to be world-changing stuff, IMO. :)

It's non trivial. A lot of games require trusted clients because of client side latency compensation. Also any game that requires mechanical skill (e.g. aim in an fps or actions per minute in rts) is susceptible to cheating even if all logic is serverside.

Of course trusted clients are problematic, but there is no simple solution.

But just not releasing the source code doesn't even stop those kinds of cheats. Even games that make you install a privacy-invading kernel driver to play still get cheaters.
Yeah. Realistically, this is like trying to reprogram your opponents brain to prevent them from cheating at basketball... even if you make it work, it is morally untenable: you need a referee.