Timeseal and Lag

Educate yourself on what lag is and what timeseal does to counteract lag with this classic article.

What is Lag?

Lag is a part of every computer network.  If the network is very good, the lag may be only a few milliseconds.  Other times, the lag may grow to be quite large, covering several seconds.  Think of the Internet as a quite large network of several smaller networks.  If this is difficult to conceptualize, think of something else such as a state or a province.  This state or province has some sort of transportation system, be it trails, roads, rail or whatnot.  All those transportation systems happen to have one thing in common.  It takes time to transverse from point 'A' to point 'B'.

The Internet has the same setup in essence.  A rather simple explanation for this is to consider two computers.  Those two computers communicate with each other by sending and receiving data.  The data that is being sent and received can be considered a 'packet'.  This 'packet' of data takes time to transverse from Computer 'A' to Computer 'B'.  The 'packet' has to make its way through the Internet from 'A' to 'B'.  The transmission time for this journey is referred to as 'lag'.

Why does Lag matter?

To be quite blunt, if an action for something is done in real time and your lag is quite large, the lag will have a visible impact on what is being done.  This is well evident in a chess game.  When a chess game is played in person over the board (OTB), there is no lag for move transmission.  The only lag that exists in that example is the time for the neurons of brain 'A' and brain 'B' to fire.  We will disregard that argument.  When a chess game is played on the Internet, move transmission time becomes very important.  If a chess game is regulated in real time such as on Yahoo! for one example, any time that is taken up in the transmission of the move itself becomes deducted from your clock in addition to the actual time you spent on the move.  It also disrupts the flow of the game and leads to several players being disgusted with the disruption of the natural flow of events.

What is Timeseal?

Timeseal refers to a system originally set up by Henrik Gram (Hawk) to compensate for the time lost by players during transmission time of moves between client to server to client.  Basically its functions are performed on your local computer then sent along with your move to the server.  What timeseal does is record the amount of actual time between reception of a move from the server and your move.  This time is sent along with your move to the server, which will deduct the actual time taken to think, regardless of the time lost by lag.  Before timeseal was introduced, players would counter the effects of lag by playing with increments, which adds an amount of time to your clock after every move. 

Timeseal simply removed the need for increments to counter lag by disregarding lag.  It is also responsible for the events that occur quite frequently when a bad lag attack hits one of the players.  They may start lagging, causing their opponent to believe that they are thinking, when they may have actually already sent their move.  When the move arrives, amidst all the lag that has occurred, time will be added to their clock by timeseal.  This causes several new players to believe erroneously that their opponent is cheating.

Is Timeseal a good thing?

This is a matter of personal opinion.  With timeseal, all games have been lengthened.  You can actually spend more time thinking on every move than actually is possible.  Most people do not realize this until they watch a 1 0 game go on for over 2 hours (yes this has been done).  Recently, most ICSes' administration has noticed this pattern of events, although they have not realized why it occurs.  So they have added some precautions that tend to punish the players. 

Those precautions tend to be called minimum move times or simply, minmovetime.  On ICC, this preset move limit time is 100 milliseconds.  The player that makes his move faster than 100 milliseconds gets his time used rounded up to 100 milliseconds, no matter what.  This limits the number of moves available in the game.  USCL is worse, having a 200 millisecond time as the minmovetime.  The upside of USCL's minmovetime is that it can be turned off.  Unfortunately, this requires BOTH players to agree to this.

Why this is, I do not know.  They claim it is to protect the players from the premovers.  I query that plan, as it seems to me that premove already has its own disadvantage built right into it.  It actually hurts the non-premovers.  It's really quite simple, most of the time when premove is needed is in the endgame.  People whine about losing on time to a premover in the endgame.  My reply is that if the endgame is won, you should be able to win it with premove.  It's not that hard.  Time management is part of the game.  Especially when timeseal is involved.

Timeseal itself seems to be a Pandora's box.  It would have been a simpler solution to simply remove timeseal instead of adding the minimum move times.  If a player lags so much that with timeseal, his games of lightning turn into standard games because of all the extra time created by his lag to think, he shouldn't be playing lightning.  No timeseal would force those players into playing what they already are.  If they whine about their lag, simply tell them to play with an increment.

What is lagflagging?

Back in the old days with no timeseal, a problem presented itself.  How did you know that the other player was truly lagging and not simply thinking?  This certainly is a problem that usually ended up with a win on time (flagging), which came to be termed lagflagging.  This is completely ethical and anybody that believes otherwise should simply start playing with increments or switch internet service providers.  Simply flagging everybody was my own adage back then as well.  Back then there wasn't even autoflag, people had to type in 'flag' manually and enter it before their own clock expired to record the win.  If both clocks had expired, the game was declared a draw when one of the players finally issued the flag command.

What is ping (or pinging)?

Ping is an internet command and ICS command.  The internet command can be performed with ip numbers or domain names.  This is also known as a traceroute.  To find more information about this matter, consult the Internet for websites.  This webpage deals with the ICS command.  On USCL, the USCL interface records the player's average lag time and reports it on demand whenever someone issues the ping command on them.

05:46_fics% ping vladimirxern

Average ping time for VladimirXern is 168ms.

168ms means that VladimirXern has an average lag of 168 milliseconds.  This is an extremely good ping time.  In general for a dial-up service, a ping time of 300 is very good.  The ping times of 500+ you should steer clear of.  A sad matter of events tends to be that the 1000+ milliseconds (or rather, full seconds of lag) lag usually belong to titled players using dial up services from countries far away from the United States where the USCL server is located.

For those players on USCL not using the USCL interface, the ping command will return a very different result to anyone pinging those players.  Since they do not have the interface's ping available, a manual ping must be issued for the player.  This requires an administrator to perform this manual ping, since they have access to the player's ip number.  In this case, the ping command will go to the automated administrator bot program RoboAdmin.  After he tries to ping the player, the result will be reported via tells.

05:46_fics% ping angel

Ping time for Angel not available.

(told RoboAdmin)

05:46_fics% 05:46_fics%

:Trying to ping yourself, please wait...


RoboAdmin(TD) tells you: Angel ping statistics: 9 packets transmitted, 9

\ packets received, 0% packet loss.


RoboAdmin(TD) tells you: round-trip min/avg/max = 27.8/31.9/48.7 ms


RoboAdmin(TD) tells you: Your IP is ***.**.***.***.   <----- (Angel's note: I obscured my ip number)

This was a successful ping.  Some players may be using a firewall in addition to not using the USCL software.  When you attempt to ping those players, the result will be 100% packet loss.  This does not represent that they have severe lag.  It rather represents that the ping attempt was unsuccessful as the firewall denied access to their computer to measure their lag.

Lag and Flow

One last point to make about lag and timeseal.  The person that lags actually has an advantage OVER the other player when timeseal is involved.  If timeseal is not involved, the lagger gets punished.  Either way, nobody wins.  What must be done is abolish timeseal.  The few that lag deserve to be punished rather than rewarded for their lag.  The reason they have an advantage with their lag is the other player has no idea when the lagger's move will come through and as a result, loses time.

Lag and Bughouse

If you lag and you attempt to play bughouse, you should be shot immediately.  This is known as lagcheating.  The reason why is when two boards are involved and one board is lagging due to one player, the other board's partner can simply have the lagging player sit.  This massive discrepancy of time causes the game itself to be worthless.  Bughouse is a game of time for the most part.  Lag ruins it.

A Footnote

For the 2 hour game I referred to in 1 0, I could prove the existence of this game.

My journal game 'Z' on USCL (Angel Z), contained a 1000 move 1 0 game between myself and Curiosity.

This game was played without minmovetime and with timeseal.

Even with the lowest estimate of approximately 50 milliseconds ping for *EACH* player, it still comes out at close to 2 hours.

Consider this:

2 players, 50 milliseconds lag = 100 milliseconds per 2 half moves or 1 move.  This is assuming both players premoved at 0:00.0 used.

1000 moves of the game, with 100 milliseconds lag every move in addition to any thinking time required.

100 milliseconds = .1 second

.1 second * 1000 moves = 100

100 / 60 minutes = 1.6 hours

.6 * 60 = 36

Total time extra because of lag: 96 minutes.

Page created: Tue Mar 18, 05:05 EST 2003
Last modified: Mon May 18, 22:00 EST 2009
Contact webmaster: nick.long@hotmail.com