Variant Chess Server

Playing on the Variant ICS

The Variant ICS is a Internet Chess Server similar to FICS ( or ICC ( So people already using FICS or ICC will immediately feel at home on it. The recommended client software for it is WinBoard (on Windows) / XBoard (on Linux), as it is the only graphical client with good support for Chess variants. This document is an introduction for people that are not familiar with FICS/ICC and WinBoard.

Obtaining WinBoard

WinBoard (for Windows) can be downloaded from When you click this link, your browser will ask you if you want to save or open (run, execute) the file, and you should select 'Open'. This could bring up some security popups from your computer warning you that running downloaded files can be dangerous, but as the WinBoard installer is not malicious you can safely confirm it can continue with this.

This will make the window of the installer 'wizard' pop up. You will have to confirm the licence agreement there by pressing 'continue', and press 'next' a few times. The minimal install will be good enough when you want to use WinBoard mainly as ICS client. So when you arrive in the screen shown on the right, you can untick the checkboxes for all of the auxiliary components, such as the Fruit engine, Chess variants and Shogi / Xiangqi stuff. These are only for when you want to play these games locally against your own computer. If English is not your native language, you might be interested to install some language file with WinBoard, by expanding the 'International versions' item by clicking on the '+', and ticking the laguage of your choice. (Sorry if it is not included...)

Usually what the wizard proposes will be what you want, and there is little reason to change anything before pressing 'next'. In one of the screens (shown on the left), it will ask you if you want to associate files with PGN or FEN extension to WinBoard. When you leave the checkboxes ticked on this page, it will set things up such that when you later click a file of type PGN (containing Chess games) or FEN (containing Chess positions), Windows will automatically start WinBoard as a viewer for the contents of those files. If you don't want that (e.g. because you already have other Chess software installed on your computer, which you prefer to use for viewing Chess games), you should untick these checkboxes before pressing 'next'. Finally you click 'Install' to confirm everything you selected so far, and when it is done installing, (which could take half a minute), you click 'Finish'.

Connecting to the Variant ICS

Once the installation of WinBoard is complete, there will be a new menu group in Window's Start menu, called Winboard-4.5-TM (or what you changed that to during install). In that menu group there will be an item 'WinBoard Startup Dialog'. You should select that, and this will make a small window appear, where you should tick 'Use an Internet Chess Server'. This will enable the 'Specify Chess Server' input field near the bottom of the dialog. It will already contain a text, namely ' /icshelper=timeseal', and this happens to be exactly what you need to connect to the variant ICS. So there is no need to change anything, and you can press 'OK' immediately. (For connecting to another ICS, such as FICS or ICC, you could select it from the combobox with the down-pointing 'arrow button' on its right, or type the internet address of it.)

This now should bring up WinBoard's main window with the Chess board, plus a second window called 'ICS interaction window'. (These windows will appear as separate applications on your systems task bar, recognizable by the black knight icon.) They are really part of the same application, though, and when you close one you will close both. (They can be independently minimized, though.) The ICS interaction window is a text window you will use to communicate with the ICS: what you type in the line at the bottom will be sent to it, and what it sends to you will appear in the large upper field.

When the connection to the ICS is made sucessfully, you will see the welcome screen of the ICS appear in this upper part of the interaction window, which will end at the bottom in the text 'login:'. You should now type a name in the bottom field of that window under which you want to be known on the ICS. If you already have a 'registered' account, typing the name of it will make the ICS prompt you for a password (to prevent others from using your account). If you just typed a random name not known to the ICS, it asks you to confirm you want to use this name to log in as a guest, by typing an empty line (but it obviously will have no way to verify your identity, and others could use the same name later, after you disconnect.)

When you provided these two items (name + password or empty line), you will be welcomed by the 'message of the day', and the ICS will prompt you for input by typing 'fics%'. You will see some lines with commands automatically sent to the ICS by WinBoard, just ignore those.

Using the ICS

After the logon procedure, the ICS is now ready and waiting to obey your commands. The basic principle of operation is this: you type a command in the line at the bottom of the ICS interaction window, and the ICS will then do what you asked. Which can be printing the info you requested, sending a message to another user, or starting a game, etc.

A useful command to start with is 'who'. When you type this (and press <Enter>; a command will never be sent before you do that), the ICS will display a list of users currently connected to it. Some users will have a (C) behind their name, indicating they are registers as computer accounts, probably playing automatic and unattended. The numbers in front of the names are the ratings the players have on this ICS, from which you can guess how strong they are.

Another useful command is 'games'. This will show you a list of games currently being played. Games on the ICS have a duration that is measured as a base time (initially on your Chess clock), measured in minutes, plus a number of seconds per move. This is listed with the games, e.g. 2 12 means 2 min + 12 sec/move, and 5 0 would mean 5 min sudden-death. Games can be listed as rated or unrated; the latter will not affect the rating of the players. Guests can only play unrated games, as there is no way for a computer to keep track of the rating of a guest, when another player can use that same name next time.

To watch an ongoing game as spectator, you can type 'observe NAME', where NAME is the name of one of the players involved in the game (a player can only play one game at the time), or the number of the game (seen in the list).

This all involves some typing, which could be considered cumbersome. The ICS allows you already to abbreviate the commands and names, to make life easier. E.g. 'obs jo' would be understood as 'observe Johnny' is there does not exist a Jonathan, Jordy or whatever on the ICS that could confuse it. But WinBoard also has a facility to make typing unnecessary: if you click with the right mouse button inside the text field in which the ICS output appears, a menu will pop up, containing some of the commands we just discussed, like 'Who' and 'Games'. If you click those menu items, WinBoard will send the corresponding command to the ICS for you!

Some commands, like 'Observe', require a player name or game number. These are also in that same menu, and the trick is that WinBoard knows which name to send with them by where exactly you clicked for summoning the menu! So if you first (right-)click (anywhere) in the ICS output field, and select 'Games' (experienced users would do that by releasing the mouse button after pointing at the 'Games' item, rather than using a separate mouse click for it), a list of games will appear in the ICS output field. Say one of the games is 'Johnny vs Billy', and you want to watch it, you can now right- click on 'Billy', and select 'Observe (name)' from the menu that pops up. This would send 'observe Billy' to the ICS, making the board of that game now appear in WinBoard's main window, and update it each time when there is a move in that game, until the game is over. (You could leave it earlier by typing 'unobserve' or 'unobs'.)

Playing a game yourself

To play a game, you have to pick an opponent, and challenge him. The command for this is 'match OPPONENTNAME T1 T2 OPTIONALSPECS'. The OPPONENTNAME is mandatory, and tells the server who you challenge. T1 and T2 are numeric parameters telling the ICS at what speed you want to play. E.g. 5 0 for a sudden-death blitz game. If you leave that out it will use some default values (like 2 12), which is usually not what you want. After that you can optionally specify more precisely what kind of game you want. E.g. you can type a 'w' or 'b' when you want white or black, (otherwise the ICS decides based on your previous games), 'u' or 'r' when you want to play unrated or rated (default is rated). If you give multiple specs they all have to be separated by spaces.

Because this server is mainly meant for playing variants, it is important to also specify which variant you want to play. By default it would start a game of orthodox Chess for you. The name of a variant can consist of one or two parts, the so-called 'category' and the 'board'. If there is only onepart, it is taken as a category name, and you will get the default opening position for that category. E.g. category 'capablanca' would give you Capablanca Chess (on a 10x8 board), but there could be sub-variants that use another opening position, like 'capablanca bird'. In principle the category determines the rules (like board size and which piece types participate) but any position could be used as starting position. It is upto the discretion of the ICS maintainer which boards you can choose from; the ICS command 'boards' will give you an overview of all categories; while 'boards CATEGORYNAME' will show you the boards available for that category.

To save you typing, the category names can be abbreviated as follows:

fr Chess960 (Fischer Random Chess)
zh Crazyhouse
bh Bughouse
ca Capablanca Chess
cr Capablanca random Chess
gc Gothic Chess
su SuperChess
km Knightmate
gr Great Shatranj
sj Shatranj (ancient Arabic Chess)
sg Shogi (Japanese Chess)
xq Xiangqi (Chinese Chess)
sc S-Chess (Seirawan Chess)
sp Spartan Chess
So the command 'match maxqi 10 2 w r xq' would challenge MaxQi for a rated 10-min + 2-sec/move game of Xiangqi, where you play white. Of course other people can also challenge you for a game of their choosing; you will get to read the challenge in the ICS output field of the interaction window. You can instruct WinBoard to warn you with a sound on such occasions (for if the interaction window was pushed to the background while you were playing), in the Options -> Sounds menu dialog. You could couple the challenge 'event' to, say, the built-in 'Gong' sound to make sure it would never escape your attention that you are challenged.

When receiving a challenge, you would have to reply by typing 'accept', upon which the game will start, or 'decline', to refuse it. To save you typing, WinBoard has also menus for that, but in this case in the main menu bar, in the Action menu. There are also accelerator keys defined for this, the function keys of your keyboard, F3 for accept and F4 for decline, and using those is probably the fastest method of all.

Once you accepted the challenge (or your opponent did), the initial position of the game will appear in WinBoards main window, and depending on who has white, you will now be able to move a piece with the mouse there, and see your opponent's first move, upon which the clocks start counting down.

You can offer your opponent a draw during the game by typing 'draw', and you should also type that for accepting the draw offer. The WinBoard Action menu also contains an item for sending that (and the F6 key does it as well). When you are hopelessly lost, you can type 'resign', click it in the Action menu, or use F9.

Communicating with other users

Apart from playing Chess, the ICS also allows you to chat with other users. A very primitive way for that is to use the 'shout SOMETHING' command. This will print the SOMETHING on the screen of every user currently conected! (To inhibit spamming, there is a limit to how fequently you can do that.) This can be useful for telling something useful for everyone, or asking a question you don't know who might be able to answer it.

For addressing a specific person, there is the command 'tell PERSON SOMETHING', e.g. 'tell johnny That was a good game'. This command is again in the context menu summoned by right-clicking the ICS output, but the 'Tell (name)' item there works a little different from, say, the 'Observe (name)': now the command is not automatically sent to the ICS immediately, but placed in the ICS input field, where you can complete it with a text message before sending it with <Enter>. So when you right-click the word 'Johnny' somewhere in the ICS output, and select 'Tell (name)', WinBoard will put 'tell Johny ' in the ICS input field, and you can type what you wanted to tell to Johnny, so it will appear on his display.

Despite the menu shortcuts, having to produce the tell commands and names for every line of a longer conversation would be quite tiresome, and WinBoard supports a 'Chat Box' feature to alleviate you from this. To use it, you can click the name of the person you want to chat with once, (say Johnny again), and select 'Open Chat Box (name)' from the thus summoned menu. This will pop up a small window as a subsidiary of the ICS interaction window, with 'Johnny' already written in the 'Chat Partner' field. Every line you type into the field at the bottom of that window will now be automatically sent to Johnny with the aid of tell commands, WinBoard taking full care of the tedious prefixing of every line by 'tell Johnny '. Everything Johnny will 'tell' you (or shout) will automatically appear in that chat window rather than in the general ICS output. That way you can have a nice private conversation with one or more persons without it getting cluttered by the general chatter in the ICS output.

You can also open such a chat box to capture all shouts, and shout yourself when you type there. Just type 'shouts' in the Chat-partner field of the chat box (or open it by right-clicking the word 'shouts'). The ICS also supports a feature which you could consider 'shouting for a limited audience', called 'channels'. Channels are like radio stations; only the people that tuned in on them will be able to hear what you 'tell' to a channel. Channels are numbered, so 'tell 64 SOMETHING' would broadcast the SOMETHING to channel 64. Only people that would have given the command '+64' previously, to enable this channel, would see it appear on their screen, now. You can also open a chat box for such channel traffic, by typing the channel number in the Chat-partner field of the chat box (or right-clicking a 64 somewhere in the ICS output to open a new chat box that already has 64 there). Again, what you type there now will be automatically prefixed by 'tell 64 ', and as a result be broadcasted on the channel, while all broadcasts on the channel are captured in the output field of that chat box.

You can open upto 5 chat boxes in WinBoard, and each of them has buttons to call all others to the foreground, so you can leave them stacked in stead of having to find space on your display to lay them out next to each other. (The button of chat boxes that have been active turns gray to notify you there is something new to read there.)

Appendix: short list of useful ICS commands

observe PLAYER
help commands