Skip to main content

reeln-cli plugin that bridges game init to OBS scoreboard text files

Project description

reeln-plugin-streamn-scoreboard

A reeln-cli plugin that bridges game initialization to the streamn-scoreboard OBS plugin.

When reeln game init runs, this plugin writes initial game state to the scoreboard's 22 text output files — setting team names, clock time, scores, shots, faceoffs, fouls, period labels, penalty durations, sport, and clearing penalties. It also clears any stale timestamps.txt from a previous session.

When reeln game finish runs, the plugin copies timestamps.txt (written by OBS during the game) to chapters.txt in the game directory and populates context.shared["game_events"] for downstream plugins (e.g. Google plugin YouTube chapter insertion).

Install

reeln plugin install streamn-scoreboard

Or for development:

git clone https://github.com/StreamnDad/reeln-plugin-streamn-scoreboard
cd reeln-plugin-streamn-scoreboard
make dev-install

Configuration

Add the scoreboard plugin settings to your reeln-cli config:

{
  "plugins": {
    "settings": {
      "streamn-scoreboard": {
        "output_directory": "/path/to/scoreboard/output"
      }
    }
  }
}

Options

Key Required Description
output_directory Yes Path to the scoreboard text file output directory

Output Files

File Content at game init
clock.txt Formatted period length (e.g., 20:00)
period.txt 1
home_name.txt Home team name
away_name.txt Away team name
home_score.txt 0
away_score.txt 0
home_shots.txt 0
away_shots.txt 0
home_faceoffs.txt 0
away_faceoffs.txt 0
home_fouls.txt 0
away_fouls.txt 0
home_fouls2.txt 0
away_fouls2.txt 0
home_penalty_numbers.txt (empty)
home_penalty_times.txt (empty)
away_penalty_numbers.txt (empty)
away_penalty_times.txt (empty)
default_penalty_duration.txt Minor penalty seconds (e.g., 120 for hockey)
default_major_penalty_duration.txt Major penalty seconds (e.g., 300 for hockey)
sport.txt Sport name (e.g., hockey)
period_labels.txt Sport-specific labels (e.g., 1\n2\n3\nOT\nOT2\nOT3\nOT4\n for hockey)

Usage

Once installed and configured, the plugin activates automatically. Run:

reeln game init Eagles Hawks --sport hockey --level bantam

The plugin writes initial scoreboard state to the configured output directory. The OBS scoreboard's 100ms write loop takes over once the game is running.

After the game, run:

reeln game finish

The plugin copies event timestamps from the scoreboard output to chapters.txt in the game directory for downstream use (YouTube chapter descriptions, ffmpeg chapter injection).

Clock Resolution

The clock value is resolved with the following priority:

  1. game_info.period_length — set via --period-length CLI flag or interactive prompt
  2. home_profile.period_length — from the team profile when --level is used
  3. Sport-based default — fallback from the table below

Supported Sports

Sport Default Clock Notes
hockey 20:00 20 min periods, count down
basketball 12:00 12 min quarters
soccer 45:00 45 min halves
football 30:00 30 min halves
lacrosse 12:00 12 min quarters
rugby 40:00 40 min halves
baseball 0:00 No clock
generic 0:00 No default duration

Development

make dev-install    # editable install with dev deps
make test           # pytest with 100% coverage
make lint           # ruff check
make format         # ruff format
make check          # lint + type check + test

License

AGPL-3.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reeln_plugin_streamn_scoreboard-0.6.0.tar.gz (43.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file reeln_plugin_streamn_scoreboard-0.6.0.tar.gz.

File metadata

File hashes

Hashes for reeln_plugin_streamn_scoreboard-0.6.0.tar.gz
Algorithm Hash digest
SHA256 7e71041421037ffca047c63d7614bcadc00d5e29792e39b033fd16c28eeeacdf
MD5 b892adfcfcad9bf4454648fb1882ec33
BLAKE2b-256 ebf81934eee27df3dda29f8cafa8daa9fb46a9e251b053864dc991aab5df2e3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for reeln_plugin_streamn_scoreboard-0.6.0.tar.gz:

Publisher: release.yml on StreamnDad/reeln-plugin-streamn-scoreboard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file reeln_plugin_streamn_scoreboard-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for reeln_plugin_streamn_scoreboard-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 45c587908fd9b4c1eb016766f6a126b1cf06d950c22bd5186d9900e7405edccc
MD5 c7255a45bc8313f1393b1a41f21ae5d3
BLAKE2b-256 487f395d2bc5e67a4488fd6d07e12a0e1d527c22e5b4aeccf0aeb0a4246f1a46

See more details on using hashes here.

Provenance

The following attestation bundles were made for reeln_plugin_streamn_scoreboard-0.6.0-py3-none-any.whl:

Publisher: release.yml on StreamnDad/reeln-plugin-streamn-scoreboard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page