Skip to content

A high performance log file data extraction tool for Squad Dedicated Servers

Notifications You must be signed in to change notification settings

arukanoido/squad-stat-source

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Squad Stat Source

A high performance log file data extraction tool for Squad Dedicated Servers.

  • Supports multiple dedicated servers running on the same machine.
  • Supports reading backups - just place old log files in the dedicated server log folder (e.g \SquadGame\Saved\Logs).
  • Failure tolerant - just picks back up from where it left off.
  • Reads the current log file live.
  • Uses the cheapest possible operations to filter the logs before extracting data.
  • Uses 0% CPU while running between parsing operations.

Usage

  1. Download the latest Release or build from source.
  2. Edit appsettings.json and add paths to dedicated server folders.
  3. Locate your server Battlemetrics IDs.

Server entries must be in the format shown below.

,{
  "id": "",             <-- Server's Battlemetrics ID. 
  "path": "",           <-- Path to a Squad dedicated server program root directory (e.g C:\\Full\\Path\\To\\Server1)
  "lasttimestamp": ""   <-- As shown
}

Each \ should be \\. Each set of {} should have , between them. See JSON for more information.

Example:

  "servers": [
    {
      "id": "1234",
      "path": "C:\\Full\\Path\\To\\Server1",
      "lasttimestamp": ""
    }
    ,{
      "id": "5678",
      "path": "C:\\Full\\Path\\To\\Server2",
      "lasttimestamp": ""
    }
  ]
  1. Run SquadStatSource.exe, and add it to your server startup script.

Supported events:

  • Match Start/End
  • Player Join/Disconnect
  • Player Spawned
  • Player Changed Kit
  • Player Entered/Exited Vehicle
  • Player/Vehicle Damage
  • Player Downed
  • Player Give up
  • Player Revive

Events not available in logs:

  • Deployable digging with entrenching tool
  • Player Healing
  • Player shots fired vs shots hit

Build for Windows

  1. Install the .NET Core SDK
  2. Run build.bat.

Build for Linux

Libraries used

Data extraction: Tokenizer Name matching: FuzzyString Serialization: Json.NET

About

A high performance log file data extraction tool for Squad Dedicated Servers

Resources

Stars

Watchers

Forks

Packages

No packages published