A tournament scores/schedule/standings management tool for esports tournament broadcasts.
Download the latest release: https://github.com/chhopsky/updatethestream/releases
The program uses the teams and matches you configure to write out text files and images containing schedule, scores and standings. In OBS, or whatever broadcast program you use, add files from the "streamlabels" folder as sources, and configure them however you want in your broadcast program.
Video demo: https://www.youtube.com/watch?v=o-WJ5P9WSGo
Step by step:
- Populate the broadcast. Either:
- add teams to the teams tab, and matches to the matches tab
- or hit File, open from challonge, put in your tournament code to load from challonge
- or open a previously saved tournament file
- When a team wins, hit the button indicating that they won.
- Hit Swap Red/Blue if you want to swap red and blue side labels for "current match" text files
- "Undo last result" steps backwards through the results you recorded, and moves you back in time through the broadcast.
Notes:
"Force refresh stream" will rewrite the files, if you have auto-update disabled, or if you've edited a source.
"Force UI Update" will redraw and reload the UI.
- TBD placeholder team edits may not save with tournament.
- TBD placeholder team may not show up in team list if not loading from Challonge
- Loading from Challonge, then progressing matches out of order on the web site, then updating in the program, can cause the match history to become corrupted. If this happens, save your file and reload it.
Go nuts, GLHF, let me know how you want it to work, or tell me what broke.
udts.py: UI and control plane
tourneydefs.py: core class interactions
config.cfg: stores basic config information
tournament-config.json: defines teams, matches
tests.py: pytest validation of backend
static/: Built-in additional files
streamlabels/: Output folder for stream assets
tests/: fixtures for unit tests
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.