rl-replay is a small command-line parser for Rocket League .replay files.
It extracts the match summary used by Sprocket: match metadata, teams and
scores, players and headline stats, winner, and goals.
Download a platform archive from the latest GitHub Release, unpack
it, and put the rl-replay executable somewhere on your PATH.
Release archives currently target:
| Platform | Archive target |
|---|---|
| Linux x86_64 | x86_64-unknown-linux-gnu |
| macOS Intel | x86_64-apple-darwin |
| macOS Apple Silicon | aarch64-apple-darwin |
| Windows x86_64 | x86_64-pc-windows-msvc |
The binaries are currently unsigned. macOS may require approving the binary in System Settings after the first launch.
Parse one replay and print a JSON summary:
rl-replay path/to/match.replayWrite the summary to a file instead:
rl-replay path/to/match.replay --output summary.jsonParse several replays in one process. Batch mode prints a JSON array in the same order as the input paths:
rl-replay --batch path/to/one.replay path/to/two.replay > summaries.jsonThe --output option also works with batch mode:
rl-replay --batch --output summaries.json path/to/*.replayWithout --batch, exactly one input path is required. A missing or malformed
replay causes a non-zero exit status and identifies the file that failed.
Rust and Cargo are only needed when building from source or contributing:
cargo build --release
cargo testThe resulting executable is target/release/rl-replay.
Releases are built by GitHub Actions when a version tag is pushed. To publish a new release from a checkout with permission to the repository:
git tag v0.2.0
git push origin v0.2.0The workflow runs the test suite, builds each supported target, creates a platform archive, and attaches the archives to the GitHub Release.
The comparison against the predecessor parser is recorded in BENCHMARK.md. The current corpus comparison covers 32 replay fixtures with exact agreement on all fields emitted by this CLI.