Quote:
Originally Posted by Best Coder 2014
Just use the "pullback" (MsgAction with action = 108) packet whenever a player goes too fast. I think that's what ConquerPS and most other "decent" servers do.
|
Server side speedhack checks should always be implemented but are in no way accurate.
Quote:
Originally Posted by .Ocularis
Good idea, but it creates a problem for those with low throughput networks or those networks with high latency to the carrier. Especially with cellular and satellite networks, data can come through in bursts after a long pause, same with DSL networks; the majority of players use DSL to connect to my servers. A couple or three jump packets get caught up in one of these pauses, then sent at once.. what's going to happen to that player? Disconnection, ban (like TQ not more than a year ago :p)??
I suppose you could use the time stamps in the client packets, though they could be easily edited, extra server-side checks could be necessary.
|
Based on my minor testing recently, it appears as though the client side timestamps are also not accurate in earlier patches.
Yes, they work but they often will be far closer together than they should be (claiming the client jumped twice within ~300 ms when that's obviously not the case)
In my experience you want basic server side checks to catch very obvious speed hackers (say jumping faster than 400-500 ms and ensuring the check is not performed right after fly/xp/transformation ends and not checking during those states) but you're still going to want some sort of extra protection (such as a client side exploit check or invisible proxy that sends extra validation to the server)
It's my VERY limited understanding that ConquerPS uses heavy client editing to accomplish most of their features and as part of those changes added a large amount of extra data verification both to the client and server which is how they accurately detect things like speedhack.