Author Topic: Add lag compensation to Blockland.  (Read 496 times)

Plenty of people live in faraway countries like Australia. They get bad ping to Blockland servers as barely any servers are hosted near their country. This means that they can't battle well in Blockland, the weapon they are firing only actually fires about a fourth of a second later after the left mouse button is clicked.

Lag Compensation: having the server/host "reverse time" every time you send him an update, so that the server/host can have a good estimate of what you saw (and thus calculate if you actually shot at what you were shooting at). So, for example, if you have a 32ms ping according to your screen you shot at someone just before he went around the corner, the host will receive your shooting data 32ms later after the enemy already turned the corner. This, alone, would make the server/host decide that you missed. So to compensate for this lag, the server/host "rewinds time" to 32ms ago and sees the guy had not yet turned the corner, and that your shots did land. This would make combat alot easier for players with high ping. On the client you could have the gun shoot instantly as a bonus of this. This would make combat fair.
« Last Edit: April 15, 2014, 09:31:31 PM by Klocko² »

What is this sort of magic. I can't see how this would work

This basically requires the server keeping several hundred save-states of the entire server and to continue to make them every millisecond. The amount of lag caused by these operations would outweigh the compensation so much that pings will end up higher than the server's backups, so the server would need to take more, causing more lag, and so on. It wouldn't work. Time reversal is not a thing that computers do.

This basically requires the server keeping several hundred save-states of the entire server and to continue to make them every millisecond. The amount of lag caused by these operations would outweigh the compensation so much that pings will end up higher than the server's backups, so the server would need to take more, causing more lag, and so on. It wouldn't work. Time reversal is not a thing that computers do.
Delete old save states is a solution. Also you don't need to make them every MILISECOND, that's just ridiculous, probably every 50th-100th milisecond would be enough.

This basically requires the server keeping several hundred save-states of the entire server and to continue to make them every millisecond. The amount of lag caused by these operations would outweigh the compensation so much that pings will end up higher than the server's backups, so the server would need to take more, causing more lag, and so on. It wouldn't work. Time reversal is not a thing that computers do.
If you don't have any idea of what you are talking about, don't talk. Lag compensation is common in multiplayer games and there are many articles for you to read how it works and why it is fast.

I've already implemented this more than 5 months ago and it's built into my Quake weapons.