Next: , Previous: UCI + WB Engine Settings, Up: Options


3.3 ICS options

-ics/-xics or -internetChessServerMode true/false
Connect with an Internet Chess Server to play chess against its other users, observe games they are playing, or review games that have recently finished. Default: false.
-icshost or -internetChessServerHost host
The Internet host name or address of the chess server to connect to when in ICS mode. Default: chessclub.com. Another popular chess server to try is freechess.org. If your site doesn't have a working Internet name server, try specifying the host address in numeric form. You may also need to specify the numeric address when using the icshelper option with timestamp or timeseal (see below).
-icsport or -internetChessServerPort port-number
The port number to use when connecting to a chess server in ICS mode. Default: 5000.
-icshelper or -internetChessServerHelper prog-name
An external helper program used to communicate with the chess server. You would set it to "timestamp" for ICC (chessclub.com) or "timeseal" for FICS (freechess.org), after obtaining the correct version of timestamp or timeseal for your computer. See "help timestamp" on ICC and "help timeseal" on FICS. This option is shorthand for -useTelnet -telnetProgram program.
-telnet/-xtelnet or -useTelnet true/false
This option is poorly named; it should be called useHelper. If set to true, it instructs XBoard to run an external program to communicate with the Internet Chess Server. The program to use is given by the telnetProgram option. If the option is false (the default), XBoard opens a TCP socket and uses its own internal implementation of the telnet protocol to communicate with the ICS. See Firewalls.
-telnetProgram prog-name
This option is poorly named; it should be called helperProgram. It gives the name of the telnet program to be used with the gateway and useTelnet options. The default is telnet. The telnet program is invoked with the value of internetChessServerHost as its first argument and the value of internetChessServerPort as its second argument. See Firewalls.
-gateway host-name
If this option is set to a host name, XBoard communicates with the Internet Chess Server by using rsh to run the telnetProgram on the given host, instead of using its own internal implementation of the telnet protocol. You can substitute a different remote shell program for rsh using the remoteShell option described below. See Firewalls.
-internetChessServerCommPort or -icscomm dev-name
If this option is set, XBoard communicates with the ICS through the given character I/O device instead of opening a TCP connection. Use this option if your system does not have any kind of Internet connection itself (not even a SLIP or PPP connection), but you do have dial-up access (or a hardwired terminal line) to an Internet service provider from which you can telnet to the ICS.

The support for this option in XBoard is minimal. You need to set all communication parameters and tty modes before you enter XBoard.

Use a script something like this:

          stty raw -echo 9600 > /dev/tty00
          xboard -ics -icscomm /dev/tty00

Here replace ‘/dev/tty00’ with the name of the device that your modem is connected to. You might have to add several more options to these stty commands. See the man pages for stty and tty if you run into problems. Also, on many systems stty works on its standard input instead of standard output, so you have to use ‘<’ instead of ‘>’.

If you are using linux, try starting with the script below. Change it as necessary for your installation.

          #!/bin/sh -f
          # configure modem and fire up XBoard
          
          # configure modem
          (
            stty 2400 ; stty raw ; stty hupcl ; stty -clocal
            stty ignbrk ; stty ignpar ; stty ixon ; stty ixoff
            stty -iexten ; stty -echo
          ) < /dev/modem
          xboard -ics -icscomm /dev/modem

After you start XBoard in this way, type whatever commands are necessary to dial out to your Internet provider and log in. Then telnet to ICS, using a command like telnet chessclub.com 5000. Important: See the paragraph below about extra echoes, in Limitations.

-icslogon or -internetChessServerLogonScript file-name
Whenever XBoard connects to the Internet Chess Server, if it finds a file with the name given in this option, it feeds the file's contents to the ICS as commands. The default file name is .icsrc. Usually the first two lines of the file should be your ICS user name and password. The file can be either in $CHESSDIR, in XBoard's working directory if CHESSDIR is not set, or in your home directory.
-msLoginDelay delay
If you experience trouble logging on to an ICS when using the -icslogon option, inserting some delay between characters of the logon script may help. This option adds delay milliseconds of delay between characters. Good values to try are 100 and 250.
-icsinput/-xicsinput or -internetChessServerInputBox true/false
Sets the ICS Input Box menu option. See Mode Menu. Default: false.
-autocomm/-xautocomm or -autoComment true/false
Sets the Auto Comment menu option. See Options Menu. Default: false.
-autoflag/-xautoflag or -autoCallFlag true/false
Sets the Auto Flag menu option. See Options Menu. Default: false.
-autobs/-xautobs or -autoObserve true/false
Sets the Auto Observe menu option. See Options Menu. Default: false.
-autoKibitz
Enables kibitzing of the engines last thinking output (depth, score, time, speed, PV) before it moved to the ICS, in zippy mode. The option showThinking must be switched on for this option to work. Also diverts similar kibitz information of an opponent engine that is playing you through the ICS to the engine-output window, as if the engine was playing locally.
-moves/-xmoves or -getMoveList true/false
Sets the Get Move List menu option. See Options Menu. Default: true.
-alarm/-xalarm or -icsAlarm true/false
Sets the ICS Alarm menu option. See Options Menu. Default: true.
-icsAlarmTime ms
Sets the time in milliseconds for the ICS Alarm menu option. See Options Menu. Default: 5000.
lowTimeWarning true/false
Controls a color change of the board as a warning your time is running out. See Options Menu. Default: false.
-pre/-xpre \fRor\fB -premove true/false
Sets the Premove menu option. See Options Menu. Default: true.
-quiet/-xquiet or -quietPlay true/false
Sets the Quiet Play menu option. See Options Menu. Default: false.
-colorizeMessages or -colorize
Setting colorizeMessages to true tells XBoard to colorize the messages received from the ICS. Colorization works only if your xterm supports ISO 6429 escape sequences for changing text colors.
-colorShout foreground,background,bold
-colorSShout foreground,background,bold
-colorChannel1 foreground,background,bold
-colorChannel foreground,background,bold
-colorKibitz foreground,background,bold
-colorTell foreground,background,bold
-colorChallege foreground,background,bold
-colorRequest foreground,background,bold
-colorSeek foreground,background,bold
-colorNormal foreground,background,bold
These options set the colors used when colorizing ICS messages. All ICS messages are grouped into one of these categories: shout, sshout, channel 1, other channel, kibitz, tell, challenge, request (including abort, adjourn, draw, pause, and takeback), or normal (all other messages).

Each foreground or background argument can be one of the following: black, red, green, yellow, blue, magenta, cyan, white, or default. Here “default” means the default foreground or background color of your xterm. Bold can be 1 or 0. If background is omitted, “default” is assumed; if bold is omitted, 0 is assumed.

Here is an example of how to set the colors in your .Xresources file. The colors shown here are the default values; you will get them if you turn -colorize on without specifying your own colors.

          xboard*colorizeMessages: true
          xboard*colorShout: green
          xboard*colorSShout: green, black, 1
          xboard*colorChannel1: cyan
          xboard*colorChannel: cyan, black, 1
          xboard*colorKibitz: magenta, black, 1
          xboard*colorTell: yellow, black, 1
          xboard*colorChallenge: red, black, 1
          xboard*colorRequest: red
          xboard*colorSeek: blue
          xboard*colorNormal: default

-soundProgram progname
If this option is set to a sound-playing program that is installed and working on your system, XBoard can play sound files when certain events occur, listed below. The default program name is "play". If any of the sound options is set to "$", the event rings the terminal bell by sending a ^G character to standard output, instead of playing a sound file. If an option is set to the empty string "", no sound is played for that event.
-soundShout filename
-soundSShout filename
-soundChannel filename
-soundKibitz filename
-soundTell filename
-soundChallenge filename
-soundRequest filename
-soundSeek filename
These sounds are triggered in the same way as the colorization events described above. They all default to "", no sound. They are played only if the colorizeMessages is on.
-soundMove filename
This sound is used by the Move Sound menu option. Default: "$".
-soundIcsAlarm filename
This sound is used by the ICS Alarm menu option. Default: "$".
-soundIcsWin filename
This sound is played when you win an ICS game. Default: "" (no sound).
-soundIcsLoss filename
This sound is played when you lose an ICS game. Default: "" (no sound).
-soundIcsDraw filename
This sound is played when you draw an ICS game. Default: "" (no sound).
-soundIcsUnfinished filename
This sound is played when an ICS game that you are participating in is aborted, adjourned, or otherwise ends inconclusively. Default: "" (no sound).

Here is an example of how to set the sounds in your .Xresources file:

          xboard*soundShout: shout.wav
          xboard*soundSShout: sshout.wav
          xboard*soundChannel1: channel1.wav
          xboard*soundChannel: channel.wav
          xboard*soundKibitz: kibitz.wav
          xboard*soundTell: tell.wav
          xboard*soundChallenge: challenge.wav
          xboard*soundRequest: request.wav
          xboard*soundSeek: seek.wav
          xboard*soundMove: move.wav
          xboard*soundIcsWin: win.wav
          xboard*soundIcsLoss: lose.wav
          xboard*soundIcsDraw: draw.wav
          xboard*soundIcsUnfinished: unfinished.wav
          xboard*soundIcsAlarm: alarm.wav