MaxBittker/rs-sdk
Runescape automation library, optimized for use by coding agents.
RS‑SDK – RuneScape 风格机器人研究专用启动套件
是什么 – RS‑SDK 是一个开源工具箱,允许你在完全模拟的 RuneScape 风格 MMO 中编写、运行和评估自主代理(机器人)。它包含:
- 一个 TypeScript SDK,提供高层游戏操作(
bot.*)和底层数据包辅助函数(sdk.send*) - 一个轻量级网页客户端("botclient"),将游戏状态镜像到 SDK
- 一个连接 SDK 与客户端的网关
- 一个基于 LostCity 2004scape 项目衍生的服务器模拟器,运行一个简化的游戏版本,具有加速升级、无限奔跑能量,且无反机器人随机事件
整个栈可在本地运行,也可连接到公开的演示服务器,使其成为目标导向程序合成、LLM 驱动代理和多智能体竞争研究的便捷沙盒。
主要特性
| 特性 | 对 AI/ML 研究的重要性 |
|---|---|
类型安全的 TypeScript API (sdk/API.md) |
为代理提供清晰、自动文档化的操作空间;CI 会检查公共 API 是否与源码类型一致。 |
可执行脚本沙盒 (bots/<name>/script.ts 或 execute_code 片段) |
代理可作为接收 bot 和 sdk 全局变量的异步 JavaScript/TypeScript 函数编写,便于快速原型化 LLM 生成的策略。 |
| 加速反馈的服务器修改 | 加速的经验值曲线、无限奔跑能量和禁用随机事件,使实验可在几分钟内完成,而非数小时。 |
可调节的 tickrate (NODE_TICKRATE) |
研究人员可将游戏循环提速至 30 ms tick 以实现高吞吐量模拟,或保持 400 ms 以维持现实感。 |
| 排行榜与基准链接 | 公开的排行榜页面和独立的 rs‑bench 仓库提供不同 LLM 的基准性能数据,有助于可复现性。 |
| 大交易市场模拟 | 一个包含税收和价格仪表板的简单市场,可用于探索经济代理行为或多智能体交易策略。 |
| 本地部署简便 | 三个 bun run 命令即可启动引擎、网页客户端和网关;演示服务器无需这些组件即可快速测试。 |
| Discord 社区 | 用于故障排查、共享机器人和讨论研究想法的专用聊天室。 |
典型应用场景
- LLM 驱动的机器人合成 – 向 LLM(如 Claude、GPT‑4)提示生成
script.ts以提升角色等级,然后在模拟器中运行以衡量成功率。 - 目标导向程序合成(Ralph 循环等) – 将 SDK 作为迭代优化循环(提出、测试、改进)的执行环境。
- 多智能体竞争 – 同时部署多个机器人;排行榜按每单位游戏时间的总等级排名,鼓励对合作/竞争动态的研究。
- 经济代理实验 – 与大交易市场交互,研究市场做市、价格预测或税收影响策略。
- LLM 基准测试 – 使用
rs‑bench仓库比较不同语言模型在相同任务上的表现。
快速入门
# 克隆仓库
git clone https://github.com/MaxBittker/rs-sdk.git
cd rs-sdk
# 安装依赖(使用 bun – 快速 JS 运行时)
bun install
# 连接到公开演示服务器并创建机器人
bun bots/create-bot.ts myBotName
# 运行一个简单脚本(替换为自己的或 LLM 生成的)
bun bots/myBotName/script.ts
若希望 LLM 为你编写脚本,README 中提供了一行命令:
claude "start a new bot with name: myBotName"
如需完全控制,可启动本地服务器栈:
# 引擎(游戏逻辑)
cd server/engine && bun run start
# 网页客户端(botclient 使用的浏览器 UI 打包)
cd server/webclient && bun run watch
# 网关(SDK ↔ botclient 桥接)
cd server/gateway && bun run gateway
然后在 bots/<bot>/bot.env 中将 SERVER= 留空,将机器人指向 ws://localhost:7780。
架构概览
- 服务器引擎 – 运行游戏世界(NPC、战斗、物品、大交易市场)。支持可配置的 tickrate 和不当言论过滤。
- 网页客户端(botclient) – 基于浏览器的客户端,接收世界更新并转发玩家操作。
- 网关 – WebSocket 桥接,连接 SDK 实例与 botclient;每个用户名拥有独立通道。
- SDK – TypeScript 库,暴露
bot.*高层辅助函数(如bot.walkTo(x, y)、bot.attack(target))和低层sdk.send*数据包函数。脚本在接收bot和sdk全局变量的异步沙盒中执行。
文档与资源
- API 参考 –
sdk/API.md(由 CI 自动生成并保持同步)。 - 市场指南 –
sdk/MARKET.md和docs/grand-exchange.md。 - 学习示例 –
learnings/README.md包含常见任务的可复制脚本。 - 基准结果 – README 中链接的独立仓库
rs-bench。 - 社区 – README 顶部的徽章中包含 Discord 链接。
许可证
MIT – 允许商业、学术或个人用途的宽松开源许可证。
总结
RS‑SDK 提供了一个即开即用、完全可控的 MMO 环境,以及一个类型安全的 JavaScript/TypeScript 接口,使其成为实验 LLM 驱动代理、程序合成循环和多智能体经济的理想平台,无需面对真实 RuneScape 游戏的法律或技术限制。
相关
- 项目
- 项目
- 项目
- 项目
- 项目