4 个版本 (2 个破坏性更新)

0.3.0 2023 年 9 月 1 日
0.2.0 2023 年 2 月 17 日
0.1.1 2023 年 2 月 13 日
0.1.0 2023 年 2 月 13 日

#1780 in 解析器实现

MIT/Apache

115KB
2K SLoC

Riot Manifest (rman)

github crates.io docs.rs Discord

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

这是对 .manifest 文件格式进行解析以及下载包含文件的 Rust 实现。

关于

该格式由 RiotGames 创建,并由 RiotClient 用于下载游戏更新。

.manifest 文件的布局如下

解压的 zstd 数据是二进制 flatbuffer 格式。这个包使用从 此处 生成的代码,该代码覆盖了在 这个存储库 中的大部分完整模式。

rman-schema 存储库仅作为子模块添加,作为跟踪使用的模式版本的方式。

状态

这个包已经准备好使用,应该能够解析所有当前和未来的 .manifest 文件,除非格式本身有任何变化。如果库无法解析任何特定文件,或者在将来出现破坏,请随时 贡献

这个包的 semver-major 版本将保持在 0,直到知道 flatbuffer 模式中所有字段的函数和目的。除此之外,这个包遵循 cargo 的版本指南

安装

将以下内容添加到您的 Cargo.toml 文件中

[dependencies]
rman = "0.3"

用法

请参阅 文档 以获取示例和有关所有公开 API 的信息。

贡献

请参阅 CONTRIBUTING.md

寻求帮助

如果您在使用库时需要任何帮助或有任何问题,请随时打开一个问题,或在discord上寻求帮助

致谢

  • @moonshadow565 因其在 rman - rito 清单和包文件的 CLI 工具集 上的出色工作。大部分的架构都是基于他的工作。
  • @Morilli 因创建了 ManifestDownloader,这是我第一次接触到 .manifest 格式的内部工作原理,并且因为他在discord上回答了我的问题。
  • @Kurainu 因创建了 RMAN-Parse,这个项目的早期草案就是基于它。

Riot Games、VALORANT 及其任何相关标志是Riot Games,Inc的商标、服务标志和/或注册商标。

本项目与Riot Games,Inc及其附属公司或子公司没有任何关联、授权、维护、赞助或支持。

本人,项目所有者和创作者,不对使用本项目可能产生的任何法律问题负责。自行承担风险。

依赖关系

~6–22MB
~299K SLoC