Team Play using tsh

Managing team tournaments with tsh.

Updated Tue 4 Mar 2018 10:26:54 EDT for tsh 3.320.

This section discusses specific issues related to running team tournaments using tsh and may safely be ignored if your tournament does not have teams.

What is a Team Tournament?

A team tournament is one in which each player may be affiliated with a team for the purposes of calculating pairings and standings. Don’t confuse teams with what tsh calls classes or prize groups, which are used solely for calculating prize eligibility.

There are two types of team tournaments, which tsh handles in the same way, except that some commands will not work very well with one type or the other. In some team tournaments, such as the World Championships, you will want to avoid having players from the same team play each other under some circumstances, and you will want to report on team standings, but your event is otherwise essentially an individual one. In others, such as interclub matches, the entire pairing schedule is based on who is on which team, and individual results are secondary to team results.

Setting up a Team Tournament

To begin, you will need to manually designate who is on which team. You do so by adding an extension field to your “.t” files. Here is a very short example.

Man, Anpan   2000 ; ; team Good
Ojisan, Jam  1500 ; ; team Good
Man, Baikin  2000 ; ; team Evil
Chan, Dokin  1800 ; ; team Evil

In your configuration file, you may want to use the “config initial_exagony” option to specify that teammates do not play each other in the first rounds (as at the Worlds), or the “config exagony” option to specify that they should never do so. You should probably use the “config show_teams” option to specify that team names should be displayed along with player names where appropriate. You may want to have a prize configuration line awarding prizes for best team records.

Team Tournament Pairings

Most pairing commands that pair players in a single command will respect the exagony configuration options. These include the more commonly used commands: “ChewPair”, “KOTH”, “NewSwiss” “PairQuartiles”.

Unless otherwise indicated, commands which pair multiple rounds do not currently obey the exagony configuration options. These include the more commonly used commands: “InitFontes” and “RoundRobin”.

If you want something like initial Fontes pairings, you can use automatic pairings to specify three rounds of quartile pairings, pairing the top quartile successively with the bottom, third and second quartiles. This will differ from initial Fontes pairings in that the pairings in those three rounds are independent and will typically not consist of round-robin groups of four; they will resemble initial Fontes pairings in that each player will face opposition of collectively similar strength.

The usual round robin pairings are of course incompatible with team tournaments. Instead, you can use the “TeamRoundRobin” command to generate team round robin pairings: those in which each player plays everyone on every other team.

Team Tournament Reports

If you use the “config show_teams” configuration option, then regular report-generating commands like “RATings” will display team names where player numbers are shown after player names. In the example above, you might see “Man, Anpan (#1/Good)”. If you use this example, it's a good idea to keep team names short: if your teams are countries, you could use ISO 3166-1 alpha-3 codes.

In this case, the “ShowPairings” command will also generate a separate set of team pairings, which can be distributed to a team coach, so that they can tell all of their team members where to go and whom to play.

In addition to the usual tsh commands, you may wish to use the “TeamStandings” command to report on team standings on a division by division basis, or the “TotalTeamStandings” command to do so for the tournament as a whole.


A large majority of events run using tsh are not team tournaments. Please be sure to use the “DRYRUN” command before your event to make sure that tsh does what you want it to do, and contact John Chew well in advance of your event if you need new features added.