Skip to content
/ rman-rs Public

The rman crate provides a convenient api for parsing Riot Manifest files.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

ev3nvy/rman-rs

Repository files navigation

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.

Documentation

You can find latest release documentation on docs.rs. Versions from 0.3.0 onwards are also published to GitHub pages (e.g. https://ev3nvy.github.io/rman-rs/v0.3.0). You can also find documentation for the latest unpublished version on GitHub pages.

Acknowledgements

Legal

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.