7个不稳定版本 (3个破坏性更新)
0.6.0 | 2019年7月19日 |
---|---|
0.5.1 | 2019年5月13日 |
0.4.1 | 2018年1月8日 |
0.3.2 | 2017年12月28日 |
#5 in #screeps
500KB
11K SLoC
rust-screeps-api
A Rust library for using the Screeps HTTP API.
Screeps是一个真正的编程MMO,用户上传JavaScript代码来控制他们的在线帝国。《rust-screeps-api》可以连接到官方服务器,以及用户运行的任何私有服务器实例。
rust-screeps-api
使用hyper运行HTTP请求,并使用serde解析JSON结果。
使用
extern crate screeps_api;
use screeps_api::SyncApi;
let mut api = SyncApi::new().unwrap();
api.login("username", "password").unwrap();
let my_info = api.my_info().unwrap();
println!("Logged in with user ID {}!", my_info.user_id);
文档位于https://docs.rs/screeps-api/。
非官方API文档
- 在https://github.com/screepers/python-screeps/blob/master/docs/Endpoints.md中的HTTP端点。
- 在https://github.com/daboross/rust-screeps-api/blob/master/protocol-docs/websocket.md中的WebSocket端点
已实现的功能
- 登录
- 获取所有排行榜信息
- 获取房间地形
- 检查房间状态
- 获取房间概览信息
- 获取登录用户的详细信息
- 获取最近发生PvP的房间
- WebSocket连接
- 获取每个tick的用户CPU和内存使用情况
- 获取房间地图概览
- 获取新消息通知
- 获取控制台消息
- 获取房间详细更新的部分
- 几乎所有的房间对象都进行了解析
- 旗帜已解析
- 房间视觉效果未解析
未实现的功能
- 市场API
- 消息API
- 详细用户信息API
- 游戏操纵API
- 房间历史API
- 在房间socket更新中解析房间视觉效果。
测试
rust-screeps-api
既有针对每个端点的示例结果解析的单元测试,也有对官方服务器进行调用的集成测试。
测试时使用的环境变量
- SCREEPS_API_USERNAME:用于进行认证测试的登录用户名
- SCREEPS_API_PASSWORD:用于进行认证测试的密码
- 所有变量也可以放入一个
.env
文件中(使用dotenv
crate解析)
使用
cargo test
用于执行所有测试,包括使用提供的登录详细信息调用 https://screeps.com。cargo test parse
仅执行解析单元测试。这可以在离线状态下进行。cargo test -- --skip auth
以测试解析和所有未经身份验证的官方服务器调用。
依赖关系
~7–19MB
~293K SLoC