7个版本
0.2.1 | 2021年8月9日 |
---|---|
0.2.0 | 2021年7月27日 |
0.1.3 | 2021年7月13日 |
0.1.2 | 2021年6月23日 |
0.0.0 | 2020年9月26日 |
#35 in #programmers
每月 33 次下载
用于 lunaria
9KB
🦀 lunaria-api
用于视频游戏Lunaria的Rust API客户端。
Lunaria 是一款面向程序员的视频游戏,通过 gRPC API 编写与游戏交互的代码来玩。该包包含一个由 Protocol Buffers 自动生成的 Lunaria的API 声明的 gRPC 客户端。
入门指南
首先,将 lunaria-api
添加为 Cargo.toml
的依赖项。
因为 lunaria-api
包裹了由 tonic
生成的客户端,所以它也必须作为依赖项添加。如果您正在构建二进制文件,还需要一个异步运行时,例如 tokio
。
[dependencies]
lunaria-api = "0.2.1"
tokio = { version = "0.2.22", features = ["macros", "rt-threaded"] }
tonic = "0.3.1"
接下来,导入 LunariaClient
并连接到游戏服务器。查看下面的 Lunaria API 规范,了解您可以发送的所有请求以及它们所需和返回的数据
https://github.com/playlunaria/lunaria-api/tree/main/protobufs
以下是一个获取游戏版本的示例
use lunaria_api::lunaria::v1::lunaria_service_client::LunariaSerrviceClient;
use lunaria_api::lunaria::v1::{GetVersionRequest, GetVersionResponse, Version};
use tonic::Request;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Specify the address and port of Lunaria's API
let address = "http://127.0.0.1:1904";
// Initialize the client
let mut lunaria = LunariaServiceClient::connect(address).await?;
// Create a request to get the game's version and send it to the server
let request = Request::new(GetVersionRequest {});
let grpc_response = lunaria.get_version(request).await?;
let version_response = grpc_response.into_inner();
if let Some(version) = version_response.version {
assert_eq!(0, version.major);
assert_eq!(0, version.minor);
assert_eq!(0, version.patch);
}
Ok(())
}
许可
许可协议为以下之一
- Apache License,版本 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则任何有意提交以包含在作品中的贡献,根据 Apache-2.0 许可证定义,应按上述方式双重许可,不附加任何额外条款或条件。
依赖项
~5.5–7.5MB
~129K SLoC