5 个版本

0.1.6 2024年6月15日
0.1.4 2023年10月28日
0.1.3 2023年8月27日
0.1.1 2023年5月26日
0.1.0 2023年5月21日

#101 in WebSocket

Download history 164/week @ 2024-06-15 2/week @ 2024-06-22 14/week @ 2024-06-29

每月 234 次下载

GPL-3.0 许可证

78KB
1.5K SLoC

Python 727 SLoC // 0.1% comments Rust 637 SLoC // 0.0% comments

dcss-api

dcss-api 是一个易于使用的 Rust 和 Python 包装器,用于 Dungeon Crawl Stone Soup (DCSS) 的 Webtile WebSocket API。它支持登录、开始游戏和在游戏过程中发送命令。

文档

dcss-api 的文档可以在 此处 找到。最好的开始方式是查看 此处 的 Rust 示例和 此处 的 Python 示例。请参阅 设置 以运行这些示例。

有关 DCSS WebSocket API 的深入文档也可以在 此处 找到(尚未完成)。

设置

构建 DCSS Webtile

API 适用于 DCSS Webtiles 的本地和公共版本。要在公共服务器上运行,您必须将连接限制为每 100 毫秒最多一个命令(即每秒 10 个命令),通过在连接时将 speed_ms 选项设置为 100 来实现。遵循服务器所有者要求的任何其他规则。

因此,建议您在 DCSS Webtile 的本地版本上运行 API。您可以在 DCSS Webtiles 服务器页面 上找到安装信息。

安装摘要(安装所有先决条件之后)

git clone "https://github.com/crawl/crawl.git"
cd crawl/crawl-ref/source/
git checkout stone_soup-0.29
make WEBTILES=y
python webserver/server.py

请注意,此 API 已经过验证,可与 DCSS 的版本 0.29、版本 0.30 和版本 0.31 一起使用。

构建 Python

dcss-api 的 Python 包是 Rust 包的 PyO3 Python 包装器。可以使用以下命令进行构建

mkdir pyo3
python -m venv pyo3
source pyo3/bin/activate
pip install maturin patchelf
maturin develop -r

测试

为了运行 cargo testpytest,必须将本地 DCSS Webtile 的 stone_soup-0.29stone_soup-0.30stone_soup-0.31 分支暴露在 localhost:8080 上,并且必须创建两个用户:UsernameUsername2,密码都设置为 Password

依赖项

~6–17MB
~244K SLoC