3 ms·
> Here’s the crucial step. Since the server gets all the input with timestamps, it can authoritatively reconstruct the world at any instant in the past. In part
by nightpool 5y ago
> Here’s the crucial step. Since the server gets all the input with timestamps, it can authoritatively reconstruct the world at any instant in the past. In particular, it can reconstruct the world exactly as it looked like to any client at any point in time.
Isn't there a really obvious exploit here? The client could lie about the timestamps and use that to take advantage of future information in making its decisions. For example, in a simplified fighting game where you have two attacks (top and bottom) and two blocks, it could always choose the perfect block to apply before the opponent attacks—simply by seeing the incoming attack packet, and then immediately sending a block packet with an "older" timestamp. This doesn't entirely break the concept of an authoritative server, but it seems to diminish it significantly. I know lots of fighting games use this "rollback-type" netcode, maybe they've developed workarounds for this?
- reitzensteinm 5y agoThis absolutely is a concern with rollback networking (I have done a bunch of games in it). There are two ways you can cheat. Because you have the full simulation state and input, there is no possible precaution against map hacks. Some FPS games just won't send exact player positions until the client is about to be able to legitimately observe them. Not possible here. The other way is, as you say, you can build fake inputs. To do the timing attack as you describe, all of your input would have to be pretending to be slow. You can't send a t=10 I'm idle packet, then a t=8 I blocked. You'd need a fantastic connection to the server, because the delay you're exploiting is there to protect you from your lag. Your oponent would also need a fantastic connection, because you aren't seeing their current inputs, you're seeing their past inputs. My feeling is that it would be very challenging to blend human like behavior with superhuman reflexes when doing automated responses. But there's nothing you're missing. The attack is definitely possible.
- _--__--__ 5y agoAll rollback fighting games are pure p2p, there is no server for gameplay, just matchmaking and leaderboards. I'm not sure if what you would describe would work, it would at minimum double the ping between the two players, and in games that set variable rollback windows based on ping that delay may grow exponentially until a disconnect/desync. Also I think no one has attempted to cheat like this because it's much easier to cheat with a program that 'reacts' to graphical cues (such auto-block bots are pretty common in the most recent Tekken and Street Fighter entries). There are some very rare moves that are impossible for a program to react to like this (usually '0-frame grabs') which hit on the exact frame the input is entered, I'm not sure what if anything the current cheaters do about those.