MaxBittker/rs-sdk

Runescape automation library, optimized for use by coding agents.

RS‑SDK – RuneScape風 MMO向け研究用スターターKIT

何であるか – RS‑SDKは、オープンソースのツールボックスで、完全にエミュレートされた RuneScape 風 MMO 内で自律型エージェント(ボット)を書き、実行、評価できるようにします。以下の要素をバンドルしています:

  • 高レベルなゲーム操作(bot.*)と低レベルなパケットヘルパー(sdk.send*)を公開する TypeScript SDK
  • ゲーム状態を SDK にミラーする軽量なウェブクライアント("botclient")
  • SDK とクライアントを橋渡しするゲートウェイ
  • LostCity 2004scape プロジェクトから派生したサーバーエミュレータで、高速レベルアップ、無限のランエネルギー、ボット防止のランダムイベントなしの簡略化されたゲームバージョンを実行

このスタックはローカルで実行可能または公開デモサーバーに接続可能で、目的指向のプログラム合成、LLM駆動エージェント、マルチエージェント競争研究のための便利なサンドボックスです。


主な機能

機能 AI/ML研究における重要性
型安全な TypeScript API (sdk/API.md) エージェントに明確で自動ドキュメント化された行動空間を提供。CI が公開 API がソースの型と一致しているかをチェックします。
実行可能なスクリプトサンドボックス (bots/<name>/script.ts または execute_code スニペット) エージェントは botsdk グローバル変数を受け取る非同期 JavaScript/TypeScript 関数として記述可能で、LLM 生成ポリシーの迅速なプロトタイピングが可能になります。
高速フィードバックのためのサーバー修正 加速された経験値曲線、無限のランエネルギー、ランダムイベントの無効化により、実験が数分で完了し、数時間ではなくなります。
調整可能なタックレート (NODE_TICKRATE) 研究者はゲームループを 30 ms タックにまで上げて高スループットのシミュレーションを実行できるか、400 ms で現実的な状態を維持できます。
ランクイングボードとベンチマークリンク 公開されたヒスコアページと別途の rs‑bench リポジトリが、異なる LLM のベースラインパフォーマンス数値を提供し、再現性に役立ちます。
グランドエクスチェンジのシミュレーション 税金と価格ダッシュボードを備えたシンプルな市場で、経済エージェントの行動やマルチエージェント取引戦略を探索できます。
ローカルデプロイの容易さ bun run コマンド3つでエンジン、ウェブクライアント、ゲートウェイを起動。デモサーバーはこれらすべてなしでも使用可能で、迅速なテストが可能。
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.envSERVER= を空にして、ボットを ws://localhost:7780 に接続します。


アーキテクチャ概要

  1. サーバーエンジン – NPC、戦闘、アイテム、グランドエクスチェンジを含むゲーム世界を実行。タックレートと不適切な言葉フィルタをカスタマイズ可能。
  2. ウェブクライアント(botclient) – ブラウザベースのクライアントで、世界の更新を受け取り、プレイヤーの行動を転送。
  3. ゲートウェイ – WebSocketブリッジで SDK インスタンスと botclient を接続。各ユーザー名に固有のチャンネルが割り当てられます。
  4. SDKbot.* 高レベルヘルパー(例:bot.walkTo(x, y)bot.attack(target))と低レベル sdk.send* パケット関数を公開する TypeScript ライブラリ。スクリプトは 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 インターフェースを提供し、本物の RuneScape ゲームの法的・技術的制約に直面することなく、LLM駆動エージェント、プログラム合成ループ、マルチエージェント経済の実験に最適なプラットフォームです。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト