Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
vdrift server
02-15-2007, 02:23 PM,
#18
 
Well, first of all, you gotta decide how important cheat detection is for you. For starters, i think there won't be many cheaters (vdrift user base is not very big now, right?), so discussing this is probably overkill.

In any case, you just can not use only input data for multiplaying. You're gonna lose a hell of a lot of packets, and i doubt your server can cope with computing other 5 other cars physics, at 5x realtime, in order to keep up with wall time.

And of course, you can't rely solely on unreliable (aka UDP) input data. Remember what happened to Driver replays when you simply changed screen resolution? After half a minute, the car would start going havoc, ending up on its roof, steering and braking like it was still on 4 wheels! :lol: . 1nsane suffered from the same problem, sometimes after only 1 minute of replay. I'm sure there's this kinf od chaos effect in more games. That's why nowadays, most sims (lfs, isi sims, nknamie, nkpro, ...) use recorded results (positions, etc.) instead of input data.

And that was just replays, now imagine if you lose data because of packets not arriving... :?


Also, simply changing the architecture may influence the computations. For example, Intel internally uses 80-or-so bits (can't recall the exact number) for some floats, even if the IEEE standard defines only 64 (or whatever) must be used. Let alone having DirectX lowering CPU precision on the fly when it wants to increase framerates. So even with full input data recorded, it's already very difficult to get the same outcome.
That's why i mention the server must have a config for each type of client. The main differences are usually between different OSs (windows vs linux vs macos); the minor differences might be possible to be fixed with clever coding. I don't know for sure.



Also, a 2% deviation in 20min race can easily mean the difference between first and third. Cheating by dupping the engine torque is stupid, since everyone can notice it. Cheating by increasing your car torque by 2% is what can help you.

Also be careful with what you measure in order to know the "deviation". Time when passing a checkpoint? Speed? Position? The distance difference between hitting a barrier and just missing it can be smaller just a coupl millimeters, but the resulting difference in position after a second might be 20 meters, your car may now be facing bacwards, with a speed of -40mph, and going on 2 wheels :o



Anyway... like i said, is it necessary to care this much about cheating already?
I suggest to know all these issues, so that your code doesn't need to be rewriten too much in the future (1), but continue coding whatever you're doing now, like a proper multiplayer code, proper suspension physics, etc.


[1) For example, if you need random numbers in your physics computations, forget about using random random seeds (for ex. based on time), instead use predefined random seeds (based on any arbitrary number) that you can set the same one in all the clients, or when replaying, or when checking for cheats in the server. And so on...]
Reply


Messages In This Thread
vdrift server - by feldmaus - 07-24-2006, 03:37 PM
[No subject] - by uldics - 02-11-2007, 05:23 AM
[No subject] - by Nigo - 02-11-2007, 05:36 AM
[No subject] - by uldics - 02-11-2007, 07:15 AM
[No subject] - by Nigo - 02-11-2007, 11:46 AM
[No subject] - by thelusiv - 02-11-2007, 02:53 PM
[No subject] - by Nigo - 02-12-2007, 10:17 AM
[No subject] - by thelusiv - 02-12-2007, 09:43 PM
[No subject] - by Nigo - 02-13-2007, 08:28 AM
[No subject] - by thelusiv - 02-13-2007, 09:03 AM
[No subject] - by Nigo - 02-13-2007, 09:13 AM
[No subject] - by stenyak - 02-14-2007, 06:19 AM
[No subject] - by Nigo - 02-14-2007, 02:19 PM
[No subject] - by thelusiv - 02-14-2007, 06:06 PM
[No subject] - by stenyak - 02-14-2007, 06:18 PM
[No subject] - by thelusiv - 02-15-2007, 05:20 AM
[No subject] - by Nigo - 02-15-2007, 01:43 PM
[No subject] - by stenyak - 02-15-2007, 02:23 PM
[No subject] - by Nigo - 02-16-2007, 12:24 PM
[No subject] - by thelusiv - 02-16-2007, 09:24 PM
[No subject] - by Nigo - 02-19-2007, 09:57 AM
[No subject] - by thelusiv - 02-19-2007, 01:43 PM
[No subject] - by Nigo - 02-22-2007, 01:58 PM
[No subject] - by thelusiv - 02-23-2007, 03:19 PM
[No subject] - by Nigo - 02-25-2007, 09:39 AM
[No subject] - by thelusiv - 02-25-2007, 01:03 PM
[No subject] - by stenyak - 02-25-2007, 02:28 PM
[No subject] - by Nigo - 02-26-2007, 04:55 AM
[No subject] - by stenyak - 02-26-2007, 07:16 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)