XBoard and WinBoard: Frequently Asked Questions

This document answers some frequently asked questions about the graphical chess interfaces XBoard and WinBoard. A hyperlinked version of this FAQ is available on the Web through the page http://www.tim-mann.org/chess.html. This FAQ is in need of revision. Please contact us if you'd like to help update it.

Outline


Detailed contents


[A] Introduction and hot topics


[A.1] What are XBoard and WinBoard?

XBoard and WinBoard are graphical user interfaces for chess. XBoard runs with the X Window System on Unix systems (including GNU/Linux); see topic [B.1]. WinBoard runs on true 32-bit Microsoft Windows operating systems, such as Windows 95, 98, NT, 2000, ME, XP, and should continue to work on future 32-bit Windows systems. It does not work on Windows CE (also known as Pocket PC), nor does it work on 16-bit Windows systems such as Windows 3.1. See topic [B.2].

[A.2] Where can I get chess information and chess software?

As a shortcut to most things mentioned in this FAQ, try Tim Mann's Chess Web page, http://www.tim-mann.org/chess.html. This page page is a good place to get the latest released versions of XBoard and WinBoard and the most up-to-date version of this FAQ. Also see our Savannah project pages at https://savannah.gnu.org/projects/xboard/.

If you have other questions about XBoard/WinBoard that aren't answered in this FAQ, you can try Aaron Tay's WinBoard and Chess Engines FAQ, at http://www.aarontay.per.sg/Winboard/.

For general news and information about chess, try the newsgroup hierarchy rec.games.chess.*, especially the groups rec.games.chess.misc and rec.games.chess.computer. Both of the latter groups have very informative FAQs maintained by Steve Pribut; look for them on the newsgroups or at http://www.clark.net/pub/pribut/chess.html.

Like other GNU software, you can get XBoard, and WinBoard by anonymous FTP from ftp://ftp.gnu.org/pub/gnu/ and its many mirror sites. Look in the subdirectories xboard, and winboard. The .tar.gz suffix on the files there indicates they were packed with tar and compressed with gzip. The .exe or .zip suffixes indicate files that were packed and compressed with zip.

For other chess software, try the Internet Chess Library. Use anonymous FTP to connect to ftp.freechess.org, or go to the Web page http://www.freechess.org/. You can get chess software, game collections, the FAQ file for rec.games.chess, and other chess-related material there, in the directory pub/chess. The FTP server can automatically decompress files for you as you download them, useful if you don't have gzip.

Here is a sample anonymous ftp session. Some of the ftp server's responses are abbreviated, but all the commands you must type are included.

    % ftp ftp.gnu.org
    Connected to ftp.gnu.org
    Name: anonymous
    Password: your-email-address@your-site
    ftp> binary
    200 Type set to I.
    ftp> cd /pub/gnu/xboard
    ftp> dir
    -rw-r--r-- 1 14910 wheel  1057625 May 20 00:25 xboard-4.2.7.tar.gz
    ftp> get xboard-4.2.7.tar.gz
    150 BINARY connection for xboard-4.2.7.tar.gz (1057625 bytes).
    226 Transfer complete.
    ftp> quit

[A.3] What are the current version numbers for XBoard and WinBoard?

At this writing, the current version numbers are:

[A.4] Who is working on this project?

Please see our Savannah project pages at https://savannah.gnu.org/projects/xboard/ for a list of active developers. Many others occasionally contribute suggestions and snippets of code, for which we are grateful.

[A.5] How do I report bugs, offer help, etc.?

Bug reports, suggestions, and offers to help on XBoard or WinBoard should be sent to bug-xboard@gnu.org. (Note: as of 4 Nov 2003, this mailing list is temporarily broken. You can send mail to bug-xboard@tim-mann.org instead until it is fixed.)

Beginner questions and discussion about the program may get faster answers on the WinBoard Forum at http://f11.parsimony.net/forum16635/.

If you are developing a chess engine that works with XBoard or WinBoard (or an alternative GUI that works with such engines), see the Chess Engines mailing list, hosted at http://groups.yahoo.com/group/chess-engines.

Any time you want to report a possible bug in XBoard or WinBoard, we need to know exactly what you did, and exactly what error (or other) messages you got.

If you are using Unix, run the "script" program, run XBoard with the -debug flag (if you get as far as running it), do whatever is necessary to reproduce the problem, type "exit" to the shell, and mail us the resulting typescript file. We also need to know what hardware/operating system combination you are using. The command "uname -a" will usually tell you this; include its output in your typescript.

If you are using MS Windows, run WinBoard with the -debug flag, and send us a copy of the WinBoard.debug file. If you aren't sure how to add command-line flags to WinBoard, you can hit Ctrl+Alt+F12 to create a WinBoard.debug file after WinBoard starts, but that is not as good, because a few messages that would have been printed at the start are lost.

Either way, please send us the exact text of the commands you typed and the output you got, not just your recollection of approximately what they were. The messages may seem meaningless to you, but they are very meaningful to us and essential for diagnosing problems.


[A.6] What are the future plans for XBoard and WinBoard?

Our plans are always in flux. As with most free software projects, the next release will happen when it happens -- or it may never happen. This has always been the policy for XBoard/WinBoard. Releases have never been promised in specific time frames.

Starting in November 2003, several new developers have joined the project, and work is now hosted at https://savannah.gnu.org/projects/xboard/. Lots of work is just getting underway, but nothing is far along yet.

Here is a partial list of items that have a nonzero probability of happening in finite time.


[B] XBoard and WinBoard


[B.1] What is XBoard?

XBoard is a graphical user interface for chess. It displays a chessboard on the screen, accepts moves made with the mouse, and loads and saves games in Portable Game Notation (PGN). XBoard is free software. It serves as a front-end for many different chess services, including:

Chess engines that will run on your machine and play a game against you or help you analyze, such as GNU Chess and Crafty (topic [D.3] below).

Chess servers on the Internet, where you can connect to play chess with people from all over the world, watch other users play, or just hang out and chat.

Correspondence chess played by electronic mail. The cmail program (topic [B.6] below) automates the tasks of parsing email from your opponent, playing his moves out on your board, and mailing your reply move after you've chosen it.

The Web and your own saved games. You can use XBoard as a helper application to view PGN games in your Web browser, or to load and save your own PGN files.

XBoard runs under Unix or Unix-compatible systems. It requires the X Window System, version X11R4 or later. There are also ports of XBoard to 32-bit Microsoft Windows and to the Amiga. See topics [B.2] and [B.3] respectively.


[B.2] Is there an XBoard for Microsoft Windows? What is WinBoard? How do I install WinBoard?

WinBoard is a port of XBoard to 32-bit Microsoft Windows systems, such as Windows 95, 98, NT, 2000, ME, and XP. It uses the same back end chess code as XBoard, but the front end graphics code is a complete rewrite. WinBoard is free software.

The WinBoard distribution includes a port of GNU Chess to Win32. The GNU Chess port is distributed in executable form, with instructions for rebuilding it from the standard GNU Chess sources (available separately). You should have at least 16 to 24 MB of memory to run GNU Chess with WinBoard.

The WinBoard distribution also includes the ICC timestamp and FICS timeseal programs (topic [B.12]).

cmail (topic [B.6]) has not been ported to Windows. All the other XBoard functions are included in WinBoard. The International Email Chess Group web site at http://www.iecg.org/ recommends ECTool (http://www.ectool.nu/) for playing correspondence chess under Windows.

You install WinBoard as follows. Download the WinBoard package to your PC (see topic [A.2]). It will be a file with a name like winboard-4_0_0.exe. Double-click on this file in the Explorer or File Manager to run it. Follow the on-screen prompts.


[B.3] Is there an XBoard for the Amiga? What is AmyBoard?

AmyBoard is a port of XBoard to the Amiga, by Jochen Wiedmann. The distribution includes a port of GNU Chess. AmyBoard is free software.

The current version of AmyBoard is 330.5 (based on XBoard 3.3.0). No one is currently maintaining it.

System requirements:

If you would like to use an ICS, you need an Internet connection via either

AmyBoard is available in the Internet Chess Library (topic [A.2]).


[B.4] Is there an XBoard for the Macintosh?

Because MacOS X has a Unix base, XBoard will compile and run on it. You do need an X11 (X Window System) server and client libraries. These do not come with Mac OS, but both free and commercial versions are available. Once you install the X11 package, XBoard is reported to compile and run without changes. I am not a Mac user and have not tried this myself, so I cannot answer questions about it. Version 4.2.6 and earlier of XBoard come with an old copy of the config.sub utility that does not recognize Mac OS X, so to build XBoard, you'll have to tell the configure program what OS you are running. Follow the instructions in topic [B.7] of this FAQ, but add the argument --host=powerpc-apple-bsd to the end of the "configure" command line. There is no version of XBoard or WinBoard that runs with the native (non-X11) Mac graphical interface, and none that runs on MacOS 9 or earlier.

[B.5] Does XBoard run on VMS?

No. This port would probably be a lot easier than the Win32 and Amiga ports were, because VMS has the X Window system (under the name DECwindows) and is now POSIX compliant. However, I don't know enough about VMS to do the port myself, and I don't have time. If you do, give it a try! Send mail to me, tim@tim-mann.org (Tim Mann), if you're working on this.

[B.6] What is cmail?

cmail is a program that helps you play and keep track of electronic mail correspondence chess games using XBoard. It is distributed with XBoard and has its own manual page. cmail is free software. It was written by Even Welsh. cmail has not been ported to Windows; sorry.

[B.7] How do I build XBoard? Do I need gcc?

The first step to building XBoard is to get the distribution file. See topic [A.2] for places you can ftp the software from.

Next, decide what directory tree you are going to install XBoard in. The default is /usr/local, but you probably don't have write access to that directory unless you are a system administrator. If you do, type the following to install it there:

    gzip -cd xboard-*.tar.gz | tar -xvf -
    cd xboard-*/
    ./configure
    make
    su
    make install
If you want to install xboard in your personal home directory ($HOME/bin), type this:

    gzip -cd xboard-*.tar.gz | tar -xvf -
    cd xboard-*/
    ./configure --prefix=$HOME
    make
    make install

If the first step above fails because you don't have gzip, see topic [A.2], and ask a local Unix expert if you need more help. If you have any problems with the last two steps, read the READ_ME and INSTALL files in the xboard-*/ directory. You will also find this FAQ there.

You don't need to have gcc to build XBoard. Almost any Unix C compiler should do.


[B.8] Can I use XBoard or WinBoard to play a game of chess with another human?

The only way for two humans on different machines to play chess in real time using XBoard/WinBoard is to use an Internet Chess Server as an intermediary. That is, each player runs his own copy of XBoard or WinBoard, both of them log into an ICS, and they play a game there. Two copies of XBoard/WinBoard cannot communicate with each other directly.

Instructions on how to get started with Internet chess are included with the XBoard and WinBoard distributions. The network addresses included in the distribution may not always be current. The oldest and largest ICS is the Internet Chess Club at chessclub.com, which now has a fee for registered use, but still allows free unregistered use. There are also many newer sites with no fees, using the Free Internet Chess Server implementation (FICS). The most active FICS site is freechess.org. On these and most other chess servers, the port number to use is 5000.

If you don't have network connectivity to any ICS site, you can run your own server using a version of the FICS code, but this is not easy. See http://www.tim-mann.org/ics.html#ownics for advice and pointers.

The cmail program included with XBoard lets you play email postal games with another human; see topic [B.6].

Two humans can play chess on the same machine using one copy of XBoard/WinBoard in Edit Game mode, but the clocks don't run in this mode, so it's of limited usefulness.

See also topic [D.2], Winsock Chess.


[B.9] Will WinBoard run on Windows 3.1? How about Windows CE (also known as Pocket PC)?

WinBoard does not run on Windows 3.1, Windows for Workgroups 3.11, etc., not even with the Win32s compatibility package. The main problem is that Win32s does not have threads or real concurrent processes. A port of WinBoard to Windows 3.1 is possible in theory, but it would be difficult and messy, and no one is going to do it.

WinBoard does not run on Windows CE (also known as Pocket PC). I don't know what would be required to port it.

WinBoard does run well on full 32-bit versions of Windows, such as Windows 95, 98, NT, 2000, ME, and XP, and should continue to work on future 32-bit Windows systems.


[B.10] How do I use XBoard or WinBoard as an external viewer for PGN files with my Web browser?

1) On Unix systems:

- Add the following line to the file .mime.types in your home directory. (Create the file if it doesn't exist already.)

    application/x-chess-pgn    pgn

- Add the following line to the file .mailcap in your home directory. (Create the file if it doesn't exist already.)

    application/x-chess-pgn; xboard -ncp -lgf %s

- Exit from your Web browser and restart it.

2) On MS Windows systems:

The exact procedure depends on which Web browser you are using. The current version of WinBoard automatically configures itself as your PGN viewer for local files, Netscape 4.x and later, and Internet Explorer. This automatic setup probably works for all other current Web browsers, too.


[B.11] How do I use WinBoard as an external viewer for PGN files with the MS Windows File Manager or Explorer?

WinBoard sets this up automatically when you install it, except on old versions of Windows NT (prior to 4.0). On Windows NT 3.51 or earlier, go to the File Manager, click on the File menu, select Associate, enter "pgn" as the extension, and use the Browse button to find your copy of WinBoard and set up the association.

[B.12] How do I use ICC timestamp or FICS timeseal with XBoard?

First, get the appropriate version of timestamp or timeseal for your machine from ftp.chessclub.com or ftp.freechess.org. Second, be sure that you can connect using XBoard without timestamp/timeseal. Third, be sure that you can connect using timestamp/timeseal without XBoard. See the help files on ICC and FICS or ask people online if you have problems.

If you are in a completely ordinary situation, where your machine is directly on the Internet and you can connect to ICC or FICS without timestamp/timeseal using just the command "xboard -ics" or "xboard -ics -icshost freechess.org", change that command to one of the following:

    xboard -ics -icshost 204.178.125.65 -icshelper timestamp

    xboard -ics -icshost 164.58.253.13 -icshelper timeseal

If you have a firewall between your machine and the ICS, see topic [B.19].

If you normally have to use the "/icscomm" command line option on xboard to log into a second machine, and then telnet to ICC or FICS from there, you are going to have to run the Unix version of timestamp or timeseal on the second machine. (If the second machine is not running Unix, you are out of luck.) Get the appropriate version of timestamp or timeseal onto the shell machine via FTP; see the help files on ICC and FICS for instructions. Then simply run it when you would normally run telnet. In this configuration you are not protected against lag between your PC and the shell machine, or for lag caused by heavy load on the shell machine itself from other users.

For further information on timestamp and timeseal, see the help files on ICC and FICS.


[B.13] How do I use ICC timestamp or FICS timeseal with WinBoard?

If you select an ICS from either the WinBoard Startup dialog or the Windows Start submenu that WinBoard installs, WinBoard automatically runs timestamp or timeseal if the ICS you chose is known to support it.

If you are constructing a WinBoard command line by hand, add the option "/icshelper timestamp" or "/icshelper timeseal" to the WinBoard command line to use timestamp or timeseal. Both timestamp.exe and timeseal.exe are included in the WinBoard distribution. They both function identically to the Unix versions, as documented in "help timestamp" on ICC and "help timeseal" on FICS.

If you have a firewall between your machine and the ICS, see topic [B.19].

If you normally have to use the "/icscomm" command line option on WinBoard to log into a shell account, and then telnet to ICC or FICS from there, you are going to have to run the Unix version of timestamp or timeseal on the shell machine. (If the shell account is not on a Unix machine, you are out of luck.) Get the appropriate version of timestamp or timeseal onto the shell machine via FTP; see the help files on ICC and FICS for instructions. Then simply run it when you would normally run telnet. In this configuration you are not protected against lag between your PC and the shell machine, or for lag caused by heavy load on the shell machine itself from other users.

For further information on timestamp and timeseal, see the help files on ICC and FICS.


[B.14] How do I play bughouse with XBoard or WinBoard?

XBoard and WinBoard have simple but effective bughouse support. Offboard piece holdings are shown in the board window's banner, and you drop offboard pieces using the right mouse button. Press it over the destination square to pop up a menu of pieces.

XBoard and WinBoard can display only one board at a time, but you can observe your partner's game by running a second copy of the program and logging in as a guest. (Unfortunately, this is not possible if you are using the /icscomm option.) To observe your partner's games automatically, use the "follow" or "pfollow" ICS command; see the ICS online help for details.


[B.16] What is Zippy? How can I interface a chess program to the Internet Chess Servers?

Zippy is an interface that lets a compatible chess engine (such as GNU Chess or Crafty) act as a computer player on an Internet Chess Server. Zippy is included in both the XBoard and WinBoard distributions. It is implemented as a small amount of additional code within XBoard or WinBoard. For documentation, see the file zippy.README, included in both distributions or available from my chess Web page, http://www.tim-mann/chess.html. The version of zippy.README on my Web page is often more up-to-date than those in the XBoard/WinBoard distributions. You'll also find a "biography" of Zippy and pointers to the original Zippy the Pinhead comic strips on my Web page. Please read zippy.README carefully before you ask me any questions about Zippy.

Using a computer to choose your moves on a chess server is considered cheating unless your account is on the computer (C) list. Read "help computer" on your favorite server for details on their policy. Most of the servers have plenty of computers running now, so they will not be excited about having you run a new one unless you have written your own chess engine. They don't really need yet another Crafty or GNU Chess clone.


[B.17] How can I interface my own chess program to XBoard or WinBoard?

This is a non-trivial task. XBoard and WinBoard were not designed with a clean interface for talking to chess programs; they were written to work with an existing version of GNU Chess that expects to be talking to a person. Your program has to emulate GNU Chess's rather idiosyncratic command structure to work with XBoard and WinBoard. We are gradually cleaning up, improving, and documenting the interface as newer versions of XBoard and WinBoard come out, however.

For documentation, see the file engine-intf.html, included in both distributions or available from my chess Web page, http://www.tim-mann.org/chess.html. The version of engine-intf.html on my Web page is often more up-to-date than those in the XBoard/WinBoard distributions.


[B.18] How can I recompile WinBoard from source?

The source code for WinBoard is available from the author's Web page, http://www.tim-mann.org/chess.html.

WinBoard is currently developed using Microsoft Visual C++ 5.0. You can build the program from the MSVC++ GUI by opening the project file (winboard.dsp) and telling MSVC++ to build the project. You can also build it from the the command line by using the nmake program supplied with MSVC++.

To build WinBoard with the free Cygwin tools, available from http://www.cygwin.com/), use the command "make -f cygwin.mak". WinBoard 4.2.5 was successfully compiled with the net release of Cygwin as downloaded on 20-March-2001 (cygwin1.dll 1.1.8, gcc 2.95.2-6, binutils 20001221-1, flex 2.5.4-1), but exhibits a command-line parsing bug; see item 511 in the ToDo file that comes with WinBoard. WinBoard 4.1.0 does not compile with Cygwin. WinBoard 4.0.7 is known to compile with Cygwin BL20.1.

To build WinBoard with Borland C++ 4.5, use "borland.mak", supplied with the WinBoard sources, as the Makefile. Support for Borland C++ was contributed by Don Fong and has not been tested by the author of WinBoard.

WinBoard is a Win32 application, so you definitely need a compiler and tool set that supports Win32. In particular, older versions of DJGPP can build only 32-bit MSDOS programs; that is, programs that use a DOS extender to get a 32-bit address space and do not make any Windows calls. The latest versions of DJGPP are said to be able to build Win32 programs when used with the proper extension package(s), but this is not known to work with WinBoard. Use Cygwin instead.

See also topic [C.16].


[B.19] How can I use XBoard or WinBoard to talk to an Internet Chess Server through a firewall or proxy?

There is no single answer to this question, because there are many different kinds of firewalls in use. They work in various different ways and have various different security policies. This answer can only provide hints.

Note that you can't access Internet Chess Servers through a Web proxy, because they are not a Web service. You talk to them through a raw TCP connection, not an HTTP connection. If you can only access the Web through a proxy, there may be a firewall that stops you from making direct TCP connections, but there may also be a way through it. Read on for hints, and contact your local system administrator if you need more information about your local configuration.

A helpful user mailed me the following explanation of how to use WinBoard with WinGate:

"I have managed to setup WinBoard though my WinGate proxy. I have the Office version. What I needed to do was to setup the TCP/IP connection to add the User/Host name and my provider service name for the DNS, but I had to leave the HOST IP address blank. I have not played with all the variations, so it may be just that I have the DNS lookup enabled."
I hope this helps, though I don't find it very clear. I don't have a copy of WinGate myself and can't help if you have questions about it.

If you are using some other non-SOCKS firewall, read the FIREWALLS section in your XBoard or WinBoard documentation (man page, info document, or Help file). If you can telnet to a chess server in some way, then you can almost certainly connect to it with xboard/WinBoard, though in some cases you may not be able to run timestamp or timeseal. The timestamp and timeseal protocols require a clean, 8-bit wide TCP connection from your machine to the ICS, which some firewalls do not provide.

If you have a SOCKS firewall and are using XBoard, you should be able to SOCKSify xboard and use it. See http://www.socks.nec.com/ for information about SOCKS and socksification. However, if you do this, you can't use timestamp or timeseal; what you really need is a socksified version of timestamp or timeseal. This is hard because the source code for timestamp and timeseal is proprietary; the folks running the chess servers don't give it out because that would make it too easy to cheat. On some versions of Unix, you may be able to socksify a program that you don't have the source code to by running it with an appropriate dynamic library; see http://www.socks.nec.com/. For others, you might be able to get a pre-built socksified version from the chess server administrators. For timeseal versions, see ftp://ftp.freechess.org/pub/chess/timeseal/. For timestamp versions, the directory would be ftp://ftp.chessclub.com/pub/icc/timestamp/, but at this writing there don't seem to be any socksified timestamps there. Once you have a socksified timestamp or timeseal, simply run it with a normal, non-socksified xboard in place of the standard timestamp or timeseal.

If you have a SOCKS firewall and you are using WinBoard, we now know how to make this configuration work, complete with timestamp or timeseal!

Start by getting SocksCap32. This software is freely available from http://www.socks.nec.com/. Install it on your machine, read the documentation, and learn to use it. You may find it useful with many other programs besides WinBoard.

Next, don't socksify WinBoard. Socksifying WinBoard itself doesn't let you use it with timestamp or timeseal. For some reason I don't understand -- something strange that SocksCap32 does -- the socksified WinBoard runs but does nothing, and timestamp/timeseal runs all by itself in its own window.

Instead, use the following workaround. Follow the instructions exactly; don't try to skip steps or simplify things.

First, make SocksCap32 application profiles for timestamp and timeseal. Use the following command lines in the SocksCap32 profiles. Name the first profile "timestamp" and the second "timeseal".

    "c:\program files\winboard\timestamp.exe" chessclub.com 5000 -p 5000
    "c:\program files\winboard\timeseal.exe" freechess.org 5000 -p 5000

Second, run timestamp or timeseal by itself, socksified, using its profile. This will open an unneeded, black window that will not respond to typing. Minimize it to the task bar and ignore it. It will go away when you exit from WinBoard.

Next, run WinBoard using the following command line. Make a shortcut or type this command into an MS-DOS Prompt box. Don't run WinBoard itself socksified, just run it directly.

    "c:\program files\winboard.exe" /ics /icshost=localhost /icsport=5000

After you get this working, you can try getting the timestamp window to auto-minimize by starting it from a shortcut instead of from the SocksCap32 control window. As it says in the SocksCap32 help file, put the following in the Target field of a shortcut's Properties page:

    "c:\program files\sockscap32\sc32.exe" timestamp
Then select "Run: Minimized" on the same page. Do the same for timeseal.

Another method that can work is to use a .bat file to start both timestamp and WinBoard. It would look something like this:

    REM --
    REM -- icc.bat
    REM -- Start timestamp under SocksCap32 and use WinBoard to connect to it.
    REM -- The string "timestamp" refers to a SocksCap32 profile for timestamp.
    REM --  Do not change it to the filename of the timestamp program!
    REM --
    start /minimized "c:\program files\sockscap32\sc32.exe" timestamp
    cd "c:\program files\winboard"
    winboard /ics /icshost=localhost /icsport=5000

This workaround has a problem if you want to run two copies of WinBoard at once, talking to the same chess server twice (for bughouse) or to two different chess servers. If you need to do that, you will need to run a separate copy of timestamp with a different port number for each connection. You'll need to make a second set of profile entries with a different value after the -p flag (say, 5001) and you'll need to change the WinBoard command line /icsport=5000 for the second WinBoard to match.


[B.20] How can I use XBoard or WinBoard on chess.net with accuclock?

I believe chess.net provides a Win32 command-line version of accuclock that will work with WinBoard. Please see the documentation on the chess.net server itself; don't ask the author of WinBoard.

I don't know whether chess.net provides versions of accuclock for Unix at this time. Ask them.


[B.21] Can I get Zippy to do one or more ICS commands automatically at the start or end of each game?

By default, Zippy automatically sends the command "gameend" to ICS at the end of each game. You can alias this command (using the ICS "alias" feature) to anything you want. On ICC, you can use the "multi" feature to alias gameend to several commands, but other servers don't have that feature. Zippy doesn't send anything at the start of the game by default.

You can get Zippy to send one or more commands of your choosing, at the start and/or end of each game, by using the -zippyGameStart and -zippyGameEnd command line options, newly added in version 4.0.3. Both xboard and WinBoard have (somewhat obscure) ways of getting newlines into this option to send several commands. Here is an example of one way to do it for each.

    xboard -ics -zp -xrm '*zippyGameStart: say hi\nsay prepare to die\n'

    WinBoard /ics /zp /zippyGameEnd='say thanks\nseek 5 0\nseek 2 12\n'

[B.22] How do I Use Cygwin instead.

See also topic [C.16].


[B.19] How can I use XBoard or WinBoard to talk to an Internet Chess Server through a firewall or proxy?

There is no single answer to this question, because there are many different kinds of firewalls in use. They work in various different ways and have various different security policies. This answer can only provide hints.

Note that you can't access Internet Chess Servers through a Web proxy, because they are not a Web service. You talk to them through a raw TCP connection, not an HTTP connection. If you can only access the Web through a proxy, there may be a firewall that stops you from making direct TCP connections, but there may also be a way through it. Read on for hints, and contact your local system administrator if you need more information about your local configuration.

A helpful user mailed me the following explanation of how to use WinBoard with WinGate:

"I have managed to setup WinBoard though my WinGate proxy. I have the Office version. What I needed to do was to setup the TCP/IP connection to add the User/Host name and my provider service name for the DNS, but I had to leave the HOST IP address blank. I have not played with all the variations, so it may be just that I have the DNS lookup enabled."
I hope this helps, though I don't find it very clear. I don't have a copy of WinGate myself and can't help if you have questions about it.

If you are using some other non-SOCKS firewall, read the FIREWALLS section in your XBoard or WinBoard documentation (man page, info document, or Help file). If you can telnet to a chess server in some way, then you can almost certainly connect to it with xboard/WinBoard, though in some cases you may not be able to run timestamp or timeseal. The timestamp and timeseal protocols require a clean, 8-bit wide TCP connection from your machine to the ICS, which some firewalls do not provide.

If you have a SOCKS firewall and are using XBoard, you should be able to SOCKSify xboard and use it. See http://www.socks.nec.com/ for information about SOCKS and socksification. However, if you do this, you can't use timestamp or timeseal; what you really need is a socksified version of timestamp or timeseal. This is hard because the source code for timestamp and timeseal is proprietary; the folks running the chess servers don't give it out because that would make it too easy to cheat. On some versions of Unix, you may be able to socksify a program that you don't have the source code to by running it with an appropriate dynamic library; see http://www.socks.nec.com/. For others, you might be able to get a pre-built socksified version from the chess server administrators. For timeseal versions, see ftp://ftp.freechess.org/pub/chess/timeseal/. For timestamp versions, the directory would be ftp://ftp.chessclub.com/pub/icc/timestamp/, but at this writing there don't seem to be any socksified timestamps there. Once you have a socksified timestamp or timeseal, simply run it with a normal, non-socksified xboard in place of the standard timestamp or timeseal.

If you have a SOCKS firewall and you are using WinBoard, we now know how to make this configuration work, complete with timestamp or timeseal!

Start by getting SocksCap32. This software is freely available from http://www.socks.nec.com/. Install it on your machine, read the documentation, and learn to use it. You may find it useful with many other programs besides WinBoard.

Next, don't socksify WinBoard. Socksifying WinBoard itself doesn't let you use it with timestamp or timeseal. For some reason I don't understand -- something strange that SocksCap32 does -- the socksified WinBoard runs but does nothing, and timestamp/timeseal runs all by itself in its own window.

Instead, use the following workaround. Follow the instructions exactly; don't try to skip steps or simplify things.

First, make SocksCap32 application profiles for timestamp and timeseal. Use the following command lines in the SocksCap32 profiles. Name the first profile "timestamp" and the second "timeseal".

    "c:\program files\winboard\timestamp.exe" chessclub.com 5000 -p 5000
    "c:\program files\winboard\timeseal.exe" freechess.org 5000 -p 5000

Second, run timestamp or timeseal by itself, socksified, using its profile. This will open an unneeded, black window that will not respond to typing. Minimize it to the task bar and ignore it. It will go away when you exit from WinBoard.

Next, run WinBoard using the following command line. Make a shortcut or type this command into an MS-DOS Prompt box. Don't run WinBoard itself socksified, just run it directly.

    "c:\program files\winboard.exe" /ics /icshost=localhost /icsport=5000

After you get this working, you can try getting the timestamp window to auto-minimize by starting it from a shortcut instead of from the SocksCap32 control window. As it says in the SocksCap32 help file, put the following in the Target field of a shortcut's Properties page:

    "c:\program files\sockscap32\sc32.exe" timestamp
Then select "Run: Minimized" on the same page. Do the same for timeseal.

Another method that can work is to use a .bat file to start both timestamp and WinBoard. It would look something like this:

    REM --
    REM -- icc.bat
    REM -- Start timestamp under SocksCap32 and use WinBoard to connect to it.
    REM -- The string "timestamp" refers to a SocksCap32 profile for timestamp.
    REM --  Do not change it to the filename of the timestamp program!
    REM --
    start /minimized "c:\program files\sockscap32\sc32.exe" timestamp
    cd "c:\program files\winboard"
    winboard /ics /icshost=localhost /icsport=5000

This workaround has a problem if you want to run two copies of WinBoard at once, talking to the same chess server twice (for bughouse) or to two different chess servers. If you need to do that, you will need to run a separate copy of timestamp with a different port number for each connection. You'll need to make a second set of profile entries with a different value after the -p flag (say, 5001) and you'll need to change the WinBoard command line /icsport=5000 for the second WinBoard to match.


[B.20] How can I use XBoard or WinBoard on chess.net with accuclock?

I believe chess.net provides a Win32 command-line version of accuclock that will work with WinBoard. Please see the documentation on the chess.net server itself; don't ask the author of WinBoard.

I don't know whether chess.net provides versions of accuclock for Unix at this time. Ask them.


[B.21] Can I get Zippy to do one or more ICS commands automatically at the start or end of each game?

By default, Zippy automatically sends the command "gameend" to ICS at the end of each game. You can alias this command (using the ICS "alias" feature) to anything you want. On ICC, you can use the "multi" feature to alias gameend to several commands, but other servers don't have that feature. Zippy doesn't send anything at the start of the game by default.

You can get Zippy to send one or more commands of your choosing, at the start and/or end of each game, by using the -zippyGameStart and -zippyGameEnd command line options, newly added in version 4.0.3. Both xboard and WinBoard have (somewhat obscure) ways of getting newlines into this option to send several commands. Here is an example of one way to do it for each.

    xboard -ics -zp -xrm '*zippyGameStart: say hi\nsay prepare to die\n'

    WinBoard /ics /zp /zippyGameEnd='say thanks\nseek 5 0\nseek 2 12\n'

[B.22] How do I Use Cygwin instead.

See also topic [C.16].


[B.19] How can I use XBoard or WinBoard to talk to an Internet Chess Server through a firewall or proxy?

There is no single answer to this question, because there are many different kinds of firewalls in use. They work in various different ways and have various different security policies. This answer can only provide hints.

Note that you can't access Internet Chess Servers through a Web proxy, because they are not a Web service. You talk to them through a raw TCP connection, not an HTTP connection. If you can only access the Web through a proxy, there may be a firewall that stops you from making direct TCP connections, but there may also be a way through it. Read on for hints, and contact your local system administrator if you need more information about your local configuration.

A helpful user mailed me the following explanation of how to use WinBoard with WinGate:

"I have managed to setup WinBoard though my WinGate proxy. I have the Office version. What I needed to do was to setup the TCP/IP connection to add the User/Host name and my provider service name for the DNS, but I had to leave the HOST IP address blank. I have not played with all the variations, so it may be just that I have the DNS lookup enabled."
I hope this helps, though I don't find it very clear. I don't have a copy of WinGate myself and can't help if you have questions about it.

If you are using some other non-SOCKS firewall, read the FIREWALLS section in your XBoard or WinBoard documentation (man page, info document, or Help file). If you can telnet to a chess server in some way, then you can almost certainly connect to it with xboard/WinBoard, though in some cases you may not be able to run timestamp or timeseal. The timestamp and timeseal protocols require a clean, 8-bit wide TCP connection from your machine to the ICS, which some firewalls do not provide.

If you have a SOCKS firewall and are using XBoard, you should be able to SOCKSify xboard and use it. See http://www.socks.nec.com/ for information about SOCKS and socksification. However, if you do this, you can't use timestamp or timeseal; what you really need is a socksified version of timestamp or timeseal. This is hard because the source code for timestamp and timeseal is proprietary; the folks running the chess servers don't give it out because that would make it too easy to cheat. On some versions of Unix, you may be able to socksify a program that you don't have the source code to by running it with an appropriate dynamic library; see http://www.socks.nec.com/. For others, you might be able to get a pre-built socksified version from the chess server administrators. For timeseal versions, see ftp://ftp.freechess.org/pub/chess/timeseal/. For timestamp versions, the directory would be ftp://ftp.chessclub.com/pub/icc/timestamp/, but at this writing there don't seem to be any socksified timestamps there. Once you have a socksified timestamp or timeseal, simply run it with a normal, non-socksified xboard in place of the standard timestamp or timeseal.

If you have a SOCKS firewall and you are using WinBoard, we now know how to make this configuration work, complete with timestamp or timeseal!

Start by getting SocksCap32. This software is freely available from http://www.socks.nec.com/. Install it on your machine, read the documentation, and learn to use it. You may find it useful with many other programs besides WinBoard.

Next, don't socksify WinBoard. Socksifying WinBoard itself doesn't let you use it with timestamp or timeseal. For some reason I don't understand -- something strange that SocksCap32 does -- the socksified WinBoard runs but does nothing, and timestamp/timeseal runs all by itself in its own window.

Instead, use the following workaround. Follow the instructions exactly; don't try to skip steps or simplify things.

First, make SocksCap32 application profiles for timestamp and timeseal. Use the following command lines in the SocksCap32 profiles. Name the first profile "timestamp" and the second "timeseal".

    "c:\program files\winboard\timestamp.exe" chessclub.com 5000 -p 5000
    "c:\program files\winboard\timeseal.exe" freechess.org 5000 -p 5000

Second, run timestamp or timeseal by itself, socksified, using its profile. This will open an unneeded, black window that will not respond to typing. Minimize it to the task bar and ignore it. It will go away when you exit from WinBoard.

Next, run WinBoard using the following command line. Make a shortcut or type this command into an MS-DOS Prompt box. Don't run WinBoard itself socksified, just run it directly.

    "c:\program files\winboard.exe" /ics /icshost=localhost /icsport=5000

After you get this working, you can try getting the timestamp window to auto-minimize by starting it from a shortcut instead of from the SocksCap32 control window. As it says in the SocksCap32 help file, put the following in the Target field of a shortcut's Properties page:

    "c:\program files\sockscap32\sc32.exe" timestamp
Then select "Run: Minimized" on the same page. Do the same for timeseal.

Another method that can work is to use a .bat file to start both timestamp and WinBoard. It would look something like this:

    REM --
    REM -- icc.bat
    REM -- Start timestamp under SocksCap32 and use WinBoard to connect to it.
    REM -- The string "timestamp" refers to a SocksCap32 profile for timestamp.
    REM --  Do not change it to the filename of the timestamp program!
    REM --
    start /minimized "c:\program files\sockscap32\sc32.exe" timestamp
    cd "c:\program files\winboard"
    winboard /ics /icshost=localhost /icsport=5000

This workaround has a problem if you want to run two copies of WinBoard at once, talking to the same chess server twice (for bughouse) or to two different chess servers. If you need to do that, you will need to run a separate copy of timestamp with a different port number for each connection. You'll need to make a second set of profile entries with a different value after the -p flag (say, 5001) and you'll need to change the WinBoard command line /icsport=5000 for the second WinBoard to match.


[B.20] How can I use XBoard or WinBoard on chess.net with accuclock?

I believe chess.net provides a Win32 command-line version of accuclock that will work with WinBoard. Please see the documentation on the chess.net server itself; don't ask the author of WinBoard.

I don't know whether chess.net provides versions of accuclock for Unix at this time. Ask them.


[B.21] Can I get Zippy to do one or more ICS commands automatically at the start or end of each game?

By default, Zippy automatically sends the command "gameend" to ICS at the end of each game. You can alias this command (using the ICS "alias" feature) to anything you want. On ICC, you can use the "multi" feature to alias gameend to several commands, but other servers don't have that feature. Zippy doesn't send anything at the start of the game by default.

You can get Zippy to send one or more commands of your choosing, at the start and/or end of each game, by using the -zippyGameStart and -zippyGameEnd command line options, newly added in version 4.0.3. Both xboard and WinBoard have (somewhat obscure) ways of getting newlines into this option to send several commands. Here is an example of one way to do it for each.

    xboard -ics -zp -xrm '*zippyGameStart: say hi\nsay prepare to die\n'

    WinBoard /ics /zp /zippyGameEnd='say thanks\nseek 5 0\nseek 2 12\n'

[B.22] How do I Use Cygwin instead.

See also topic [C.16].


[B.19] How can I use XBoard or WinBoard to talk to an Internet Chess Server through a firewall or proxy?

There is no single answer to this question, because there are many different kinds of firewalls in use. They work in various different ways and have various different security policies. This answer can only provide hints.

Note that you can't access Internet Chess Servers through a Web proxy, because they are not a Web service. You talk to them through a raw TCP connection, not an HTTP connection. If you can only access the Web through a proxy, there may be a firewall that stops you from making direct TCP connections, but there may also be a way through it. Read on for hints, and contact your local system administrator if you need more information about your local configuration.

A helpful user mailed me the following explanation of how to use WinBoard with WinGate:

"I have managed to setup WinBoard though my WinGate proxy. I have the Office version. What I needed to do was to setup the TCP/IP connection to add the User/Host name and my provider service name for the DNS, but I had to leave the HOST IP address blank. I have not played with all the variations, so it may be just that I have the DNS lookup enabled."
I hope this helps, though I don't find it very clear. I don't have a copy of WinGate myself and can't help if you have questions about it.

If you are using some other non-SOCKS firewall, read the FIREWALLS section in your XBoard or WinBoard documentation (man page, info document, or Help file). If you can telnet to a chess server in some way, then you can almost certainly connect to it with xboard/WinBoard, though in some cases you may not be able to run timestamp or timeseal. The timestamp and timeseal protocols require a clean, 8-bit wide TCP connection from your machine to the ICS, which some firewalls do not provide.

If you have a SOCKS firewall and are using XBoard, you should be able to SOCKSify xboard and use it. See http://www.socks.nec.com/ for information about SOCKS and socksification. However, if you do this, you can't use timestamp or timeseal; what you really need is a socksified version of timestamp or timeseal. This is hard because the source code for timestamp and timeseal is proprietary; the folks running the chess servers don't give it out because that would make it too easy to cheat. On some versions of Unix, you may be able to socksify a program that you don't have the source code to by running it with an appropriate dynamic library; see http://www.socks.nec.com/. For others, you might be able to get a pre-built socksified version from the chess server administrators. For timeseal versions, see ftp://ftp.freechess.org/pub/chess/timeseal/. For timestamp versions, the directory would be ftp://ftp.chessclub.com/pub/icc/timestamp/, but at this writing there don't seem to be any socksified timestamps there. Once you have a socksified timestamp or timeseal, simply run it with a normal, non-socksified xboard in place of the standard timestamp or timeseal.

If you have a SOCKS firewall and you are using WinBoard, we now know how to make this configuration work, complete with timestamp or timeseal!

Start by getting SocksCap32. This software is freely available from http://www.socks.nec.com/. Install it on your machine, read the documentation, and learn to use it. You may find it useful with many other programs besides WinBoard.

Next, don't socksify WinBoard. Socksifying WinBoard itself doesn't let you use it with timestamp or timeseal. For some reason I don't understand -- something strange that SocksCap32 does -- the socksified WinBoard runs but does nothing, and timestamp/timeseal runs all by itself in its own window.

Instead, use the following workaround. Follow the instructions exactly; don't try to skip steps or simplify things.

First, make SocksCap32 application profiles for timestamp and timeseal. Use the following command lines in the SocksCap32 profiles. Name the first profile "timestamp" and the second "timeseal".

    "c:\program files\winboard\timestamp.exe" chessclub.com 5000 -p 5000
    "c:\program files\winboard\timeseal.exe" freechess.org 5000 -p 5000

Second, run timestamp or timeseal by itself, socksified, using its profile. This will open an unneeded, black window that will not respond to typing. Minimize it to the task bar and ignore it. It will go away when you exit from WinBoard.

Next, run WinBoard using the following command line. Make a shortcut or type this command into an MS-DOS Prompt box. Don't run WinBoard itself socksified, just run it directly.

    "c:\program files\winboard.exe" /ics /icshost=localhost /icsport=5000

After you get this working, you can try getting the timestamp window to auto-minimize by starting it from a shortcut instead of from the SocksCap32 control window. As it says in the SocksCap32 help file, put the following in the Target field of a shortcut's Properties page:

    "c:\program files\sockscap32\sc32.exe" timestamp
Then select "Run: Minimized" on the same page. Do the same for timeseal.

Another method that can work is to use a .bat file to start both timestamp and WinBoard. It would look something like this:

    REM --
    REM -- icc.bat
    REM -- Start timestamp under SocksCap32 and use WinBoard to connect to it.
    REM -- The string "timestamp" refers to a SocksCap32 profile for timestamp.
    REM --  Do not change it to the filename of the timestamp program!
    REM --
    start /minimized "c:\program files\sockscap32\sc32.exe" timestamp
    cd "c:\program files\winboard"
    winboard /ics /icshost=localhost /icsport=5000

This workaround has a problem if you want to run two copies of WinBoard at once, talking to the same chess server twice (for bughouse) or to two different chess servers. If you need to do that, you will need to run a separate copy of timestamp with a different port number for each connection. You'll need to make a second set of profile entries with a different value after the -p flag (say, 5001) and you'll need to change the WinBoard command line /icsport=5000 for the second WinBoard to match.


[B.20] How can I use XBoard or WinBoard on chess.net with accuclock?

I believe chess.net provides a Win32 command-line version of accuclock that will work with WinBoard. Please see the documentation on the chess.net server itself; don't ask the author of WinBoard.

I don't know whether chess.net provides versions of accuclock for Unix at this time. Ask them.


[B.21] Can I get Zippy to do one or more ICS commands automatically at the start or end of each game?

By default, Zippy automatically sends the command "gameend" to ICS at the end of each game. You can alias this command (using the ICS "alias" feature) to anything you want. On ICC, you can use the "multi" feature to alias gameend to several commands, but other servers don't have that feature. Zippy doesn't send anything at the start of the game by default.

You can get Zippy to send one or more commands of your choosing, at the start and/or end of each game, by using the -zippyGameStart and -zippyGameEnd command line options, newly added in version 4.0.3. Both xboard and WinBoard have (somewhat obscure) ways of getting newlines into this option to send several commands. Here is an example of one way to do it for each.

    xboard -ics -zp -xrm '*zippyGameStart: say hi\nsay prepare to die\n'

    WinBoard /ics /zp /zippyGameEnd='say thanks\nseek 5 0\nseek 2 12\n'

[B.22] How do I Use Cygwin instead.

See also topic [C.16].


[B.19] How can I use XBoard or WinBoard to talk to an Internet Chess Server through a firewall or proxy?

There is no single answer to this question, because there are many different kinds of firewalls in use. They work in various different ways and have various different security policies. This answer can only provide hints.

Note that you can't access Internet Chess Servers through a Web proxy, because they are not a Web service. You talk to them through a raw TCP connection, not an HTTP connection. If you can only access the Web through a proxy, there may be a firewall that stops you from making direct TCP connections, but there may also be a way through it. Read on for hints, and contact your local system administrator if you need more information about your local configuration.

A helpful user mailed me the following explanation of how to use WinBoard with WinGate:

"I have managed to setup WinBoard though my WinGate proxy. I have the Office version. What I needed to do was to setup the TCP/IP connection to add the User/Host name and my provider service name for the DNS, but I had to leave the HOST IP address blank. I have not played with all the variations, so it may be just that I have the DNS lookup enabled."
I hope this helps, though I don't find it very clear. I don't have a copy of WinGate myself and can't help if you have questions about it.

If you are using some other non-SOCKS firewall, read the FIREWALLS section in your XBoard or WinBoard documentation (man page, info document, or Help file). If you can telnet to a chess server in some way, then you can almost certainly connect to it with xboard/WinBoard, though in some cases you may not be able to run timestamp or timeseal. The timestamp and timeseal protocols require a clean, 8-bit wide TCP connection from your machine to the ICS, which some firewalls do not provide.

If you have a SOCKS firewall and are using XBoard, you should be able to SOCKSify xboard and use it. See http://www.socks.nec.com/ for information about SOCKS and socksification. However, if you do this, you can't use timestamp or timeseal; what you really need is a socksified version of timestamp or timeseal. This is hard because the source code for timestamp and timeseal is proprietary; the folks running the chess servers don't give it out because that would make it too easy to cheat. On some versions of Unix, you may be able to socksify a program that you don't have the source code to by running it with an appropriate dynamic library; see http://www.socks.nec.com/. For others, you might be able to get a pre-built socksified version from the chess server administrators. For timeseal versions, see ftp://ftp.freechess.org/pub/chess/timeseal/. For timestamp versions, the directory would be ftp://ftp.chessclub.com/pub/icc/timestamp/, but at this writing there don't seem to be any socksified timestamps there. Once you have a socksified timestamp or timeseal, simply run it with a normal, non-socksified xboard in place of the standard timestamp or timeseal.

If you have a SOCKS firewall and you are using WinBoard, we now know how to make this configuration work, complete with timestamp or timeseal!

Start by getting SocksCap32. This software is freely available from http://www.socks.nec.com/. Install it on your machine, read the documentation, and learn to use it. You may find it useful with many other programs besides WinBoard.

Next, don't socksify WinBoard. Socksifying WinBoard itself doesn't let you use it with timestamp or timeseal. For some reason I don't understand -- something strange that SocksCap32 does -- the socksified WinBoard runs but does nothing, and timestamp/timeseal runs all by itself in its own window.

Instead, use the following workaround. Follow the instructions exactly; don't try to skip steps or simplify things.

First, make SocksCap32 application profiles for timestamp and timeseal. Use the following command lines in the SocksCap32 profiles. Name the first profile "timestamp" and the second "timeseal".

    "c:\program files\winboard\timestamp.exe" chessclub.com 5000 -p 5000
    "c:\program files\winboard\timeseal.exe" freechess.org 5000 -p 5000

Second, run timestamp or timeseal by itself, socksified, using its profile. This will open an unneeded, black window that will not respond to typing. Minimize it to the task bar and ignore it. It will go away when you exit from WinBoard.

Next, run WinBoard using the following command line. Make a shortcut or type this command into an MS-DOS Prompt box. Don't run WinBoard itself socksified, just run it directly.

    "c:\program files\winboard.exe" /ics /icshost=localhost /icsport=5000

After you get this working, you can try getting the timestamp window to auto-minimize by starting it from a shortcut instead of from the SocksCap32 control window. As it says in the SocksCap32 help file, put the following in the Target field of a shortcut's Properties page:

    "c:\program files\sockscap32\sc32.exe" timestamp
Then select "Run: Minimized" on the same page. Do the same for timeseal.

Another method that can work is to use a .bat file to start both timestamp and WinBoard. It would look something like this:

    REM --
    REM -- icc.bat
    REM -- Start timestamp under SocksCap32 and use WinBoard to connect to it.
    REM -- The string "timestamp" refers to a SocksCap32 profile for timestamp.
    REM --  Do not change it to the filename of the timestamp program!
    REM --
    start /minimized "c:\program files\sockscap32\sc32.exe" timestamp
    cd "c:\program files\winboard"
    winboard /ics /icshost=localhost /icsport=5000

This workaround has a problem if you want to run two copies of WinBoard at once, talking to the same chess server twice (for bughouse) or to two different chess servers. If you need to do that, you will need to run a separate copy of timestamp with a different port number for each connection. You'll need to make a second set of profile entries with a different value after the -p flag (say, 5001) and you'll need to change the WinBoard command line /icsport=5000 for the second WinBoard to match.


[B.20] How can I use XBoard or WinBoard on chess.net with accuclock?

I believe chess.net provides a Win32 command-line versio