4 releases (2 breaking)

0.3.0 Sep 1, 2023
0.2.0 Feb 17, 2023
0.1.1 Feb 13, 2023
0.1.0 Feb 13, 2023

#1909 in Parser implementations

MIT/Apache

115KB
2K SLoC

Riot Manifest (rman)

github crates.io docs.rs Discord

crates.io crates.io docs.rs GitHub Workflow Status

This is an unofficial rust implementation for parsing the .manifest file format, and downloading containing files.

About

The format was made by RiotGames and is used by RiotClient for downloading game updates.

Layout of the .manifest file is as follows:

Decompressed zstd data is a binary flatbuffer format. This crate uses generated code from a mostly complete schema over at this repository.

rman-schema repository is only added as a submodule as a way to track which schema version is used.

Status

This crate is ready for use as-is and should be able to parse all current and future .manifest files, barring any changes to the format itself. If the library is unable to parse any specific file, or if it breaks in the future, feel free to contribute.

The semver-major version of the crate will stay at 0, until functionality and purpose of all of the fields in the flatbuffer schema is known. Besides that, the crate follows cargo's versioning guidelines.

Installation

Add the following to your Cargo.toml file:

[dependencies]
rman = "0.3"

Usage

See the documentation for examples and information about all of the exposed API's.

Contributing

See CONTRIBUTING.md.

Seeking help

If you need any help with using the library, or have any questions, feel free to open an issue, or ask for assistance on discord.

Acknowledgements

Riot Games, VALORANT, and any associated logos are trademarks, service marks, and/or registered trademarks of Riot Games, Inc.

This project is in no way affiliated with, authorized, maintained, sponsored or endorsed by Riot Games, Inc or any of its affiliates or subsidiaries.

I, the project owner and creator, am not responsible for any legalities that may arise in the use of this project. Use at your own risk.

Dependencies

~7–19MB
~272K SLoC