CSBroadcast is a local broadcast overlay tool for Counter-Strike productions. It runs as packaged Windows executables and serves all overlay pages from a local server for OBS Browser Sources.
- Download and run CSBroadcast-Setup.exe from this repository’s Releases page.
- Install to the default folder.
- Always launch with
launch.bat.
OBS → Scene Collection → Import → select:
csbroadcastscenes.json
(from your CSBroadcast installation folder)
- VLC media player (recommended if you use VLC sources/replay workflows)
- Fill Match tab: teams, abbreviations, logos, colors, players, scores, and map rows.
- Fill General tab: map count, host, casters, logos, theme colors, status text.
- Fill Draft tab: map pool shown in
draft.html. - Fill Waiting Screen tab: countdown, waiting texts, socials, and video folder.
- Fill Standings tab: groups, teams, logos, and records.
- Fill Bracket tab: import teams from standings, load bracket, assign teams.
- Fill Statistics tab: FACEIT links/API key/match page and stats options.
- Click Update buttons to write exports and push live updates.
- Use Swap to flip Team 1/Team 2 with related map context.
- Use Reset this tab to clear only the current section.
See GUI Reference below for details.
All overlays are HTML/CSS/JS pages served by the local app server (127.0.0.1:8324) and updated via SSE.
- Team left/right areas with logo, name, score, and color.
- Map strip/series state from Match + Draft data.
- Uses General theme colors.
- Team/player roster views.
- Supports the configured player rows from Match data.
singlecam.html,duorow.html,triorow.html- Pull caster names and theme colors from General tab.
- Transition/stinger layout using transition logo and theme palette.
- Replay page fed by replay playlist files under
Scoreboard\Replay\Playlist.
startingsoon.htmlberightback.htmlthankyouforwatching.html
Features include title text, countdown support, logo area, social row, and video panel.
- Draft/map-card view with pick/win/ban context and team colors.
- Uses selected map pool from Draft/Match data.
- Full series map overview with per-map scores/results.
- Tournament bracket exported from Bracket tab.
- Group standings exported from Standings tab.
- Team 1 / Team 2
- Name
- Abbreviation
- Score
- Team color
- Team logo
- Team FACEIT link
- Players
- Player rows (name/role/link fields)
- Team player import from FACEIT
- Maps
- Up to 7 map rows
- Per-map values: map name, team scores, completion state, pick/side context, winner markers
- Buttons
- Update: writes
Scoreboard\Match\*and notifies overlays - Swap: flips teams and map context
- Reset this tab: clears Match fields
- Update: writes
- Host, Caster 1, Caster 2
- Status text
- Overlay logo and Transition logo
- Theme colors:
- Primary
- Secondary
- Tertiary
- Quaternary
- Quinary
- Senary
- Septenary
- Octonary
- Update (General) writes
Scoreboard\General\* - Reset this tab clears only General fields
- Controls which maps are used/shown for draft overlays.
- Video folder path
- Starting Soon / BRB / Thank You texts
- Countdown timer controls
- Social links/handles
- Update (Waiting) writes
Scoreboard\Waiting\* - Reset clears waiting settings
- Create/edit groups
- Enter team rows, records, logos, and status (
qualified/eliminated) - Update + sort exports
Scoreboard\Standings\* - Reset this tab clears standings UI state
- Import team list from Standings
- Load bracket template
- Assign teams into bracket slots
- Mark winners/progression
- Update exports
Scoreboard\Bracket\* - Reset this tab clears bracket state
- Tournament FACEIT links:
- Group stage
- Playoffs
- FACEIT API key
- Match statistics settings:
- Title
- Match page URL
- Source selection
- Selected match maps
- FACEIT actions:
- Import picked maps from FACEIT
- Import Team 1 players from FACEIT
- Import Team 2 players from FACEIT
- Update (Statistics) exports FACEIT/statistics files used by overlays/pages
- Reset this tab clears statistics fields
- Menu actions for Home/Away team import/export JSON.
- Useful for reusing team profiles between matches.
- Bulk map/logo asset import workflow (from menu).
- Imports detected assets into app-managed folders and index files.
Recommended workflow:
- Export/copy replay clips into the app replay input path.
- Keep replay files in
Scoreboard\Replay\Playlistfor sequential playback. - Keep
replay.htmlBrowser Source active in OBS for instant use.
If replay does not update:
- Verify file naming/path in
Scoreboard\ReplayandScoreboard\Replay\Playlist. - Verify OBS source URL is
http://127.0.0.1:8324/HTML/replay.html. - Verify
CSBroadcastServer.exeis still running.
- Run
launch.bat CSBroadcastServer.exestarts local server on127.0.0.1:8324CSBroadcast.exeopens GUI- Closing GUI stops the server process
http://127.0.0.1:8324/HTML/scoreboard.htmlhttp://127.0.0.1:8324/HTML/team1.htmlhttp://127.0.0.1:8324/HTML/team2.htmlhttp://127.0.0.1:8324/HTML/draft.htmlhttp://127.0.0.1:8324/HTML/maps.htmlhttp://127.0.0.1:8324/HTML/standings.htmlhttp://127.0.0.1:8324/HTML/bracket.htmlhttp://127.0.0.1:8324/HTML/singlecam.htmlhttp://127.0.0.1:8324/HTML/duorow.htmlhttp://127.0.0.1:8324/HTML/triorow.htmlhttp://127.0.0.1:8324/HTML/transition.htmlhttp://127.0.0.1:8324/HTML/replay.htmlhttp://127.0.0.1:8324/HTML/startingsoon.htmlhttp://127.0.0.1:8324/HTML/berightback.htmlhttp://127.0.0.1:8324/HTML/thankyouforwatching.html
Scoreboard\General\*Scoreboard\Match\*Scoreboard\Maps\*Scoreboard\Waiting\*Scoreboard\Standings\*Scoreboard\Bracket\*Scoreboard\Replay\*
Plus root state files like autosave.json, match.json, and assets.json.
- Ensure
CSBroadcastServer.exeis running. - Open
http://127.0.0.1:8324/HTML/scoreboard.htmlin a browser. - Confirm Browser Source URLs point to
127.0.0.1:8324. - Check firewall/security rules for localhost traffic.
Expected files:
CSBroadcastServer.exe(orCSBroadcastServer\CSBroadcastServer.exe)CSBroadcast.exe(orCSBroadcast\CSBroadcast.exe)
- Close the process already using port 8324.
- Relaunch with
launch.bat.
- Confirm FACEIT Match page URL is set in Statistics tab.
- Confirm FACEIT API key is set.
- Confirm network access to FACEIT endpoints.
- Re-select files in GUI.
- Check file paths are valid and readable.
- Verify exported files exist in
Scoreboard\General/Scoreboard\Maps/Scoreboard\Match.
See LICENSE.