Skip to main content

Crate squadreplay

Crate squadreplay 

Source
Expand description

Parse Squad UE5 replay data into typed bundles.

squadreplay is a library-first parser for Squad UE5 .replay files. It extracts teams, squads, players, kills, vehicle tracks, deployments, and more into a single Bundle struct that can be serialized to JSON (.sqrj.json) or binary MessagePack (.sqrb) for downstream tooling.

§Quick start

use squadreplay::{parse_file, ParseOptions};

let bundle = parse_file("match.replay", &ParseOptions::default())?;
println!("map: {:?}", bundle.replay.map_name);
println!("players: {}", bundle.players.len());
println!("kills: {}", bundle.events.kills.len());

§Serialization round-trip

use squadreplay::{parse_file, sqrb, sqrj, ParseOptions};

let bundle = parse_file("match.replay", &ParseOptions::default())?;

// Write to both formats
sqrj::write(&bundle, "match.sqrj.json")?;
sqrb::write(&bundle, "match.sqrb")?;

// Read back
let from_json = sqrj::read("match.sqrj.json")?;
let from_bin  = sqrb::read("match.sqrb")?;

§Feature flags

FeatureDefaultDescription
cliyesBuilds the squadreplay binary (pulls in clap)

Library-only consumers should disable default features:

[dependencies]
squadreplay = { version = "0.1.0-alpha.1", default-features = false }

Re-exports§

pub use bundle::Bundle;
pub use bundle::GameStateInfo;
pub use bundle::ParseOptions;

Modules§

bundle
Data model for parsed Squad replay bundles.
compat
Compatibility layer producing the legacy JSON format used by older Squad replay tools.
sqrb
Read and write .sqrb (binary MessagePack) bundles.
sqrj
Read and write .sqrj.json (human-readable JSON) bundles.

Enums§

Error
Errors that can occur during replay parsing and bundle I/O.

Functions§

parse_bytes
Parse replay bytes that are already loaded in memory.
parse_file
Parse a replay file from disk.
read_bundle
Read a serialized bundle from disk.

Type Aliases§

Result
Convenience alias for std::result::Result<T, Error>.