Chess home page  10x8 Chess home page  Downloads  

This page is under construction!

How to set up your WinBoard tournaments for live broadcasting.


The ChessLive viewer is based on the principle that the viewer is a HTML web-page, 
showing the Chess board with the current position,
with embedded Javascript to periodically download a file with moves to update this position.
The file with moves is created and updated by WinBoard_F,
and is thus on the computer where you play your games.
Since most web browsers consider it a security violation if Javascript
accesses another server than where the script was loaded from,
the HTML page of the viewer will have to reside in that computer too.

In any case, you will have to configure your computer as a web server in order to allow people to access it.
I found the "Abyss Web Server" a very easy tool for doing this.
The free version of this server can be downloaded from

satisfies our needs, and was extremely simple to install
(practically a one-click install!).
After the default install, it will have created a folder "C:\Abyss Web Server".
In this folder there is a folder "htdocs", which is the root directory of the server as people see it from the outside.
So all components of the viewer pages go in there,
if you want that page to reside in the root of your server
(i.e., people can access it as "http:///game.html").
If you want to have other stuff on your server as well, you might prefer to put all viewer stuff in a subdirectory, say "C:\Abyss Web Server\htdocs\ChessLive".
People will have to mention that sub-directory then in the URL as well:
"http:///ChessLive/game.html.
Note that URLs are case sensitive!

The viewer uses a number of graphics files for the piece symbols.
These are all stored in the folder "gifs" within your ChessLive folder.
The logo that the viewer displays at the top of the page comes from the file "header.gif" in your main ChessLive folder.
You must replace it with your own logo and title.
Apart from these graphics, the viewer consists of the files "game.html", "chess.css" and "chess.js".
The .html file describes the page layout, mainly the board and opening position, 
the .css style sheet describes sizes and colors of the HTML elements,
and the .js contains the Javascript program.
Similarly, there is a small version consisting of "small.html", "small.css" and "small.js",
which is activated when you click the "minimal view" button in the main viewer.

Apart from these two pages, there is the dynamic information that should be displayed.
This consists of the file "moves.txt", describing the game in progress,
the cross table "NAMEx.txt" and the standings "NAMEs.txt".
The latter two are normal text files,
that are shown as popups by the viewer when the corresponding buttons are hit.
They should be updated on command of the tournament manager,
after every game.

The "moves.txt" file is created and updated by WinBoard_F,
through the option /serverMoves="moves.txt"
(on the "winboard.ini" file).
Note that if the directory in which WinBoard runs is different from your ChessLive directory
(which is likely)
you would have to specify the full pathname:
/serverMoves="C:\Abyss Web Server\htdocs\ChessLive\moves.txt".
The moves.txt maintained by WinBoard_F contains the name of the playing engines,
followed by all moves of the game upto now,
and their depth/score/time info,
in a peculiar notation (reminescent long algebraic), 
designed for trivial parsing by the viewer Javascript.
(E.g. short white 8x8 castling would be written as "e1:g1:h1:f1".)

It is perfectly possible to offer two different games simultaneously:
simply duplicate the viewer folder
(including the gifs subdirectory, which is inelegant, but not hurtful in practice, as the gifs are very small).
Make sure each WinBoard_F you run sends its moves to a moves.txt in the proper folder!

Note that the viewer page is tailored to a specific variant, 
as it contains the opening position in the HTML description.
If you offer another variant (e.g. gothic in stead of capablanca)
you would have to adapt the "game.html" to it.
Note that this is not just a matter of shuffling the lines of the first and last table rows in another order,
as each table element contains the square designation in its td-element as id="a1" etc.
So after putting them in order,
you will also have to rename the squares back to where they are now.

Note that you can adapt the viewer easily to 8x8,
by deleting the last two elements of each table row.
Or add other piece types, by providing new gifs for them,
and reference them from the table.
All the viewer does is move gifs around within the table,
based on the instructions it gets from "moves.txt",
and that the format of these instructions is not board-size dependent.
(The board has to be big enough, though. 
The Javascript doesn't like it if you move to or from squares that are not present in the original HTML.)

I always run tournaments under PSWBTM.
If I run multiple tournaments simultaneously on the same PC,
I have a separate folder for each tournament.
Each of these has its own copy of PSWBTM.exe.
WinBoard, when called by PSWBTM,
uses the winboard.ini file that is in the PSWBTM folder.
So make sure you use the relevant winboard.ini for specifying the /serverMoves and /variant option.

PSWBTM executes all commands in the file "aftergame.txt" it finds in its folder after each game.
This can be used for automatic generation of the cross table and standings.
I have my own cross-table generator "hgtbl.exe" included in this package.
It takes the (path-)name of a PGN file as argument, say NAME.pgn
and creates files NAMEx.txt and NAMEs.txt from it.
An alternative is George Lyapko's "LGTBL.EXE", which works similarly,
but calls its outputs NAME.HTM and NAME.TXT.
you will have to alter the links to those files in the "game.html"
(near the top)
to