# Correspondence Chess

To use the correspondence chess features described here a database of the type "Correspondence" has to be opened before calling any menu items or buttons. Otherwise scid will issue an error message complaining that none is open. However, do not open more than one database fo this type as scid then can not recognise the one to use.

### Configuration

Correspondence Chess within scid is based upon a normal scid database that holds the games and some helpers external to scid that handle the "non-chess-parts". To access the configuration dialog choose [Play / Correspondence Chess / Configure] from the menu. A dialog will open presenting the follwoing choices:

- Default Database: From the Correspondence Chess menu one can choose Open Database. The database opened is set in this entry. The advantage of this method is, that this database does not show up in the recent databases lists.
- Inbox (path): In this directory scid will look for PGN files containing the games that are used to synchronise the correspondence chess database. Generally, scid does not care how the games come to this directory. It will just work through all PGN files located there. This offers the possibility to use some external tools to fetch games to this location. Additionally, in eMail chess one should just save the PGN files received from the opponent into this directory.

  Scid will not read a mailbox of whatever sort, it just handles all PGN files placed in that directory. Also note, that it will synchronise games with the current database. However, if a game from this directory does not yet exist in the database it is treated as new game and appended to the database.

- Outbox (path): The inverse of the Inbox. Scid places here PGN files of the outgoing games. For eMail chess this essential as the PGN files have to be attached to an eMail message. For Xfcc, where only the move is sent, this would not be necessary, however the Outbox directory offers a convenient way to link up to your PDA or for any other usage.
- Fetch Tool: This program is called to automatically retrieve correspondence chess games. This helper just has to fetch the games from whatever source it likes, generate a proper PGN file containing the necessary PGN header. Tools for fetching games from Xfcc-servers exist as external programs and these are the natural tools to set up here. For future protocols one could easily generate an external fetch tool that handles this protocol. Also automatisation is possible if this functionality is done externally.

  Note: This tool is not called for eMail chess!

- Send Tool: This is the inverse of the fetch tool, primarily also meant for Xfcc support or any future protocol that might come up. The send tool, however, is called from scid with several parameters:

         SendTool Outbox Name GameID MoveCount Move "Comment" resign claimDraw offerDraw acceptDraw

  The meaning of the parameters is as follows:
  - Outbox: The path set in this dialog. The send tool is meant to generate a correctly formatted PGN file there.
  - Name: The name of the player to move as stated in the PGN header. For Xfcc this would be the login name.
  - MoveCount: The move number to send.
  - Move: The actual move in SAN
  - "Comment": A comment sent to the opponent. Scid inserts here comments that are placed after the last move. That is these comments are treated as comments to the opponent. Note that the comment is quoted, so multiline comments should be possible.
  - resign: 0 or 1, specifying whether the user wants to resign.
  - claimDraw: 0 or 1, specifying whether the user wants to claim a draw.
  - offerDraw: 0 or 1, specifying whether the user wants to offer a draw.
  - acceptDraw: 0 or 1, specifying whether the user wants to accept a draw offered by the opponent.

  Note: This tool is not called for eMail chess!

- Mail program: give the path to your preferred eMail program. This program is called for eMail chess.
- (B)CC Address: A copy of the outgoing message is sent to this address as blind copy. Note however, that if a GUI mailer is used it has normally its own outgoing mail handling. Hence, setting this address might duplicate messages. It can be used to transfer a game to another address though.
- Mode: Unfortunatley there exists a wide range of mail clients and they use very different calling conventions. Some common conventiones, and examples of programs that use them, are listed here. The mailprogram will be called with the convention selected here. In case it is not known which convention is used one of those offered might match and do the trick.

  Hint 1: mailx or one of its many clones should be available as a command line application on almost any platform as an easy to set up version. In case none of the conventions work with your preferred client or this client can not handle mails with attachments by calls from the command line, installing mailx would be an option.

  Hint 2: mutt uses the systems mail transport (aka sendmail/exim/postfix). To hook up with those (arguably) not easily to set up tools mutt is a perfect option.

- Attachment parameter: This parameter is used to specify an attachment. It is only used in mailx mode.
- Subject parameter: This parameter is used to specify the subject of the mail message. It is only used in mailx mode.

### Stepping through games

After games are retrieved they are loaded to scid's clipboard database. By the two arrow icons in the button bar one can step through all games in the Inbox easily in either direction. This is not dependent whether the games are eMail games or use another protocol like Xfcc. Alternatively one can select Next Game or Previous Game form the menu.

Note that if you set up your player names correctly scid will rotate the board for your to play always upwards. You can have multiple player names.

### eMail Chess

Scid can handle eMail correspondence chess games almost automatically. The way how this is done is kept compatible to the cmail utility that comes with xboard on Un*x systems. (Having said this implies that you can play against an opponent using cmail/xboard.) It works by sending the games as whole PGN files too and fro while the header contains certain tags that allows them to be recognised and sorted together. For this reason the user has to be careful with editing the header fields. Note that fields with explicit values have to be set to exactly this value for eMail chess. Starting a game with scid will do this automatically, but you must not overwrite them!

Essential header fields are:

- Event: "Email correspondence game"
- Site: "NET"
- Mode: "EM"
- WhiteNA: contains the eMail address of the white player. Note that only the bare address is stored there in the form user@host.org.
- BlackNA: contains the eMail address of the black player similar to WhiteNA.
- CmailGameName: Contains a unique identifier for the game.

  While scid could use some database index this is not possible for non-DB-based tools. For this reason this parameter is user supplied. It must be unique! The easiest way is something of the form xx-yy-yyyymmdd where xx is a shortcut for the white player, yy one for the black player, and yyyymmdd the current date.

  For Xfcc-based games this field has also to be set to a unique identifier but there the server name and the unique game number on the server ist used, that is this identifier is of the form MyXfccServer-12345.

#### Start a new game

This opens a dialog for the input of the own and the opponents name as they should appear in the header as well as the eMail addresses of both parties. Additionally a unique game ID has to be inserted. The easiest way for this ID is something of the form xx-yy-yyyymmdd where xx is a shortcut for the white player, yy one for the black player, and yyyymmdd the current date. This id is a text and it is important to identify the games uniquely. Users of cmail will also know this ID as game name.

After the dialog is quit by pressing the [Ok] button a new game is appended to the currently loaded correspondence chess database and the headers are set properly. Just make your move and send it.

#### Retrieve games

scid does not handle your mailbox automatically as this would, considering the wide range of possible mail setups these days, involve a huge amount of code. For this reason just use your normal mail program that will retrieve your eMail anyway. To get a game into scid just save the attached PGN file to scid's inbox and process the inbox by either Retrieve Games (the same is accomplished by the left small envelope with an arrow pointing down in the button bar) or Process Inbox. The difference between the two is that the first one will also call the external fetch tool and populate the Inbox also with games from another source (say Xfcc).

#### Send the response

After making your move send it by either the Mail Move item from the menu or the right envelope icon with a small arrow pointing upwards. The latter will scid have to recognise the game as eMail correspondence and send it by mail.

Of course scid strips the the game bare of any comments and variations before sending it to the opponent. If a GUI-mailer is used, the usual compose window is opened. It is prefilled with a properly attached PGN file from scid's Outbox. The address of your opponent is filled in as well as a generic subject containing the game id for easy filtering and the bcc address if specified. The mail body is set to contain the FEN of the final position and a list of moves that lead to this position. This way the opponent can quickly look up your move without processing the attachment. Of course the mail body can be edited.

When using mailx compatible tools no window is opened and the mail is sent invisibly by invoking the tool specified in the background. In this case the generated mail contains the PGN also in the mail body.

Note that as eMail chess works by sending the whole PGN file you must not add more than your half move. Scid does not checking here whether more then one hlaf move was added to the mainline, simply as scid does not know which move it is, when you send yours.

### Xfcc Servers

#### Start a new game

Xfcc does not allow to start a new game itself. Searching for an opponent and starting a game is instead handled by the Xfcc chess server via login on their web site. Once the game is started however, scid can be used to retrieve the moves of the opponent, add them to the internal database, analyse and so on. All features of scid are to the users disposal though certain modes of play may not allow them (e.g. normal games usually do not permit the usage of chess engines for analysis).

#### Retrieve games

Open a database that holds correspondence chess games. This database has to be of type "Correspondence Chess".

Notes:

- If scid does not find a correspondence chess database it will silently quit and do nothing
- If the database does not hold the games that are fetched from the server they are treated as new games and added to the database
- scid will use the first database of type "Correspondence Chess" that is currently open. For this reason only one such DB should be opened at a time.

Xfcc always retrieves all games hosted on a specified server at once. To retrieve the games just press the "retrieve games" icon or select Retrieve Games from the [Correspondence Chess] menu. As a server connection is required to fetch new games be sure that the system has network access. Additionally it may take some time to retrieve the answer.

Note that the Fetch tool is called without any parameter. It is thought to work through all your Xfcc-accounts and place properly formatted PGN files in scid's inbox.

Once the games are retrieved their counterpart is searched within the Correspondence Chess DB and new moves are added accordingly. As Xfcc servers may offer various ways to insert moves it might well be that scid will have to add half of the game to the DB. This poses no problem. scid will just add all moves till the current position is reached.

Note that if other sources have placed games in your inbox (e.g. from your eMail correspondence chess) they are also synchronised in this step into the database. Games that are not yet found in the database are treated as new games and appended to the database.

#### Analyse and make a move

All analysis features can be used for Xfcc games. Adding variations, annotations etc. can be added just like in normal game analysis. Once finished scid will take the last half move added to the game and treat it as the current move to send. No checking whether only half a move was made or which side to move is done here, hence, only one half move to the mainline must be added! Additionally scid sends the last comment added to the game to the server as a message for the opponent.

(Updated: Scid 3.6.23, February 2008)