The rattletrap package

[Tags:library, mit, program, test]

Rattletrap parses and generates Rocket League replays.

[Skip to Readme]


Versions 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.2.0, 0.3.0, 0.4.0, 0.4.1, 1.0.0, 2.0.0, 2.1.0, 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.2.0, 2.2.1
Change log CHANGELOG.markdown
Dependencies aeson (>=0.11 && <1.3), aeson-casing (==0.1.*), base (==4.9.*), bimap (==0.3.*), binary (==0.8.*), binary-bits (==0.5.*), bytestring (==0.10.*), containers (==0.5.*), data-binary-ieee754 (==0.4.*), rattletrap, template-haskell (==2.11.*), text (==1.2.*), vector (>=0.11 && <0.13) [details]
License MIT
Maintainer Taylor Fausak
Category Game
Home page
Bug tracker
Source repository head: git clone
Uploaded Mon Apr 17 14:13:39 UTC 2017 by fozworth
Distributions LTSHaskell:2.1.5, NixOS:2.2.1, Stackage:2.2.1, Tumbleweed:2.1.5
Downloads 607 total (171 in the last 30 days)
0 []
Status Docs available [build log]
Last success reported on 2017-04-17 [all 1 reports]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for rattletrap

Readme for rattletrap-2.2.1


Version badge Windows build badge Build badge

Rattletrap parses and generates Rocket League replays.

If you only want to parse replays, consider using Octane instead. It uses Rattletrap behind the scenes but provides a nicer interface.


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.


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


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.


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.


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