Internet Chess Servers (ICSes)

ICS: n. 1: an acronym for Internet Chess Server  2: the original chess server [syn. {ICC}]  3: an UNIX server that provides telnet access to ASCII resources via the Internet  4: term used to label any kind of Internet resource that allows humans to play chess online with other humans (incorrectly)  5: a command-line prompt  [plural – ICSes]

Definition

In general, the definition of an ICS is a chess server that you can telnet to. Any sort of server that only allows HTML, JAVA or proprietary interface access is not an ICS. When people refer to an ICS they are referring to a specific subset of capabilities. All of those capabilities entail the ability to login via telnet.

The functions of an ICS are multifold. Think of it as being a very powerful interface for connecting chess players from all over the globe together on one server to chat and play chess games as well as playing related variants of chess supported on that particular ICS. A commonly supported variant on an ICS is bughouse.

Getting onto an ICS

One way that will always work is telnetting into the server. Some people do not know what telnet means or what it is, so I will define telnet for them and explain how to work with it.

Telnet is a protocol that allows you to connect to other computers (also known as hosts) on a TCP/IP network (such as the Internet). You use software on your own computer known as a ‘telnet client’ to make a connection to another computer. The other computer (the remote host) has a telnet server which your telnet client will communicate with to establish a connection. Once you have connected to the remote host, your telnet client becomes a virtual terminal. Most of the time after establishing a connection, you will be queried for your username and password on the remote system. This is known as logging on. For most ICSes, their ASCII login screen will provide you with information on how to log in to the server. They may provide links or instructions about how to log on as a guest.

Telnet clients are available for all major operating systems.  

Command line telnet clients are provided with most versions of Mac OS X, Windows 95 and up, UNIX and Linux. To use them, go to their command lines (shell or DOS prompt) then enter:

telnet remote host

Replace ‘remote host’ with the name of the remote computer you wish to connect to.

Using an Interface

You do have to telnet to get onto an ICS. However, what most people have done is ever since the ICS was released several years ago has been to produce several different chess interfaces. What those chess interfaces do are that they are basically GUI’s (graphical user interfaces) that simplify the tasks of telnetting for the user. It also allows the user to play with a nice GUI for the chess board. This basically means that the GUI will translate the strings of characters that the server outputs to your client and display it on the GUI. Before chess interfaces came about, the only option was to play by typing your moves and with an ASCII board (note: ASCII is a text character set).

       ---------------------------------
    8  | *R| *N| *B| *Q| *K| *B| *N| *R|     Move # : 1 (White)
       |---+---+---+---+---+---+---+---|
    7  | *P| *P| *P| *P| *P| *P| *P| *P|
       |---+---+---+---+---+---+---+---|
    6  |   |   |   |   |   |   |   |   |
       |---+---+---+---+---+---+---+---|
    5  |   |   |   |   |   |   |   |   |     Black Clock : 0:00.000
       |---+---+---+---+---+---+---+---|
    4  |   |   |   |   |   |   |   |   |     White Clock : 0:00.000
       |---+---+---+---+---+---+---+---|
    3  |   |   |   |   |   |   |   |   |     Black Strength : 39
       |---+---+---+---+---+---+---+---|
    2  | P | P | P | P | P | P | P | P |     White Strength : 39
       |---+---+---+---+---+---+---+---|
    1  | R | N | B | Q | K | B | N | R |
       ---------------------------------
         a   b   c   d   e   f   g   h

This is known as ‘style 1’ on most ICSes. You would play by typing your moves. The difference here is that the black pieces had asterisks before their letters. Several styles exist on ICSes but this one was the most popular of the ASCII boards, or at least the default setting.

With the advent of the chess interface, the default style became 12. Style 12 is basically a raw dump of data from the server, which is sent to the telnetted user. The chess interface will read the information and translate it (prettify it) on the graphical chessboard for the user.

Another notable style is style 9 which is the style that blindfolded players use (cannot see the board, only the last 2 moves made). This is primarily used by players as a training device or for entertainment.

Finding An Interface

There are several interfaces available out there.  Several are available through the ICS downloads pages themselves.  Others can be located via searching the Internet.  But tougher to do without spending some time finding, installing, and using various interfaces is finding an interface that meets your needs.  All those programs have different looks, feels, and features.  Finding the right mix of those that appeals to you is a matter of personal preference in most cases.

Creation of the first ICS

In the late 1980’s and early 1990’s a band of volunteers worked together to create the FIRST ever “ICS” for fun. Players logged on via telnet and the board was displayed as ASCII text. Bugs were rampant in the server code as ever is in any piece of complex software ever written. For example, one could capture rooks en passant. Over time, this small community of players and coders alike worked together to improve the software of the server itself while reaping the benefits of this close-knit community. More features were added to the server, such as ELO ratings. No timeseal existed in those days and people would play time controls such as 10 12 with their ASCII boards, typing in their moves as previously stated.

You can find further reading on the creation of the first ICS elsewhere on the Internet, but a primary source would be Chris Petroff’s USENET archive.  Tim Mann’s ICS page also has a short summary and some links from the past to the various ICS servers that have existed at points in time.

Timeseal / Timestamp / Timelock / Accuclock

Those terms refer 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. Originally, latency and lag of the players was compensated for by players by playing with increments. Lagflagging was an abhorrent gesture of the time, flagging a player when he was lagging out.

Current ICS Servers (As of March 2009)

Past ICS Servers (As of March 2009)

Non-ICS Places to Play (As of 2009)

 For whatever reason you might have for choosing not to play at an ICS such as preferring correspondence chess over live chess, there are a few other sites available for playing chess that aren’t ICSes:

As of 2019, there are now some options that are actually very nice to play at that are not ICSes, but may actually be better in many respects. The best one by far is lichess.org. I will update this list of ICSes / modern ICSes at a later point in time.


A Very Brief Introduction to Playing Online Chess
(originally written in 2009, but still rings true today)

“I don’t believe in psychology.  I believe in good moves.” – GM Bobby Fischer

The game of chess that you may be familiar with is considered to be a major variant known as “western chess”.  Several other variants of chess are also played all over the world, be it Chinese Chess (Xiangqi), Japanese Chess (Shogi), or Thai Chess (Makruk).  And those are just the major known variants.  There are obviously several other variants of chess that exist but for our purposes, I’ll consider “western chess” to be the default format of chess that the reader is interested in.

Most serious chess players begin by playing chess over the board (OTB), which in essence means playing with live people using a physical board and pieces.  Playing OTB chess can easily be done – just find someone that knows how to play chess and wants to play chess, set up the board and pieces and begin a game.  Nothing else is required.  But what if you wanted to play a game with your friend who lives 300 miles away?  Or find a game to play at 11 PM?  It’d be rather hard to play those type of games without assistance.

Enter the Internet.  With the Internet you’re able to play chess at any time you desire.  You’ll be able to play against live opponents, using computer technologies.  But what about the psychology of OTB chess, some of you may ask – Internet chess has its own set of values and psychological effects.  If you so choose, you can completely shut out everything except what occurs on the virtual board with the virtual pieces.  Some might wonder if it’s possible to interact with others or your opponent or if you’re doomed to silently move the pieces around on the screen.  The answer is that you can interact with other people online, perhaps even easier than you could in real life – with the notable exception of physically assaulting the other player.

Getting Started

In most cases, if you’re able to read this webpage, you can play chess on the Internet.  If you’re accessing this page via a mobile device or a locked-down workstation, there will be limitations on your capability of playing online chess on that format.  But to get maximum benefit (and fun), I highly recommend that you learn how to play on an Internet Chess Server (ICS) using an interface.  There are several other options that don’t require the use of an interface but none of those are a real ICS, nor will they offer you top-flight chess.  If you’re interested in improving or testing yourself against the best of the world, you will have to play on an ICS.  Playing on Yahoo! Chess isn’t going to cut it.

If you’re wondering what the system requirements are for playing on an ICS are, don’t worry.  If your computer can connect to the Internet, it can use an interface.  There have been interfaces written for every major operating system out there.  And if you’ve written your own operating system, you can just go ahead and write your own interface for it as well.  The original ICS was developed on older computer systems that predate everything available today.  While this might not be good news for graphic intensive games – chess is a simple game and just needs a simple solution.

So in short, you’ve got everything you need to get started!

The Experience

Just about every single place you can play online chess has its own culture with corresponding values and norms.  It might take you some time to figure those out if you plan on “fitting in” at all.  If you just plan to play and enjoy chess games, you can worry about fitting in later on.  Be sure to read everything and spend time reading the manuals or help files first.  The most irritating part of the online player’s experience is someone who hasn’t bothered to help themselves first and wants their hand held throughout the process.  Respect yourself and you’ll be shown respect by others.  Just taking some time to try to solve your own problems can be a very instructive experience.

Most players prefer to play at a single place – most of us don’t have the time to spread across several different sites!  But sometimes it’s a change of pace that we want, or a certain variant that we want to play, or even certain players we want to play that cause most of us to hop to another server to try it out.  That’s what makes ICSes so attractive.  They all share a nearly common command set.  Once you have an interface that works for all ICSes and know the command set of an ICS, you’re pretty much set with ICSes.  You don’t have to worry as much!

Now, with non-ICS sites, such as Yahoo! Chess, you’re pretty much stuck with no options.  You have to use their software (due to the YICS‘ demise).  You can also be stuck with a horrible experience – as can be found on other well documented sites such as EdCollins‘, or even on Wikipedia itself.  But sometimes, language preference can overcome most of those issues and create a scenario where some members enjoy the experience on a site more than they would on a traditional ICS, such as on the Spanish-language Buho21 (En: Owl21).  Although, Buho21 might be an unique case due to its “succession” of the former Ajedrez21 site (bought out by and now integrated into the Internet Chess Club (ICC)).

But whatever experience you’re looking for, you can mostly find it online.  It might be hard to find, but it’s out there somewhere.


Interfaces for ICSes

Selecting an interface can be a long process or a relatively fast one.  It’s up to you. Specific pages/posts for each interface will be made available at some point in the future.

Here’s a list of definitions used in describing interface features:

MS-DOS

Macintosh

Windows 3.1

Windows 9x/Me/NT/XP

Linux/Unix

Java

Others

Non-Interface Tools


Timeseal and Lag

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

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…

05:46_fics%RoboAdmin(TD) tells you: Angel ping statistics: 9 packets transmitted, 9\ packets received, 0% packet loss.

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

05:47_fics%

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.