Managing team tournaments with tsh.
Updated 2025-05-31T12:00:00+00 for tsh 3.340.
This section discusses specific issues related to running team tournaments using tsh and may safely be ignored if your tournament does not have teams.
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.
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.
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.
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.