What is Lag Forgiveness? (Why did the clocks suddenly change?)
In the case of internet lag, Chess.com (and most other chess sites) does something called 'lag forgiveness' where the time it takes for a move to travel to and from our servers is added back to the clocks.
Here is how lag forgiveness works on Chess.com:
When you make a move, the move has to spend some time traveling to our server, and then from our server to your opponent's computer. We adjust the clocks dynamically so that neither player is "charged" for the move's travel time - but rather, only for the time actually spent thinking.
Just to get a clear picture, let's imagine a very bad lag situation:
Imagine there is some very bad lag going on, and it takes 1 second for your move to get to our server, then another 1 second for the move to get to your opponent's computer from there.
In this case, your opponent will not see this move until 2 seconds after you made it, but your opponent's clock will start counting down on your screen when the move hits our server.
Then, let's say your opponent thinks for a total of 10 seconds, then plays a move. His move will take another 1 second to get to our servers, and another 1 second to go from our servers to your computer.
So, you have been waiting for this move for roughly 14 seconds (2 seconds travel time, 10 seconds thinking time, and another 2 seconds return travel time), and your opponent's clock on your screen has been counting down for roughly 14 seconds.
Chess.com believes that it's unfair to charge someone for all that travel time! Since your opponent only spent 10 seconds thinking, that's all the time they get charged for. So, when their move finally hits your computer, their clock display adjusts for the 4 extra seconds that your opponent wasn't actually thinking.
Meanwhile, your clock display on your end will only count down while you are thinking. There is no need for correction on your end, but on your opponent's screen they will be seeing the same adjustment to your clock, and possibly thinking there is something fishy going on there, if they haven't read this article!
This lag or 'travel time' is what gets added back to your opponents clock AND your clock during games. Usually the travel time is very low, so you won't notice anything. But when someone has bad lag it can make it seem like the clocks are behaving badly!
Fortunately, travel times are usually less than what is described above. However, the travel times are not consistent, so adjustments must be made dynamically.
There is no way around it: all real-time chess servers have to deal with lag, though other sites are a bit less transparent about it!
How it works, the details
The above description is how it works if we're talking about a single move with bad lag, but Chess.com doesn't forgive an unlimited amount of lag! If you have 1+second lag for multiple moves in a row, you will notice the lost time on your clock. And there are different limitations for different time settings, too. Here's how it works:
For the Rapid time setting, Chess.com will forgive a minimum of 500ms (500 milliseconds is 1/2 of a second) for each move you make. This means that if your lag is 500ms or less and you are playing Rapid, you won't notice a thing.
In addition to the 500ms per move, you also get a bank of 1000ms to use over the course of two moves. This means if you have lag of up to 1500ms for a single move, it will all be forgiven. But if on the following move you still have the same lag of 1500ms, only 500 will be forgiven, and the remaining 1 second will be lost.
In other words, you will always be forgiven for at least 500ms on every move, and you also have a backup of 1000ms to use if needed, which refills every other move. Because of this bank of 1000ms, you could have a lag of one full second every move, and not notice anything. For example:
Move 1, a lag of 1000ms. 500ms is canceled automatically, then another 500ms is canceled out of the bank. This leaves 500ms in the bank.
Move 2, a lag of 1000ms again. 500ms is canceled automatically, then another 500ms is canceled out of the bank. The bank is now empty, but at the end of move 2 the bank is refilled back to 1000ms again.
All the above, however, only applies to Rapid chess. For other time settings, the minimum and the bank are different sizes:
RAPID (described above): 500ms per move + 1000ms bank per 2 moves.
BLITZ: 300ms per move + 400ms bank per 2 moves.
BULLET: 200ms per move + 100ms bank per 2 moves.
If you notice that you only experience lag while playing bullet, this may be why. Bullet is much less forgiving of lag!
Keywords: clocks, skip, clock, jumping, time, cheat, delay, bonus