rattletrap

Parse and generate Rocket League replays.

https://github.com/tfausak/rattletrap#readme

Version on this page:2.5.0
LTS Haskell 22.39:12.1.3
Stackage Nightly 2024-10-31:14.0.0
Latest on Hackage:14.0.0

See all snapshots rattletrap appears in

MIT licensed
Maintained by Taylor Fausak
This version can be pinned in stack with:rattletrap-2.5.0@sha256:a4995fbd4882131ceefcf75c84888222c2e196227731d6f9ec8100e3131d8e24,7346

Module documentation for 2.5.0

Rattletrap

Version badge Windows build badge Build badge

Rattletrap parses and generates Rocket League replays.

Install

Get Rattletrap by downloading and unpacking the latest release for your platform.

To build Rattletrap from source, install Stack. Then run stack --resolver nightly install rattletrap.

Replays

Rocket League saves your replays in a folder that depends on your operating system.

  • Windows: %UserProfile%\Documents\My Games\Rocket League\TAGame\Demos
  • macOS: $HOME/Library/Application Support/Rocket League/TAGame/Demos
  • Linux: $HOME/.local/share/Rocket League/TAGame/Demos

Parse

Rattletrap can parse (decode) Rocket League replays and output them as JSON.

> rattletrap decode input.replay output.json
# or
> rattletrap decode input.replay > output.json
# or
> rattletrap.decode < input.replay > output.json

The resulting JSON is minified, but extremely large. The output can be up to 50 times larger than the input.

Generate

Rattletrap can also generate (encode) Rocket League replays from JSON files.

> rattletrap encode input.json output.replay
# or
> rattletrap encode input.json > output.replay
# or
> rattletrap.encode < input.json > output.replay

If the JSON was generated by Rattletrap, the resulting replay should be identical to the original.

Modify

By inserting another program between parsing and generating, Rattletrap can be used to modify replays.

> rattletrap decode < original.replay |
  modify-replay-json |
  rattletrap encode > modified.replay

Changes

Change log

Rattletrap uses Semantic Versioning. The change log is available through the releases on GitHub.