Broadcast your tournament live
Show your over-the-board games live: create a broadcast, plan its rounds and send the boards from DGT, a PGN file, a public link or a script.
What a broadcast is
A broadcast shows the games of a tournament played on boards somewhere else: viewers follow the moves, the clocks and the engine on the tournament's page while the round is played. You send the games; ChessLivo shows them.
A broadcast is not a club tournament. A club tournament is run on ChessLivo: players, pairings, results and ratings. A broadcast only shows games; its pairings and standings come from your own program, or from chess-results when you give its link.
You need a confirmed account. An account can have 3 broadcasts that are scheduled or live at the same time; finished ones do not count.
Create and schedule
- Open My broadcasts and press New broadcast.
- Fill in the name, the format, the dates, the time zone and the visibility, and tick that you hold the broadcasting rights (or that the organizer allowed you). Then press Create broadcast.
- On the Rounds tab add the rounds with Add round: a name, and either a start time (in the broadcast's time zone) or After the previous round. The first round needs a start time.
- Press Save schedule.
A round name can carry its translation after a "|", for example "Round 1 | 1. tur". A round goes live with its first move and is finished once every board has a result; you can also tick Mark finished on a live round. A live or finished round cannot be removed or moved. Up to 64 rounds.
The visibility: Public broadcasts are listed on the site once the first move arrives; Unlisted ones are seen by anyone with the link; Private ones only by you (and the managers of a linked club tournament).
Choose a source
Each round gets its boards in one of two ways, set on the Source tab:
- Push key or upload: you send the PGN yourself, from the broadcaster tool, a script or the Upload tab. Best for DGT boards on your own laptop.
- Public URL: ChessLivo reads a public link every 10 seconds while the round is live (every minute from an hour before it starts). Accepted: a PGN file link, a LiveChessCloud round, a TSF live page or a Lichess broadcast round.
- Choose the source of the broadcast and press Save source. With a URL, ChessLivo tries the link at once and shows what it found: the games, boards without a player name, the Round tags.
- A round can have its own source: open it from the list Sources of the rounds. Broadcast default follows the broadcast's choice.
A round on a URL source takes no push. A link that holds several rounds: under Advanced keep only one Round tag (for example 3) or only some games by position (for example 1-4,11-15).
DGT LiveChess
DGT LiveChess reads the DGT boards and can write the games of the round as PGN files to a folder on the laptop.
- In DGT LiveChess set the export folder of the round's PGN.
- If you turn on Combine PGNs per round, it writes one file with every game; otherwise it writes one file per board. The broadcaster tool takes both: for one file per board, start it with
--combine. - Generate a push key and start the broadcaster tool on that folder.
Make sure every board has both player names in DGT LiveChess: a board without a name is refused.
LiveChessCloud
If DGT LiveChess already publishes the round to LiveChessCloud, you do not need the tool.
- Copy the round's viewer link, which looks like view.livechesscloud.com/#… followed by the round.
- On the Source tab choose Public URL, paste the link (one link only) and press Save source.
Swiss-Manager
Swiss-Manager can save the games of a round as a PGN file.
- Export the round as PGN from Swiss-Manager.
- Send the file on the Upload tab, or save it into the folder the broadcaster tool watches.
Boards are matched by the Round tag "round.board" (for example "3.12"), else the Board tag, else the order of the games in the file. Sending a board again updates it.
TSF live page
- Copy the round's link from live2.tsf.org.tr.
- On the Source tab choose Public URL, paste it and press Save source.
Lichess mirror
A broadcast that is already on Lichess can be shown here too.
- Open the round on Lichess and copy its link (lichess.org/broadcast/…/round-…/ followed by the round's id). A tournament, group, game or study link is refused.
- On the Source tab choose Public URL, paste it and press Save source.
If that Lichess broadcast is already on ChessLivo, nothing is saved and the page links to where it can be watched. An account can mirror one Lichess broadcast at a time.
Push key and the broadcaster tool
The push key lets a program send PGN to your rounds.
- On the Push key tab press Generate a key. Copy the key at once: it is shown only this once.
- The same page lists the Push URL of each round that takes pushes.
- Regenerate the key makes a new one and stops the old one at once; Revoke stops it until you make a new one. Ending the broadcast stops it too.
The broadcaster tool (chesslivo-broadcaster) watches a folder and pushes every PGN file that changed. Download it on the Push key tab with Download the tool: one Python file that needs Python 3.9 or newer and nothing else (a Windows program is offered beside it when available). In a terminal:
set CHESSLIVO_KEY=<the key>(in PowerShell:$env:CHESSLIVO_KEY="<the key>"; on macOS or Linux:export CHESSLIVO_KEY=<the key>)python chesslivo_broadcaster.py --folder "C:\DGT\Round 1" --round-url <the push URL>- Leave it running during the round; stop it with Ctrl+C after the last move.
The tool prints each answer: how many games were accepted and every refused board with its number and the reason. It looks at the folder every 3 seconds (--interval), pushes a file only when its content changed, retries on its own while the connection is down and stops when the key is refused. Options: --combine joins every file of the folder into one push (best for one file per board: without it each changed file is its own push, 2 seconds apart), --once pushes once and stops. Each round has its own push URL: start the tool again with the next round's URL.
Push with curl
Any program can push: a POST to the round's push URL with the key and the PGN as the body.
curl -H "Authorization: Bearer KEY" --data-binary @games.pgn URL- Replace KEY with your key and URL with the round's push URL; games.pgn holds the games.
The answer lists each game with its moves or its error. "/reset" in place of "/push" deletes the round's boards. At most 2 MB and 200 games per push, and at least 2 seconds between two pushes to one round.
Upload by hand
- On the Upload tab choose the round.
- Choose a PGN file, or paste the PGN, and press Send.
- The result shows each game: accepted with its moves, or refused with the reason.
Reset round deletes every board of a round, for a clean re-upload; the log keeps a line.
Delay and live hiding
On the Settings tab:
- Default delay (seconds): viewers see each move this many seconds after it arrives (0 = live, at most 86400 = 24 hours). A round can have its own delay in the Delay (s) column of the Rounds tab, and After the round shows its moves only once the round is finished.
- Hide the eval bar and the engine while a game runs and Hide the clocks while a game runs: they come back on a board once it has a result.
The delay is applied by ChessLivo, so you can close the tool right after the last move.
The log
The Log tab shows, per round, the last sync, the number of games seen, the last problem and the last 200 events: fetches, pushes, uploads and errors, each with its games, moves and message. Refused boards are named with their number and the reason.
Club tournaments
A tournament you run on ChessLivo's club pages can be broadcast with the arbiter's own standings.
- On the club tournament's page press Broadcast (the schedule must be paired), or link it later on this broadcast's Settings tab under Club tournament. Only the broadcast's owner links or unlinks; the club's owner, admins and arbiters can then manage the broadcast too.
- The rounds follow the club pairings: one round per club round, added on their own when a Swiss round is paired. You set the start times and delays on the Rounds tab.
- Send the boards as usual. A game goes to the club board with the same round and board number, under the names the club shows; a round that is not published yet takes no boards, and a board number the round does not have is refused. When the PGN names someone else, the Log says "Board 7: PGN says X, club says Y" and the game is still shown.
- A result in the PGN is never saved by itself: the Results tab lists it as "Broadcast says 1-0" and Confirm enters it on the club round page, like a result you type there.
- Viewers get Standings and Pairings tabs from the club pages, and the names lead to the players' club pages.
Unlink (Settings tab) keeps the rounds and the boards and deletes the waiting results.
FAQ
- A board does not show. It has no player name, a move or a tag that cannot be read, or the board number comes twice. The tool's answer, the Upload result and the Log name the board and the reason. Fix the names in DGT LiveChess or Swiss-Manager. A Round tag of the form "round.board" sets the board number.
- Boards are mixed up. Press Reset round on the Upload tab, then send the PGN again.
- A running game shows a result. The result comes from your source PGN: correct it in the program that writes the PGN.
- Do I have to keep the tool running for the delay? No: the delay is applied by ChessLivo; close the tool after the last move.
- The tool says the key was refused. The key is wrong, regenerated or revoked, or the broadcast has ended: make a new key on the Push key tab and start the tool again.
- "Too many pushes". Pushes to one round must be at least 2 seconds apart; the tool waits on its own.
- My broadcast is hidden. A moderator hid it: only you can see it, and it takes no games until it is shown again.
Limits
- 3 scheduled or live broadcasts per account.
- 64 rounds per broadcast, 200 boards per round.
- Per push: 2 MB and 200 games, at least 2 seconds apart per round.
- Delay: 0 to 86400 seconds.
Still stuck? Contact us.