Flits DXP Server
Flits DXP Server
The Flits dxp server cannot "see" the flits search scores, so it cannot know when a
game can be called a win, loss, or draw, except in the cases where the game is over
because one side cannot move. It relies on the opponent program to adjudicate game
results. If the opponent does not send a GAMEND message before the maximum game
moves have been played then the server will end the game and declare the result as
unknown.
Unlike the truus_dxp_server, the flits program must be running before running the
flits_dxp_server, and there are some specific requirements for flits windows that
must be set up for the server to operate correctly.
The flits "Uw zet:" window must be open, and its size must be adjusted to meet some
height and width requirements. The Uz zet window can be opened using the flits
menu Window, Uw zet. Size the Uw zet window so that its height is only high enough
to display one row of text. You can test this by typing any characters in the
window and then press Enter. The characters should scroll out of view when the
Enter key is pressed. The width of the Uw zet window should be sufficient to view
at least 25 numbers.
The flits "Zetverloop" window must also be open, and its width should be adjusted
so that it typically displays one move by each side on a line. Thus is should look
something like this:
1. 31-26 17-22
2. 32-27 22x31
3. 36x27 11-17
In addition to these two windows, you will need to set the time controls for the
match using the menu Overig, Tijdinstelling. After you finish setting up the
windows and time controls, you can give the menu command Overig, Bewaar
instellingen to save these settings so you wont need to do these things again every
time you run flits.
To run the server, open a console window and type the program name
flits_dxp_server. You may also need to follow the program name with one or more
options.
Options
-------
The server accepts several command line options, each of which begin with a hyphen
(-).
-c Run as a socket client to establish a connection. In this case you must also
specify a hostname or ip address with the -h option. If you do not give the -c
option then the program acts as a server and listens for connections from a remote
client.
-h hostname Set the hostname or ip address of the server.
-i Run the program as a dam exchange Initiator. If this option is not given
then the program runs as a dam exchange Follower.
-t gameminutes Set the time for a game in minutes. This option is only needed
when running as an Initiator (with -i). It sends the game time to the opponent
program in the GAMEREQ messages.
-m gamemoves Set the number of moves for a game. This option is only needed
when running as an Initiator (with -i). It sends the number of moves to the
opponent program in the GAMEREQ messages, and it terminates any games that exceed
this number of moves.
-n New match. Deletes the two files (dxpgames.pdn and dxpstats.txt) at startup,
so the match starts at the beginning.
Files
-----
The flits dxp server writes two files during a match. Both files are written in
the directory MyDocuments\Ed Gilbert\Flits DXP server. The file dxpgames.pdn
contains the game moves, and the file dxpstats.txt contains the number of wins,
losses, draws, and unknown games in the match. The files are updated at the end of
each game.
When the flits server first runs, it reads the dxpstats.txt file and will resume a
partially completed match based on the number of games that have already been
played as indicated in this file. If you want a match to start from the beginning
you can give the -n option which causes any previous match files to be deleted when
the server starts.
and wait for it to display the message "Waiting for client connection." Run the
flits program, then run the flits server. The following example assumes that both
programs are running on the same computer, so the loopback ip address is given.
flits_dxp_server -c -h 127.0.0.1 -i -t 3 -m 75
Remember that neither server is capable of setting its program's time controls, so
you need to do this manually via program menus before you run the flits server.
The truus server is not 100% accurate at adjudicating games. This is caused by a
difficulty of the server to read the search scores when there are only a few pieces
left on the board near the end of the games. You should check each game in the
dxpgames.pdn file after the match to make sure that it has been scored correctly.
My experience is that about one out of every ten games is scored incorrectly.
Start Positions
---------------
If the flits server is acting as a DXP follower and the remote Initiator sends a
non-standard start position, the server does a 3-ply search to attempt to match the
position. It will correctly respond to a 2-move or 3-move start position.