Cheating in multi-player gaming (particularly BF5)

I played Aces High - an online flight combat simulator - in the days of modems and 300ms pings (the servers are in America) and hit detection was server-side and it worked fine.

I think twitch shooters with very short time to kill are probably far more time sensitive than that. Especially given there's cover and obstacles in FPS making calculations more complex.
 
I feel old saying this but remember back in the day when you could choose the dedi server you played on :(

I have posted about it recently but the lack of community dedicated servers is stupidity.
 
Ah, that's different. You're relying on the client to be honest, and with cheat software that reliance fails. As I mentioned in my OP, you don't trust the client.

You do if want to sell a playable online game with a ballistic/projectile shooting model. Mitigation is then via verifying game files and monitoring for things such as wireshark, as modern anti-cheat methods do.
 
I'm sorry, but I'm failing to see the link.

Server side hit detection: You click your mouse and see a bullet fly and hit your opponent except they weren't actually there because of latency, they were 1ft further ahead/behind and the server doesn't register that player as hit. You then have to lead targets a different amount dependent on their individual latency to the server, which of course is unrealistic and varies from one second to the next anyway. People then don't buy your game because it's trash and you go out of business.

Scenario 2, client-side hit detection: your clock your mouse and see a bullet fly and hit your opponent. Your client sends a hit detection message to the server and the server registers that player as hit, regardless of their latency at the time. People buy your game and enjoy it because they can learn the mechanics and actually play it, rather than being disappointed by having to compensate for your bad net code decisions.
 
I stopped playing online PvP games as cheating has killed it for me, well that and it's just not fun most of the time. The only reason games have client side hit detection is it reduces the workload on the servers so they cost less and the publishers make more. They know it makes it easy to cheat but don't care, it's all about £££. Peer to peer also reduces costs and will not improve latency.
 
All these wallhacks, aimbots, and the like would be utterly useless if the client didn't have knowledge of targets until necessary.

Aimbots largely work with what is onscreen there is very little you can really do if the cheat authors stay a step ahead of the game other than catch people who don't keep their hacks upto date and/or get unlucky on a new detection pattern. Wallhacks are far more complicated as checking if players are occluded or not can be extremely costly on performance and usually the game server won't be running a full 3D simulation - in games like quake I believe the server would do some filtering based on area portals and the potential visible set but not 100% on that without looking at the source - it is a bit frustrating with the Frostbite engine, etc. that tends to just send every player position regardless all of the time.

Server side hit detection: You click your mouse and see a bullet fly and hit your opponent except they weren't actually there because of latency, they were 1ft further ahead/behind and the server doesn't register that player as hit. You then have to lead targets a different amount dependent on their individual latency to the server, which of course is unrealistic and varies from one second to the next anyway. People then don't buy your game because it's trash and you go out of business.

Scenario 2, client-side hit detection: your clock your mouse and see a bullet fly and hit your opponent. Your client sends a hit detection message to the server and the server registers that player as hit, regardless of their latency at the time. People buy your game and enjoy it because they can learn the mechanics and actually play it, rather than being disappointed by having to compensate for your bad net code decisions.

It doesn't have to be that black and white - someone posted a good link in the Quake Champions thread explaining it and why scenario 2 is actually really bad:

https://forums.overclockers.co.uk/posts/32073474

There was a lag compensation mod for quake 3 that used some client side detection but kept the server largely authoritative with a very small window that the client had much say in the outcome and it is by far the best overall solution.
 
In RoE there's one guy who's currently upto the name 'Unbannable35' (yes, this is his 35th incarnation after 34 previous bans). That pathetic, cheating **** posts on Reddit telling people who point his cheating out to stop playing the game if they don't like being killed by him and his cheats.
 
Most FPS still have server side hit detection etc. This works by effectively rewinding the server to where the players were (not actually rewinded, but effectively the case), therefoert preventing the need to lag compensate your shot; this was actually pioneered in HF2 Death match as far as I know. There are lots of good articles about it on the net. I don't know if this is the case in BF5. The reason stuff like wall hacks and aimbits are so hard to counter is doing LOS calcs on the sever for every player to every player would be very expensive, never mind the packet to then tell players they are visible/invisible every time that changed; sever to client bandwidth is always the limitation. Aimbots are even harder; effectively you can't prevent people rotating as quick as they like, therefore it becomes very hard to prevent a client working out the direction to point to fire their gun.
 
That won't work. The point of the server is to have an untamperable central point of truth. Various games do varying amounts on the client and or server, but normally vital things like hit detection will be sever side (albeit predicted on the client to reduce perceived lag)
 
I remember playing RTCW when they changed to lag compensation (where server would “rewind” to compensate for higher lag players)

if I recall correctly if you had all players under aound 90 ping you didn’t have to lead targets at all and server would feel extremely “precise”

When they added “anti warp” it still felt great, but it almost felt a bit like playing with interleaving turned on, it always felt a little bit off.
 
Back
Top Bottom