Chess tournament software

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
jshriver
Posts: 1342
Joined: Wed Mar 08, 2006 9:41 pm
Location: Morgantown, WV, USA

Re: Chess tournament software

Post by jshriver »

A few years ago I came across a command-line tool that let you do tournaments with winboard engines. If you do some digging on the various chess sites commonly mentioned here you should find it.

Will also dig around and if I come across it I'll post it here. I'm going the ICS/mamer route mostly because I have multiple machines I'd like to use and couldn't be done on the previous mentioned solution.

Best of luck to you.
-Josh
User avatar
jshriver
Posts: 1342
Joined: Wed Mar 08, 2006 9:41 pm
Location: Morgantown, WV, USA

Re: Chess tournament software

Post by jshriver »

Maybe not the greatest news but came across what I was thinking of buried in Tim Man's xboard page of extensions:

http://www.tim-mann.org/extensions.html

It's a shell script that calls xboard in an automated way. This is for unix systems but I can imagine a batch file could be created to mimic the same functionality.

The other tournament manager listed there had broken links so not sure of it's status.

Good luck!
-Josh
User avatar
jshriver
Posts: 1342
Joined: Wed Mar 08, 2006 9:41 pm
Location: Morgantown, WV, USA

Re: Chess tournament software

Post by jshriver »

This might be a better solution, I haven't personally used it.

http://galisnik.netfirms.com/wbtmhelp.htm

-Josh
Volker Pittlik
Posts: 619
Joined: Wed Mar 08, 2006 9:10 pm
Location: Murten / Morat, Switzerland
Full name: Volker Pittlik

Re: Chess tournament software

Post by Volker Pittlik »

hgm wrote:You could run mamer and an ICS, and log all engines onto it, all on the same machine, using -icshost localhost.
Is there a manual page or description how to do that somewhere? Using mamer can save a lot of work I guess.

vp
User avatar
hgm
Posts: 27794
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chess tournament software

Post by hgm »

Unfortunately not. Perhaps we should make one, as it was not very difficult. It goes something like this:

1) Download the source code from the repository http://hgm.nubati.net/cgi-bin/gitweb.cgi , project capablanca.git. Click on the latest (= uppermost) ' snapshot' to download the tar ball, and unpack it somewhere.

2) There is a README file in the root of the tar ball, which tells you how to install the server from source. If you follow those instructions, it will install the server in the directory /usr/local/chessd, and you need to be root to do the "make install". It would perhaps be better to create an account FICS on your machine and login on that account before even downloading the tar ball. In that case you could install in /home/FICS in stead of /usr/local, you would not have to be superuser to do it, and all files would be automatically owned by FICS. But I never tried it that way.
Compiling the ICS will produce a truck-load of warnings, but they can all be ignored. (This is on Ubuntu 8.04.)

3) You can run the server from the chessd directory, by the command "bin/chessd". You won't have to worry about security or timeseal when you are only running it locally. Neither would you have to worry about sending e-mails.

4) Next you will need mamer. This is contained in the ICS source tar ball, but not automatically built and installed when you install the ICS. It is in the sub-directory bots/mamer of the tar ball. You have to go there, and do the usual ./configure and make to build it. Again you will have a truck-load of warnings, but the mamer binary will end up in the file bots/mamer/bin/mamer.

5) You will need to create an account on the ICS for mamer (Usually with handle "mamer"). You should add mamer to the list of tournament directors, so it will be able to use ICS commands to remotely start matches etc. For this, you use the command "addlist td mamer" or (shorthand) "+ td mamer" .

6) You will have to adapt the mamer.config file in the bots/mamer directory with the relevant IP address of the server, the account info (username, password) for mamer on that ICS, and filename paths for your system, so it will automatically log on to the right ICS.

7) You will have to edit the file bots/mamer/data/managers, to add the ICS handles from which mamer should accept commands to setup tourneys, etc. You should add the handle from which you want to control mamer (say "admin") as a single line to that file. I think you will also have to copy the file bots/mamer/players/t/tridge to bots/mamer/players/a/admin, and edit it to change the name "tridge" to "admin". I am not sure anymore. (This is player info mamer keeps in its database, and it seems to contain, amongst other stuff, info on the manager level of each player. I could not find any specs on the format, though, but "tridge" was a highly ranked TM on the system the tar ball was copied from, so by stealing his identity you should be OK.)

8) Then you can run mamer from the bots/mamer directory by the command " bin/mamer". This will make mamer automatically log on to the ICS you configured it for.

9) mamer has to be controlled from the ICS, by sending it tells. ("mam" is a shorthand aliias for "tell mamer" that facilitates this.) To learn how to set up a tornament, read the file bots/mamer/help/manager_help.

I think that should do it. I guess it should be possible to run from a VirtualBox on a Windows system. I am not sure how to connect to port 5000 of the VM from Windows, though. Probably you should map the indows port to the VM somewhere (as a VM setting). Not sure if the ICS can be compiled under Cygwin and run there; I never tried that.

I guess the procedure could be highly simplified by distributing the ICS and mamer with config files that are already setup to have an ICS account for mamer, which is on the TD list, and put admin as a TM in the mamer database.
User avatar
hgm
Posts: 27794
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chess tournament software

Post by hgm »

OK, I added files to the tar ball to have it pre-configured to have mamer on the ICS TD list, and admin on the mamer TM list. (I did not test this.) This shoud simpllify the procedure somewhat.

There is a downside to this: a "make install" for re-installing will now erase any existing TD list.
garybelton
Posts: 175
Joined: Fri Dec 11, 2009 9:08 pm

Re: Chess tournament software

Post by garybelton »

This might be a better solution, I haven't personally used it.

http://galisnik.netfirms.com/wbtmhelp.htm

-Josh
Thanks for helping Josh but reading the README at that link suggests that only ever two engines are playing at once.
garybelton
Posts: 175
Joined: Fri Dec 11, 2009 9:08 pm

Re: Chess tournament software

Post by garybelton »

HG, does mamer have a match cycle that allows the engines just to play on forever? I suspect it might end the tournament depending on how many participants have joined and what format of tournament you are playing.

I'm hoping for a tool that goes something like:

tourmgr.exe -1cp <engine> -2cp <engine> -3cp <engine> -4cp <engine> etc -rounds=1000000 (or whatever)

These engines could be anywhere in the world using remote invocation via f.e ssh.
User avatar
hgm
Posts: 27794
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chess tournament software

Post by hgm »

In mamer you have to specify a number of rounds. But mamer can be changed, of course. The open-source mamer is not very good, especially its pairing code. It is mainly written for robustness against participants dropping out of the tourney, or new participants being added halfway. So it does not plan an advanced schedule, as would be preferable for a (multiple) round robin.

But I guess it would be easy enough to equip it with a mode that would crank out a RR shedule in advance, and then stick to it.

A more fundamental problem might be that it assumes participants are not clonable and have fixed identity. So if A is still playing the previous round, it cannot start playing the next round yet. What you really would want is that the ICS handles correspond to machines (or CPUs), and that mamer can instruct the WinBoard running on the particular machine to load a particular engine, and then set up someone else to play against that.

So perhaps using mamer is not such a good idea at all. It must be quite trivial to write a schedular that generates and maintains a list of games to be played, and then just runs through the list to start GUIs playing those games on one or more servers.
garybelton
Posts: 175
Joined: Fri Dec 11, 2009 9:08 pm

Re: Chess tournament software

Post by garybelton »

It must be quite trivial to write a schedular that generates and maintains a list of games to be played, and then just runs through the list to start GUIs playing those games on one or more servers.
Trivial for you maybe :) I too think it is an easy problem to solve just that no-one has written anything for it yet in the public domain.