Or you know, verify the account.. by twitter (they enforce SMS verification), SMS (e.g. using Twilio), gmail (they enforce SMS verification), facebook (they enforce SMS verification), whatsapp business (they enforce SMS verification), telegram (they enforce SMS verification), .. whatevs. You can also check dnsbl if the IP is blacklisted (for spam, being a VPN, tor node, etc). Additionally you can also ban specific ASN's like Google Cloud, Microsoft Azure and Amazon Web Services that allow to spin up vm's free of charge that can be used as a private VPN (you'll not be able to determine if it's a VPN or not). You can also link the accounts to their forum accounts and perform browser fingerprinting (and e.g. put your forum behind cloudflare). Or you know, you can create an invite system where people on the server can invite others, if someone is inviting a lot of cheaters just ban them too. Also limit your registrations per day then, e.g. 100? Many possibilities without the need to be invasive on the client side. We'll never be able to completely prevent ban evasion. Even paid games have the problem that the cheaters just buy a new copy of the game.. one would think that a paywall would work but even that won't work.
The only approach that could deal with most cheaters would be to emulate all interactions server side. I did work on a project that created a minimally working GTA-SA without textures, sounds etc that was around 340 MB. After a lot of tinkering it just wasn't viable or stable, not to mention the hassles of running it at 30 fps while emulating 1000 peds in the game, and on Linux.. a win32 binary. It's not impossible but it just wasn't viable. It's actually how games (e.g. MMO games, Counter Strike, Team Fortress 2) counter most of the cheats (ammo, weapons, speedhacks etc).
Your best bet is a good, large and fast admin team with good automated detection systems, and a very easy reporting system for players. For automated cheat detections just kick the cheater. In case of ammo / weapons cheats just "return 0" in shot/weapon sync for example. Hell I even measured the minimum times between shots as to prevent bullet spam that should be impossible [when I had my last server](https://github.com/grasmanek94/eXe/blob/....cxx#L1117).
The only approach that could deal with most cheaters would be to emulate all interactions server side. I did work on a project that created a minimally working GTA-SA without textures, sounds etc that was around 340 MB. After a lot of tinkering it just wasn't viable or stable, not to mention the hassles of running it at 30 fps while emulating 1000 peds in the game, and on Linux.. a win32 binary. It's not impossible but it just wasn't viable. It's actually how games (e.g. MMO games, Counter Strike, Team Fortress 2) counter most of the cheats (ammo, weapons, speedhacks etc).
Your best bet is a good, large and fast admin team with good automated detection systems, and a very easy reporting system for players. For automated cheat detections just kick the cheater. In case of ammo / weapons cheats just "return 0" in shot/weapon sync for example. Hell I even measured the minimum times between shots as to prevent bullet spam that should be impossible [when I had my last server](https://github.com/grasmanek94/eXe/blob/....cxx#L1117).