Settings Reference

All backend configuration lives in Backend/appsettings.json. The file is divided into logical sections described below.

OBS WebSocket

{
  "ObsWebSocket": {
    "Host": "localhost",
    "Port": 4455,
    "Password": "",
    "ReconnectIntervalMs": 5000
  }
}
SettingDefaultDescription
HostlocalhostOBS WebSocket host address
Port4455OBS WebSocket port
Password""OBS WebSocket password (leave empty if auth is disabled)
ReconnectIntervalMs5000Reconnect delay after connection loss

Overwolf GEP

{
  "OverwolfGep": {
    "Port": 8091,
    "ReconnectIntervalMs": 3000
  }
}
SettingDefaultDescription
Port8091GEP WebSocket listener port
ReconnectIntervalMs3000Reconnect delay after connection loss

Web Server

{
  "WebServer": {
    "Port": 8765
  }
}

The backend WebSocket server and live dashboard are served on this port.

2-PC Setup

{
  "TwoPcSetup": {
    "Enabled": false,
    "StreamingPcHost": "192.168.1.100",
    "StreamingPcPort": 4455
  }
}

Enable this when your gaming PC and streaming/recording PC are separate machines. The backend will connect to OBS on the remote streaming PC instead of localhost.

Event Logging

{
  "EventLogging": {
    "OutputDirectory": "Logs/Events",
    "FilePattern": "{game}_{date}.log"
  }
}

Event logs are written with millisecond-precision timestamps in UTF-8 encoding.

Clip Analysis

{
  "ClipAnalysis": {
    "PrePaddingSeconds": 10,
    "PostPaddingSeconds": 5,
    "MinScore": 50,
    "UseOnnxModel": false,
    "OnnxModelPath": "Models/clip_scorer.onnx"
  }
}
SettingDefaultDescription
PrePaddingSeconds10Seconds of video to include before the event
PostPaddingSeconds5Seconds of video to include after the event
MinScore50Minimum score threshold for clip extraction
UseOnnxModelfalseEnable ML model scoring (requires ONNX runtime)
OnnxModelPathModels/clip_scorer.onnxPath to the ONNX scoring model

Per-Game Marker Rules

Marker templates are configured per game and use placeholders that are filled at runtime:

Valorant Placeholders

{weapon}, {round_number}, {agent}, {map}, {score_team}, {score_enemy}

League of Legends Placeholders

{champion}, {target}, {objective}, {game_time}, {gold}, {cs}