I have been developing a patch that equips XBoard with the ability to run automatic engine-vs-engine tournaments with more than two engines. It is implemented as a variant on matchMode, where before every match game it decides if the same engines still should play that game, and if not, changes engines.
Whether it does this, or plays an 'old-style' two-player match,is controlled by the presence of a tournament file: if the value of the option -tourneyFile is a non-empty string, that file is used to store (if it didn't exist yet) or load (if it did exist) info about the tournament (like participants, tourney type, etc.) The tourney file contains info on the progress of the tournament, so it can be used to resume an interrupted tournament, or to coordinate several XBoard instances working on the the same tournament, to share the game load. A more detailed description can be found at http://hgm.nubati.net/TM.html . Currently the patch seems to work for XBoard, but still needs some cleanup before it is ready for committing to the master branch. I am now trying to get it working in WinBoard too (which was initially broken by it.) When I am done with that, I think this would be a good addition to the master branch.
