20 January, 2017

DGT Serial E-Board: Connecting to Chess24

Chess24 offers a live view of your tournament through their website. The interface by which you inform chess24 of the tournament parameters and ongoing results is primitive but powerful: editing remote files.

Initial Configuration

To get started, visit their FAQ page for organizers seeking seeking to broadcast their tournament, which has the appropriate contact information. Your account will be given the tournament organizer role and you'll be directed to an online form that help create the initial configuration file for your tournament:


This form does not tell chess24 about your tournament, it is only for loading, editing, and saving configuration files which are stored in the Javascript Object Notation (JSON) format. This is a nice format because it's open and can be edited with a text editor. Once your tournament information looks good, save the JSON file and email it to chess24. I expect that, in the future, you'll be able to submit your JSON files online and skip the relatively slow email step.

Enter FTP

Everything is configurable through this JSON file, which you can edit with a simple text editor. Upon receiving this, chess24 will create a name and password for you on their FTP server, as well as a directory structure to hold the results of your rounds in and the initial JSON file you submitted. Let's have a look. I'm using the default command line FTP client that comes with MacOS but any others will work and be prettier:

Chess24 also gives you a URL to their viewer on their website, in this case it's https://chess24.com/en/watch/live-tournaments/kings-and-queens-2017-january#live. The first experiment I had to perform was changing the JSON file and seeing if my change was reflected live on the website, it was!

If changes to the JSON configuration file on the FTP server are immediately seen by visitors of the tournament viewer, I bet we'll be making changes to a PGN file so that visitors immediately see the move on the live board. Let's configure DGT's LiveChess to do exactly this! Choose File->Preferences and the FTP settings dialog appears:

Make sure that the directory matches the directory on the FTP server. Now actions in LiveChess (like a piece being moved on an e-Board, or our reporting the result of a non e-Board match) should connect to the FTP server and publish the changes. Start a game and let's see if we can observe LiveChess in action:
We can see that it creates not just a games.pgn file as expected, but some other files too. I think chess24 ignore all files except those named either "games.pgn" or "results.pgn" so we can consider these benign artifacts of LiveChess and safely disregard them.

Understanding Live Game Upload

Now let's start up the e-Board and make some moves, and see if we can really witness LiveChess reporting the moves to chess24. We'll do this by reading the games.pgn file after each move. Make sure the "Game Upload" checkbox is marked in the lower right of LiveChess.
On successive reads of the file, we can see the game being played! And the game viewer is being updated live based on this file! One problem I can foresee is if the name values in the [White] and [Black] PGN tags don't exactly match the player text given in the JSON file, so be sure these are identical, including capitalization, spaces, and punctuation. Here it's all tied together with a successful broadcast of a test game. See the video description for some notes on clock synchronization too:


Results on boards that are not live are simply reported in LiveChess, and the games.pgn fill will have an entry for them inserted with a result, but no moves. These showed on chess24 immediately and did not require a separate results.pgn file to be made.

DGT and Chess24 Do it Right

Notice that the viewer and FTP server being live before the actual tournament start gives us a nice sandbox or test area to rehearse the tournament in. This is an indispensable feature that probably will never be specifically advertised as one.

I must really commend DGT and Chess24 for not closing up the data formats and interactions into their own inventions. DGT uses the widely adopted and easily readable PGN format and Chess24 is using JSON, PGN, and communication over FTP. If you're not initially familiar with these, it could be a bit of a learning experience, but it's worth it. The transparency of it all makes issues easy to debug, and the control afforded means you can make any conceivable change about your tournament on the fly.

1 comment:

  1. "We can see that it creates not just a games.pgn file as expected, but some other files too. I think chess24 ignore all files except those named either "games.pgn" or "results.pgn" so we can consider these benign artifacts of LiveChess and safely disregard them."

    Livechess apart from games.pgn also generates pos*.txt & game*.txt for each game, plus 3 files more tock.txt,tocks.txt & settings.txt. These files are only useful only for ToMa flash display. For c24 and other modern viewers these files are "rubbish". And i call them rubbish for a reason. Imagine have a tournament with 100 dgt e-boards. Livechess FTP uploads 204 files by default each time, when you only need one file, games.pgn. Thats a major problem if you don't want to be a huge delay(up to 2 minutes!) between moves made and showing up on the viewer!

    ReplyDelete