View Categories

パネルAPIで外部からサーバーを操作する

ゲームパネル

プレイヤー一覧の取得、全体アナウンス、キック/BAN、セーブ、再起動といった操作は、ゲームパネルの API を使って外部のプログラムから実行できます。本ページでは、APIキーの発行から、コマンドの実行結果を受け取る方法までをご案内します。

読了 約5分更新 2026-08-13対象 全プラン

このページでできること

ゲームパネルの API(クライアントAPI)を使うと、次のような操作を外部のプログラムやスクリプトから自動化できます。

  • 接続中のプレイヤー一覧の取得
  • 全体アナウンスの送信
  • プレイヤーのキック/BAN
  • 手動セーブ
  • サーバーの起動・停止・再起動
  • 稼働状態(CPU・メモリ・ディスク・通信量)の取得

API はゲームの種類を問わずご利用いただけます。ゲーム固有のコマンドについては、各ゲームのドキュメントをご覧ください。

APIキーを発行する

  1. ゲームパネルにログインし、画面右上のアカウントメニューから 「APIクレデンシャル(API Credentials)」 を開きます。
  2. 用途がわかる説明を入力して作成します。
  3. 表示されたキーを控えます。
APIキーは作成直後の1回しか表示されません。画面を閉じると再表示できませんので、必ずこの時点で控えてください。
「Allowed IPs(許可IP)」に、APIを実行する端末やVPSの固定IPアドレスを入力しておくと、そのIPアドレスからのみ利用できるようになります。空欄の場合はどこからでも利用できてしまうため、固定IPをお持ちの場合は必ず設定してください。

APIキーは1アカウントあたり最大25本まで作成できます。用途ごとに分けて作成し、不要になったものは削除してください。

基本の使い方

ベースURL は次のとおりです。

https://gsv.bestnetllc.co.jp/api/client

リクエストには、次のヘッダを付与します。

Authorization: Bearer <APIキー>
Accept: application/json
Content-Type: application/json   ← POST の場合

サーバー識別子は、パネルでサーバーを開いたときのURL https://gsv.bestnetllc.co.jp/server/xxxxxxxx末尾8文字です。

主なエンドポイント

サーバー一覧GET /api/client 
コマンド送信POST /api/client/servers/{id}/command本文 {"command":"..."}/成功時は 204
起動・停止・再起動POST /api/client/servers/{id}/power本文 {"signal":"start"}(stop / restart / kill)
稼働状態・リソースGET /api/client/servers/{id}/resources状態・CPU・メモリ・ディスク・通信量・稼働時間
コンソール接続情報GET /api/client/servers/{id}/websocket実行結果を読む際に使用(05をご覧ください)

コマンドを送信する例:

curl -X POST "https://gsv.bestnetllc.co.jp/api/client/servers/xxxxxxxx/command" \
  -H "Authorization: Bearer ptlc_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"command":"Info"}'

コマンドの実行結果を受け取る

POST /command204 No Content を返すだけで、実行結果は応答本文に含まれません。存在しないコマンドを送った場合も 204 が返ります。204 は「コンソールにコマンドが届いた」ことを示すもので、成功を保証するものではありません。

実行結果を読みたい場合は、コンソール(WebSocket)に接続します。

  1. GET /api/client/servers/{id}/websocket を呼ぶと、接続先URL(socket)と token が返ります。
  2. その socket に WebSocket で接続します。
  3. 接続後、最初に {"event":"auth","args":["<token>"]} を送信します。{"event":"auth success"} が返れば認証完了です。
  4. 以降、{"event":"console output","args":["..."]} としてコンソール出力が流れてきます。
  5. 同じ接続の上で {"event":"send command","args":["..."]} を送ることもできます。
送信と受信を1本の接続で完結できるため、5 の方法をおすすめします。RCON に最も近い使い方になります。
token の有効期限は10分です。長時間接続される場合は、あらためて websocket エンドポイントから token を取得し、{"event":"auth","args":["<新しいtoken>"]} を送り直してください。

接続先はパネルのドメインではなく、サーバーが稼働しているノードのホスト名(ポート 8443)になります。これは正常な動作です。

制限と注意

  • レート制限は1分あたり256回です。アカウント単位のため、送信元IPアドレスを変更しても緩和されません。
  • サーバーが停止している状態でコマンドを送るとエラーになります(Server must be online in order to send commands.)。
  • command が空の場合は入力エラー(422)になります。
  • 送信したコマンドは、パネルのアクティビティログに記録されます
  • サブユーザーにAPIをご利用いただく場合は、「コンソール操作」の権限が必要です。

セキュリティについて

  • APIキーはパスワードと同じ扱いです。GitHub・Discord・スクリーンショットなどに含めないでください。
  • 「Allowed IPs(許可IP)」を設定してください。
  • 用途ごとにキーを分け、不要になったら削除してください。万一漏えいした場合も、削除すれば直ちに無効になります。
  • 権限のないサーバーにはアクセスできません。
APIのご利用についてご不明な点がございましたら、クライアントポータルのサポートチケットよりお気軽にお問い合わせください。
Scroll to top