In a competitive game don't let clients dictate what the server does. Although I understand there is a performance issue. But clients should not be trusted.
Would that work for lag? I assume there is some predictive aspects to a fluent gameplay these days. Also for the server to decide which e.g. player someone can see or not, seems quite intense.
This seems inadequate to prevent aim assistance too.
I mean it's a moot point anyway, since it's probably not too long until bots can play all games better, without additional information or help.
Prediction in online multiplayer games has been around since real-time multiplayer games existed. From my own first experience the first versions of counter-strike 1.x had it, but I'm pretty sure it started quite a while before that.
And yes its a classic arms race, in the simple example I can connect my bot to the display output and to input as keyboard and mouse / gamepad and you could probably pretty easily get an aimbot that's superhuman.
Who the fk cares if people cheat in online games? Funnily enough, a hell of a lot of people, but they are generally not talking about online video games, instead they are talking about protocols like DNS, HTTPS, amplication DoS attacks, cryptocurrencies, elections, any number of other things, and it turns out these really hard to impossible to solve, and they definitely don't lend themselves to real time multiplayer games easily.
For games it much easier, you just let people host their own servers, you let them own the compute, you let them manage and mod the servers, you let them build communities of people they want to play with. See Minecraft. Pretty sure that made a bit of money without worrying about losing revenue to some inventive kids who priate/mod/whatever the game. -_oo_-
Would aimbots be impossible to make if there was no anti-lag / network prediction code? As a thought experiment, imagine a game which has only single player and LAN multiplayer (Local Area Network), where you have to physically connect computers to each other. Games used to be played like that decades ago, and today we have PCs that are much more mobile - notebooks and laptops. As far as I know, LAN has super good network latency and it could work without lag compensation code. Didn't DooM work like that? Also Quake before QuakeWorld.
You don't have to lecture me about the practicality of releasing a game that has LAN only multiplayer, or that people have jobs, kids and responsibilities. I get that.
Aimbots are simple, you reskin the other players head, then detect where on the canvas that color is. As others have mentioned you could probably use external tools like a video camera aim system. You can't do much about aimbots. But you can make it so that the game takes more skill then "point and click". I used to play a lot of Unreal Tournament (the classic) in instagib mode which meant one shot instant kill, but even then I was able to win over players with auto aim. You just waited for them to shoot someone else, then you killed them while their weapon was cooling down. You couldn't shoot them in the back as they used 360 field of view, so you had to know the map well.
Players/athletes that cheat usually do it because they want a shortcut, and thus can not become very good. Or there is a financial incentive, where you cheat just a little bit in order to make a living doing what you love, and those cheats are the most problematic as they are hard to catch.
This seems inadequate to prevent aim assistance too.
I mean it's a moot point anyway, since it's probably not too long until bots can play all games better, without additional information or help.