Quote:
Originally Posted by magnon
aha i see but i think it's not Easy to make that 
|
Everything is difficult when you don't know what you're doing. Not by any means saying it's simple but at the same time... the more knowledge you have, the easier things will become (across the board).
Quote:
Originally Posted by -impulse-
Cheat-Engine team fixed that shit. Now it alters only your fps. Well, Cheat-Engine or TQ idk which one but you can speed freely and the ping will come as it should (every 7 seconds). Checking for times is not good either, because you some people may be lagging indeed and it's pretty hard to make one work very well so that the kick rate for lagger would be minimal and for speeders maximal.
|
I could be having a 'special' moment but could you not keep track of server timestamp and client timestamp. Then use those to account for any ping variation to arrive at a much more accurate measurement of speed?
SUPER rough example...
uint lastJumpServer, lastJumpClient = 0;
Every single time someone makes a valid jump (checked dmap and speed already) you set server jump to server time and client jump to the time received in the jump packet (clients timestamp... based on COMPUTER).
Then when calculating if they are speed hacking basically say...
serverSinceLastJump = currentServerTime - lastJumpServer;//We know how many ms since we processed their last jump. Note this CANNOT be safely used as they could be lagging and it could be an issue where multiple jump packets are being received in the same buffer)
clientSinceLastJump = currentClientTime - lastJumpClient;//We now know how many ms the client reports it has been since its last jump. This is not effected by cheat engine. Only by packet based speedhacks which are going to be harder to prevent anyways.
Now we can use these to do a VERY basic check for speed hack.
You're in NO way perfect and you'd still need to check more than 1 jump in a row but it gives you a starting point. Past that it boils down to a good player reporting system as well as active (invisible) gms.
A simple /view CharName cmd would be awesome. Basically clone your character onto them to view all their actions without them ever being aware of it.