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.tsexecute_code 片段) 代理可作为接收 botsdk 全局变量的异步 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


架构概览

  1. 服务器引擎 – 运行游戏世界(NPC、战斗、物品、大交易市场)。支持可配置的 tickrate 和不当言论过滤。
  2. 网页客户端(botclient) – 基于浏览器的客户端,接收世界更新并转发玩家操作。
  3. 网关 – WebSocket 桥接,连接 SDK 实例与 botclient;每个用户名拥有独立通道。
  4. SDK – TypeScript 库,暴露 bot.* 高层辅助函数(如 bot.walkTo(x, y)bot.attack(target))和低层 sdk.send* 数据包函数。脚本在接收 botsdk 全局变量的异步沙盒中执行。

文档与资源

  • API 参考sdk/API.md(由 CI 自动生成并保持同步)。
  • 市场指南sdk/MARKET.mddocs/grand-exchange.md
  • 学习示例learnings/README.md 包含常见任务的可复制脚本。
  • 基准结果 – README 中链接的独立仓库 rs-bench
  • 社区 – README 顶部的徽章中包含 Discord 链接。

许可证

MIT – 允许商业、学术或个人用途的宽松开源许可证。


总结

RS‑SDK 提供了一个即开即用、完全可控的 MMO 环境,以及一个类型安全的 JavaScript/TypeScript 接口,使其成为实验 LLM 驱动代理、程序合成循环和多智能体经济的理想平台,无需面对真实 RuneScape 游戏的法律或技术限制。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目