Configuration

Game Integration

Automatic event detection and bookmarking for supported games in Segra

Segra includes built-in integrations for popular competitive games. When enabled, these integrations automatically detect and bookmark in-game events like kills, deaths, goals, and assists.

Supported Games

Segra currently supports automatic event tracking for:

Counter-Strike 2

Tracked Events: Kills, Deaths

Uses CS2's Game State Integration (GSI). Segra ships the required config and serves a local HTTP listener at http://127.0.0.1:1340/

League of Legends

Tracked Events: Kills, Assists, Deaths

Uses LoL's local Live Client Data API on port 2999

PUBG: Battlegrounds

Tracked Events: Kills, Deaths

Reads PUBG's local replay files (%LocalAppData%/TslGame/Saved/Demos) after each match

Rocket League

Tracked Events: Goals, Assists

Uses on-screen OCR to detect goal and assist notifications

Dota 2

Tracked Events: Kills, Deaths, Assists

Uses Dota 2's Game State Integration (GSI) on a local HTTP listener at http://127.0.0.1:1341/

Minecraft

Tracked Events: Deaths

Tails the Minecraft Java latest.log (vanilla at %AppData%/.minecraft/logs/latest.log and Lunar Client at %UserProfile%/.lunarclient/logs/client/latest.log) for death events. Bedrock Edition is not supported.

Rust

Tracked Events: Kills, Deaths

Tails output_log.txt next to the Rust executable. Deaths come from the You died line. Kills come from Rust's combat log: Segra appends the combatlog command to your existing +jump, +reload, or inventory.toggle binds in cfg/keys.cfg, so the combat log is written each time you press one of those keys. The original file is backed up to keys.cfg.segra-backup. If none of those binds exist, kills are not detected.

RuneScape: Dragonwilds

Tracked Events: Deaths

Tails %LocalAppData%/RSDragonwilds/Saved/Logs/RSDragonwilds.log for the death-state transition

War Thunder

Tracked Events: Kills, Deaths

Polls War Thunder's local HUD message endpoint at http://127.0.0.1:8111/hudmsg to detect events in real time. The local .clog combat log is read only to extract the player's nickname.

Grand Theft Auto

Tracked Events: Deaths

Uses on-screen OCR to detect the WASTED notification and bookmark the death. Detection covers both the red story-mode banner and the light-gray GTA Online banner.

Rainbow Six Siege

Tracked Events: Kills (with Headshot subtype), Deaths

Reads the game's local MatchReplay/*.rec files after each round and reconstructs event timestamps from the replay stream.

WARDOGS

Tracked Events: Kills, Deaths

Uses on-screen OCR to detect the KILL CONFIRMED notification (kills) and the CALL FOR HELP downed prompt (deaths).

Deadlock

Tracked Events: Kills, Assists, Deaths

Uses on-screen OCR to read the KILL and KILL ASSIST stamps above the crosshair and the Respawn in countdown box.

Battlefield 6

Tracked Events: Kills, Deaths

Uses on-screen OCR to read the kill card below the crosshair (KILL, HEADSHOT, multi-kill ribbons) and the killer card shown when you die.

Valorant

Tracked Events: Kills, Deaths

Reads the kill feed in the top-right corner by color, using the yellow outline around your agent's portrait. Deaths are confirmed with OCR of the KILLED BY combat report header.

Overwatch (Beta)

Tracked Events: Kills, Assists, Deaths

Reads the elimination notices below the crosshair by color, and uses OCR of the kill feed to tell kills from assists.

Fortnite

Tracked Events: Kills, Deaths

Reads Fortnite's local match replay files (%LocalAppData%/FortniteGame/Saved/Demos) after each match.

Enabling Game Integrations

From Settings UI

  1. Navigate to Settings > Games
  2. Find the Game Integrations section
  3. Toggle the switch for each game you want to enable
  4. Integration activates automatically when you launch the game

Each integration card shows the game's logo. Integrations that are still in testing show a Beta label. Hover over the label to see known limitations.

You can enable or disable game integrations while recording. The current recording keeps the integrations it started with, and your changes apply from the next recording.

Configuration

Enable automatic event detection for Counter-Strike 2

Enable automatic event detection for League of Legends

gameIntegrations.pubg.enabledbooleandefault: true

Enable automatic event detection for PUBG: Battlegrounds

Enable automatic event detection for Rocket League

gameIntegrations.dota2.enabledbooleandefault: true

Enable automatic event detection for Dota 2

Enable automatic event detection for Minecraft

gameIntegrations.rust.enabledbooleandefault: true

Enable automatic event detection for Rust

Enable automatic event detection for RuneScape: Dragonwilds

Enable automatic event detection for War Thunder

gameIntegrations.gta.enabledbooleandefault: true

Enable automatic event detection for Grand Theft Auto

Enable automatic event detection for Tom Clancy's Rainbow Six Siege

Enable automatic event detection for WARDOGS

Enable automatic event detection for Deadlock

Enable automatic event detection for Battlefield 6

Enable automatic event detection for Valorant

Enable automatic event detection for Overwatch (Beta)

Enable automatic event detection for Fortnite

How It Works

When a game integration is enabled:

Game Detection

Segra detects when you launch a supported game

Integration Start

The integration service starts and connects to the game's data API

Event Monitoring

The integration continuously monitors for in-game events

Automatic Bookmarking

When an event occurs (kill, death, goal, etc.), Segra creates a bookmark automatically

Timeline Updates

Bookmarks appear in the recording timeline with event labels

Game-Specific Setup

Counter-Strike 2

CS2 integration requires a Game State Integration configuration file.

Setup Instructions

Segra automatically creates the required GSI configuration file when:

  1. CS2 is detected for the first time
  2. The integration is enabled in settings

Manual setup (if needed):

  1. Navigate to your CS2 config folder:

    C:\Program Files (x86)\Steam\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg\gamestate_integration
  2. Create a file named gamestate_integration_segra.cfg with:

    "Segra" {
        "uri" "http://localhost:1340/"
        "timeout" "5.0"
        "buffer" "0.1"
        "throttle" "0.2"
        "heartbeat" "2.0"
        "data" {
            "player_id" "1"
            "provider" "1"
            "map" "1"
            "player_match_stats" "1"
        }
    }
  3. Restart CS2

  4. Segra will now receive kill/death events

Segra writes this file automatically the first time CS2 is detected. Only follow the manual steps if the auto-created file is missing.

Tracked Events:

  • Kills: Bookmark created each time you eliminate an opponent
  • Deaths: Bookmark created when you die

League of Legends

League integration uses the LoL Live Client Data API (no additional setup required).

How It Works
  • LoL exposes game data on https://127.0.0.1:2999/liveclientdata
  • Segra polls this endpoint every 250ms during games
  • Events are detected by comparing player stats between polls
  • Works for all game modes (Summoner's Rift, ARAM, etc.)

Tracked Events:

  • Kills: Bookmark when your kill count increases
  • Assists: Bookmark when you get an assist
  • Deaths: Bookmark when you die

PUBG: Battlegrounds

PUBG integration reads the game's local replay files. No API key or external setup is required.

How It Works
  • PUBG writes replay data to %LocalAppData%/TslGame/Saved/Demos after each match
  • Segra polls this directory for new replays every 2.5 seconds
  • When a new replay appears, Segra parses its event stream to extract kill and death timestamps
  • Bookmarks are then added to the matching recording

Tracked Events:

  • Kills: Bookmark when you eliminate a player
  • Deaths: Bookmark when you're eliminated

Bookmarks are added after a match finishes, once PUBG writes the replay file. They will not appear in real time during the match.

Rainbow Six Siege

Rainbow Six Siege integration parses the game's local match replay files (no API keys or network access required).

How It Works
  • Segra locates the Siege install folder from the running executable, the Ubisoft Launcher registry keys, or Steam library folders
  • It watches the MatchReplay directory for new .rec files (one per round)
  • After a round ends and its replay is fully written, Segra parses the file to extract kills, deaths, and defuser plant timing
  • Bookmark timestamps are reconstructed relative to the round clock (prep phase 45s, action phase 180s, defuser 44s)

Tracked Events:

  • Kills: Bookmark when you eliminate an opponent. Headshot kills are tagged with the Headshot subtype.
  • Deaths: Bookmark when you die

Like PUBG, Siege bookmarks are added after each round finishes, once the .rec file is written. Only replays created after Segra starts recording are processed.

WARDOGS

WARDOGS integration uses on-screen OCR. No API keys or game configuration are required.

How It Works
  • Segra detects WARDOGS by its IGDB ID or by the game name WARDOGS
  • OCR scans a region in the lower-middle of the frame, sized to fit 16:10 screens
  • CONFIRMED (from KILL CONFIRMED) creates a kill bookmark. Text containing ASSIST is ignored
  • CALL FOR HELP (the downed prompt) creates a death bookmark. A 15-second cooldown that restarts while the prompt stays on screen keeps one down from creating several bookmarks

Tracked Events:

  • Kills: Bookmark when you confirm a kill
  • Deaths: Bookmark when you're downed

Rocket League

Rocket League integration uses on-screen OCR to detect goal and assist notifications.

How It Works
  • Segra periodically captures a small region of the gameplay frame
  • OCR scans the captured frame for text such as "+100", "Goal", or "Assist"
  • Matching keywords create the corresponding bookmarks
  • No external plugins or BakkesMod are required

Tracked Events:

  • Goals: Bookmark when you score
  • Assists: Bookmark when you assist a goal

Deadlock

Deadlock integration uses on-screen OCR. No API keys or game configuration are required.

How It Works
  • Segra detects Deadlock by its IGDB ID or by the game name Deadlock
  • Every 500ms, OCR reads the tilted KILL and KILL ASSIST stamps above the crosshair. A stamp must read in 2 of the last 3 polls before Segra creates a bookmark
  • The Respawn in box creates a death bookmark. Segra parses the countdown so one death doesn't create several bookmarks
  • Capture regions are scaled from a 1440p reference, so other resolutions work without setup

Tracked Events:

  • Kills: Bookmark when you get a kill
  • Assists: Bookmark when you get a kill assist
  • Deaths: Bookmark when you die

Battlefield 6

Battlefield 6 integration uses on-screen OCR. No API keys or game configuration are required.

How It Works
  • Segra detects Battlefield 6 by its IGDB ID or by the game name Battlefield 6
  • OCR reads the KILL and HEADSHOT labels on the kill card below the crosshair, including multipliers such as KILL x2 and the DOUBLE KILL / TRIPLE KILL ribbon, so each kill in a streak gets its own bookmark
  • The frame is contrast-boosted before OCR so kills still read against bright backgrounds
  • The killer card in the bottom-right corner (PLAYER CARD, DAMAGE LOG, FOE) creates a death bookmark. A 5-second cooldown that extends while the card stays on screen keeps one death from creating several bookmarks

Tracked Events:

  • Kills: Bookmark when you eliminate an opponent
  • Deaths: Bookmark when you die

Valorant

Valorant integration reads the screen. No API keys or game configuration are required.

How It Works
  • Segra detects Valorant by its IGDB ID or by the game name VALORANT
  • Segra finds your entries in the top-right kill feed by the yellow outline around your agent's portrait, so it doesn't need your player name
  • A kill is an entry where you're on the left and the victim box is red (enemy). Teamkills and spike entries are ignored
  • A death is an entry where you're on the right, confirmed by OCR of the KILLED BY combat report header. Phoenix's Run It Back and spike or Clove ultimate self entries are skipped
  • An entry must appear in 4 polls in a row before Segra creates a bookmark
  • Segra pauses screen reads while %LocalAppData%/VALORANT/Saved/Logs/ShooterGame.log shows you're in the main menu

Tracked Events:

  • Kills: Bookmark when you eliminate an enemy
  • Deaths: Bookmark when you die

Death detection reads English text, so it only works when Valorant's UI language is English.

Overwatch (Beta)

Overwatch integration reads the screen. No API keys or game configuration are required.

How It Works
  • Segra detects Overwatch by its IGDB ID or by the game name Overwatch
  • Segra reads the notices below the crosshair by color, so it works with any game language
  • Red elimination notices create kill or assist bookmarks. ELIMINATED X'S TURRET and other deployable eliminations are ignored
  • To tell a kill from an assist, Segra uses OCR to compare the kill feed with your player name under the health bar. If your name can't be read, the event is bookmarked as a kill
  • The grey YOU WERE ELIMINATED BY or YOU HAVE DIED notice creates a death bookmark. If no death notice was seen, the kill cam bar at the top of the screen is used instead
  • Nothing is counted during the kill cam, while spectating, or during Play of the Game

Tracked Events:

  • Kills: Bookmark when you get an elimination
  • Assists: Bookmark when you get an elimination assist
  • Deaths: Bookmark when you die

Kills and assists only work with color blind mode turned off.

Fortnite

Fortnite integration reads the game's local match replay files. No API keys or external setup are required.

How It Works
  • Segra detects Fortnite by its IGDB ID or by the game name Fortnite
  • Segra reads your account ID from %LocalAppData%/FortniteGame/Saved/Logs/FortniteGame.log
  • Every 5 seconds, Segra checks %LocalAppData%/FortniteGame/Saved/Demos for new replays. Only replays written after the integration starts are processed
  • A kill is when you knock an opponent or eliminate one who wasn't knocked. A death is when you're knocked, or eliminated without being knocked. Knocks still count if you're revived
  • Finishing off a player within 65 seconds of knocking them doesn't add another bookmark

Tracked Events:

  • Kills: Bookmark when you knock or eliminate an opponent
  • Deaths: Bookmark when you're knocked or eliminated

Bookmarks are added after you leave the match, because Fortnite encrypts the replay while the match is live. Fortnite's Record Replays setting must be on (it is by default). Segra logs a warning if it detects the setting is off.

Bookmark Display

Game integration bookmarks appear with color-coded badges:

Green badges for positive events:

  • Kills
  • Assists
  • Goals

In the timeline and clip editor, you'll see these bookmarks labeled with the event type (e.g., "Kill", "Death", "Goal").

Game Detection Settings

Segra can automatically detect games or use manual whitelist/blacklist configuration.

Auto-record Games

autoRecordGamesbooleandefault: true

Automatically start recording when a game launches. Toggle it in Settings > Games > Game Detection with the Auto-record Games checkbox.

When disabled, Segra never auto-starts a recording from game detection. Two exceptions still record:

  • Games you added with recording enabled (explicit per-game entries)
  • Manual recordings you start yourself

Whitelist

Games in the whitelist will always be recorded when launched.

whitelistarraydefault: []

Array of game objects to always record:

[
  {
    "name": "Counter-Strike 2",
    "paths": ["C:/Program Files/Steam/steamapps/common/Counter-Strike Global Offensive/game/bin/win64/cs2.exe"]
  }
]

Blacklist

Games in the blacklist will never be recorded.

blacklistarraydefault: []

Array of game objects to exclude from recording:

[
  {
    "name": "Example Game",
    "paths": ["C:/Games/example.exe"]
  }
]

Adding Games to Lists

  1. Navigate to Settings > Games > Game Detection
  2. Click Add to Whitelist or Add to Blacklist
  3. Browse to the game's executable
  4. The game will be added to the appropriate list

Auto-Detected Launchers

Segra recognizes games installed under any of these launcher paths and records them by default:

LauncherPath marker
Steam/steamapps/common/
EA/EA Games/
Epic Games/Epic Games/
Ubisoft/Ubisoft/
Xbox / Microsoft Store/XboxGames/

For Xbox App / Microsoft Store titles, Segra also reads the MicrosoftGame.config file next to the executable to extract the display name from ShellVisuals.DefaultDisplayName, so games appear under their proper title instead of the packaged executable name.

Per-Game Overrides

Each entry in the games list can override a subset of your global settings just for that title. Click a game in Settings > Games > Game Detection to expand its override panel:

games[].enableHdrOverrideboolean | nulldefault: null

Overrides the global enableHdr setting when recording this game. null (default) inherits the global setting.

games[].volumeOverridenumber | nulldefault: null

Multiplier applied on top of your configured device volumes for both the game-capture and desktop-audio sources when recording this game. Accepts 0–2 (0 = muted, 1 = unchanged, 2 = doubled). null (default) inherits the global device volumes.

games[].highlightPaddingOverrideobject | nulldefault: null

Overrides the global highlightPaddingBefore and highlightPaddingAfter settings for highlights generated from this game. Set as { "before": number, "after": number } in seconds (1–60, step 0.5). In the UI, enable Highlight Padding in the game's override panel and set Before Highlight and After Highlight. null (default) inherits the global padding.

Existing per-game overrides (record on/off, recording mode, encoder, resolution, framerate, rate control) continue to work alongside these.

Settings JSON Structure

{
  "gameIntegrations": {
    "counterStrike2": {
      "enabled": true
    },
    "leagueOfLegends": {
      "enabled": true
    },
    "pubg": {
      "enabled": true
    },
    "rocketLeague": {
      "enabled": true
    },
    "dota2": {
      "enabled": true
    },
    "rust": {
      "enabled": true
    },
    "minecraft": {
      "enabled": true
    },
    "runescapeDragonwilds": {
      "enabled": true
    },
    "warThunder": {
      "enabled": true
    },
    "gta": {
      "enabled": true
    },
    "rainbowSixSiege": {
      "enabled": true
    },
    "wardogs": {
      "enabled": true
    },
    "deadlock": {
      "enabled": true
    },
    "battlefield6": {
      "enabled": true
    },
    "valorant": {
      "enabled": true
    },
    "overwatch": {
      "enabled": true
    },
    "fortnite": {
      "enabled": true
    }
  },
  "autoRecordGames": true,
  "whitelist": [],
  "blacklist": []
}

Troubleshooting

Events not being detected

Counter-Strike 2:

  • Verify the GSI config file exists and is correctly formatted
  • Check that Segra is listening on port 1340 (not blocked by firewall)
  • Restart CS2 after adding the config file

League of Legends:

  • Ensure you're in an active game (not lobby/champion select)
  • Check that port 2999 is not blocked
  • Verify LoL client is running (integration needs the client)

PUBG:

  • Verify the replay folder exists at %LocalAppData%/TslGame/Saved/Demos
  • PUBG must have replay recording enabled (it is on by default)
  • Bookmarks appear after the match ends, not during live play

Rocket League:

  • Run the game in a supported aspect ratio so the OCR region aligns with the score banner
  • Avoid heavy on-screen overlays that obscure the goal/assist text
  • Make sure you are running the integration on the active Rocket League window

Valorant:

  • Death detection requires the English UI language

Overwatch:

  • Turn off color blind mode. Kills and assists aren't detected while it's on

Fortnite:

  • Turn on Record Replays in Fortnite's settings
  • Bookmarks appear after you leave the match, not during live play
Too many bookmarks

If you're getting too many automatic bookmarks:

  • Disable integrations for games you don't want tracked
  • Use the whitelist/blacklist to control which games are recorded
  • Manually delete unwanted bookmarks after recording
Integration not starting
  • Ensure the integration is enabled in Settings > Games
  • Check that Segra service is running (system tray icon present)
  • Verify the game is properly detected (check Segra's game detection)
  • Restart Segra and try launching the game again

Performance Impact

Game integrations are designed to have minimal performance impact:

  • Counter-Strike 2: Uses event-driven GSI on a local HTTP listener (no polling)
  • League of Legends: Polls the local Live Client API every 250ms (negligible CPU usage)
  • PUBG: Polls the local replay folder every 2.5 seconds and parses replays after a match (no in-game overhead)
  • Rainbow Six Siege: Polls the local MatchReplay folder every 2.5 seconds and parses .rec files after each round (no in-game overhead)
  • Rocket League: Periodic OCR over a small screen region (low overhead, only active while the game is running)
  • Deadlock, Battlefield 6, Valorant, Overwatch: Periodic screen reads over small regions of the frame (low overhead, only active while the game is running)
  • Fortnite: Polls the local Demos folder every 5 seconds and parses replays after you leave a match (no in-game overhead)

If you experience any performance issues, you can disable integrations for specific games while keeping others enabled.

Future Games

Segra is actively adding support for more games. Request integration support by:

  • Opening a GitHub issue
  • Joining the Segra Discord community
  • Contacting support at segra.tv

Games with public APIs or telemetry systems are easiest to integrate.