wotbreplay-parser 0.2.0-alpha.7

World of Tanks Blitz replay parser
Documentation

wotbreplay-parser

World of Tanks Blitz replay parser in Rust.

Crates.io Last commit GitHub Workflow Status License: MIT docs.rs

Quickstart

use std::fs::File;

use anyhow::Result;
use wotbreplay_parser::Replay;
use wotbreplay_parser::models::TeamNumber;

fn main() -> Result<()> {
    let battle_results = Replay::open(File::open("tests/replays/battle_results.wotbreplay")?)?
        .read_battle_results()?;

    assert_eq!(battle_results.timestamp, 1670018359);
    assert_eq!(battle_results.players.len(), 14);

    assert_eq!(battle_results.players[0].account_id, 520886428);
    assert_eq!(battle_results.players[0].info.nickname, "77mmmr");
    assert_eq!(battle_results.players[0].info.team(), TeamNumber::Two);
    assert_eq!(battle_results.players[0].info.platoon_id, None);

    assert_eq!(battle_results.players[1].info.nickname, "SNAK_THE_RIPPER");
    assert_eq!(battle_results.players[1].info.team(), TeamNumber::One);
    assert_eq!(battle_results.players[1].info.platoon_id, Some(547466834));

    Ok(())
}

Replay structure

*.wotbreplay is a ZIP-archive containing:

  • battle_results.dat
  • meta.json
  • data.wotreplay

battle_results.dat

This is a pickled 2-tuple:

Useful tools

meta.json

data.wotreplay