MCTOOLBOX
MC ToolboxMC TOOLBOX
Java Edition サーバープロトコル

Minecraft サーバー管理 API エクスプローラー

バニラの JSON-RPC メソッドを参照し、位置指定パラメータを構築し、応答スキーマを検査し、実際のサーバーシークレットを公開することなく安全な WebSocket 接続を準備します。

68
メソッド
17
通知
15
スキーマ
3.0
26.2のプロトコル
呼び出し可能なメソッド読み取り専用1.21.9+
minecraft:server/status

起動状態、オンラインプレイヤー、および実行中の Minecraft バージョンを読み取ります。

パラメーター

このメソッドはパラメーターを取りません。

結果

結果の型
Server State
JSON-RPC リクエスト
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "minecraft:server/status"
}
応答例
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "started": true,
    "players": [
      {
        "id": "853c80ef-3c37-49fd-aa49-938b674adae6",
        "name": "jeb_"
      }
    ],
    "version": {
      "name": "26.2",
      "protocol": 774
    }
  }
}

接続と server.properties ビルダー

ツールに固定ポートを使用し、Minecraft が有効な40文字の値を生成するように、一度シークレットを空のままにします。

セキュリティに関する注意: 実際の管理シークレットを公開ウェブサイトに貼り付けないでください。localhost またはプライベートネットワークにバインドし、ファイアウォールを使用し、信頼できないネットワーク全体で TLS を使用してください。
server.properties
management-server-enabled=true
management-server-host=localhost
management-server-port=25585
management-server-secret=
management-server-tls-enabled=true
management-server-tls-keystore=management-server.p12
management-server-allowed-origins=http://localhost:3000
ターミナル接続
wscat -c wss://localhost:25585 -s minecraft-v1 -H "Authorization: Bearer YOUR_40_CHARACTER_SECRET"
ブラウザ WebSocket の例
const socket = new WebSocket('wss://localhost:25585', [
  'minecraft-v1',
  'YOUR_40_CHARACTER_SECRET'
]);

socket.addEventListener('open', () => {
  socket.send("{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"minecraft:server/status\"}");
});

socket.addEventListener('message', ({ data }) => {
  console.log(JSON.parse(data));
});
プロトコルガイド

Minecraft サーバー管理プロトコルとは何ですか?

サーバー管理プロトコルは、1.21.9 で導入された Java Edition 専用サーバー API です。WebSocket を介して JSON-RPC 2.0 メッセージを伝送するため、ダッシュボードや自動化は、コンソールテキストを解析する代わりに、型付きのプレイヤー、Ban、設定、game rule、サーバー状態を操作できます。

Minecraft 26.2 はプロトコルバージョン 3.0 を使用し、ゲームサーバーが完全に起動する前に rpc.discover を公開できます。Discovery は、クライアントが到達した正確なサーバーでサポートされているメソッドと通知を学習するための最も安全な方法です。

このエクスプローラーは参照およびペイロードビルダーであり、リモートコントロールパネルではありません。意図的にプレースホルダーシークレットを使用し、すべての編集をブラウザでローカルに実行します。

運用ガイダンス

管理 API と RCON の比較

RCON はコンソールコマンドを送信し、非構造化テキストを返します。管理 API は型付き JSON を返し、参加、退出、保存、game rule、ステータスイベントをプッシュできるため、コントロールパネル、監視、ボットにより適しています。

API は Java Edition のみであり、デフォルトでは無効になっています。本番クライアントは、検出されたスキーマを検証し、標準の JSON-RPC エラーオブジェクトを処理し、バックオフで再接続し、stop、clear、set、ban、kick、および operator の書き込みを特権アクションとして扱う必要があります。

ポート 0 は Minecraft にランダムなポートを選択するように要求します。サービスを無効にするわけではありません。TLS はデフォルトで有効になっており、ブラウザクライアントには許可された Origin と minecraft-v1 WebSocket サブプロトコルも必要です。

よくある質問

このページは私のライブ Minecraft サーバーに接続できますか?

いいえ。これはローカルで例を構築し、実際のシークレットを尋ねることはありません。生成されたスニペットを信頼できるローカルツールで使用するか、保守されているクライアントライブラリを使用してください。

なぜパラメータは JSON 配列として表示されるのですか?

Minecraft API メソッドは位置指定 JSON-RPC パラメータを使用します。1つの論理引数を持つメソッドでも、その値を params 配列内に送信します。

このプロトコルは Bedrock Edition で動作しますか?

いいえ。Minecraft Server Management Protocol は現在、Java Edition 専用サーバーの機能です。

サーバーパネルでメソッドリストをハードコードすべきですか?

可能な場合は実行時に rpc.discover を使用してください。プロトコルは 1.21.9、1.21.11、および 26.2 で既に変更されています。