Skip to main content

SteamLogger

Every Steam session — with friends, lobby, server and map — logged to JSON

A single-binary Rust daemon that polls the Steam Web API, detects when a game starts and stops, and records each session — plus who you played with and where — into one atomically written JSON file.

steamlog.json
{
"games": [
{
"name": "Team Fortress 2",
"start": "2026-08-10T14:32:15-03:00",
"end": "2026-08-10T16:47:03-03:00",
"map": "cp_dustbowl",
"server": "Team Fortress 2 #42",
"friends_playing": ["medicmain99"],
"friends_in_lobby": ["medicmain99"]
}
]
}

Up and running in three commands

Copy the example config, drop in your Steam Web API key and SteamID64, then let it poll. Everything else has a sensible default.

Installation guide
cp steamlogger.example.toml steamlogger.toml
$EDITOR steamlogger.toml # api_key + steam_id
cargo run --release # Ctrl+C to stop