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