Tournaments
Overview
Automated tournaments are distinct from organizer events. The backend runs signup, pairing, and game creation from TOURNAMENT* records and scheduled public queries.
Record types
| pk | sk | Purpose |
|---|---|---|
TOURNAMENT |
<tournamentid> |
Tournament definition and state |
TOURNAMENTPLAYER |
<tournamentid>#<division>#<playerid> |
Player entry |
TOURNAMENTGAME |
<tournamentid>#<division>#<gameid> |
Linked game |
COMPLETEDTOURNAMENT |
<metaGame>#<tournamentid> |
Archived tournament |
TOURNAMENTSCOUNTER |
<metaGame>#<variants> |
Serial number counter |
Lifecycle
- Create — auth
new_tournament(organizer). - Join / withdraw —
join_tournament,withdraw_tournament. - Start — public
start_tournaments(scheduler) or auth/publicstart_tournamentfor one tournament. - Play — games are normal
GAMErecords linked viaTOURNAMENTGAME. - End — auth
end_tournament; publicarchive_tournamentsmoves completed tournaments.
Public schedulers
These are called by cron or external schedulers (no user auth):
get_tournaments,get_tournament,get_old_tournamentsstart_tournaments,archive_tournaments,start_tournament
Player blocking
Tournament pairing and visibility are not affected by player blocking.
Queries
See Public queries and Auth queries tournament sections.
Related
- Events — manual organizer events
- Database schema