ブラウザで使う管理画面とダッシュボード

サーバーが増えると、コマンドの画面だけでは、起動、更新、状態の確認が追いつきません。
この資料では、ブラウザからサーバーを管理・監視する仕組みと、それを安全に公開するための注意を説明します。管理画面は、乗っ取られるとすべてのサーバーを操作されるため、守り方まで一緒に考えます。

バージョンと日付は、2026 年 10 月 25 日に各公式のサイトと GitHub で確認したものです。

用途ごとの仕組み

用途主な仕組み見る人
サーバーの管理Pterodactyl、Pelican Panel、Crafty Controller、AMP。公式の管理の API運営スタッフだけ
状態の監視Prometheus と Grafana、spark運営スタッフだけ
プレイヤーの分析Plan運営スタッフ。一部を公開することもある
Web の地図BlueMap、squaremap、Dynmap参加する方や視聴者に公開することが多い

サーバーの管理画面

Pterodactyl と Pelican Panel

Pterodactyl は、ゲームのサーバーを Docker のコンテナで分けて動かし、ブラウザから起動、停止、ファイルの編集、バックアップを行える管理画面です。管理画面 (Panel) と、各サーバーの機械で動く Wings (Linux と Docker が必要) からなります。Pelican Panel は、Pterodactyl のフォークとして 2024 年に始まった、同じ構成の管理画面です。

どちらも広く使われていますが、脆弱性の公表も続いています。Pterodactyl では 2025 年に、ログインしなくても外部から任意のコードを実行できる重大な脆弱性 (CVE-2025-49132) が公表されました。Wings にも 2026 年に重大な脆弱性が公表されています。

  • 公開された脆弱性の情報 (GitHub の Security Advisories) を確認し、すぐに更新できる体制にする
  • 管理者には 2 段階認証を必須にする (Pterodactyl は設定で必須にできる)
  • Wings の API (既定 8080 番) と SFTP (既定 2022 番) は、参加する方のブラウザやファイルの転送から直接つながるため、Cloudflare のプロキシで隠せない。公開する範囲を、ファイアウォールで必要な相手に限る

Crafty Controller と AMP

Crafty Controller 4 は Python で作られた管理画面で、ファイルの管理、バックアップ、スケジュール、Prometheus 形式での状態の出力、2 段階認証とパスキーに対応しています。AMP (CubeCoders) は有料の管理画面です。

公式の管理の API

Java 版 1.21.9 からは、サーバーに管理のための API (Minecraft Server Management Protocol) が組み込まれています。WebSocket を使う JSON-RPC の形式で、ホワイトリスト、BAN、オペレーター、プレイヤー、サーバーの設定、ゲームルールなどを操作できます。

# server.properties
management-server-enabled=true
management-server-host=localhost        # 既定。外部に公開しない
management-server-port=25585            # 既定は 0(起動のたびにランダム)
management-server-secret=…              # 接続に必要な秘密の値
management-server-tls-enabled=true

既定では無効です。有効にすると、接続には秘密の値が必要になります。ブラウザから使う場合は、接続を許可する Origin (management-server-allowed-origins) を指定します。サーバーを操作できる強い権限を持つため、外部に公開せず、秘密の値の管理にも注意します。

監視のダッシュボード

サーバーの状態を数字で記録し、グラフで見られるようにします。障害の前の変化に気付けるほか、企画の後に、どの時間帯に重くなったかを振り返れます。

  • minecraft-prometheus-exporter: Paper のプラグインで、TPS、ティックの時間 (平均、中央値、最大)、プレイヤーの数、エンティティ、読み込まれたチャンク、Java のメモリと GC を、Prometheus の形式で出力する。既定では自分のサーバーの中 (localhost:9940) だけで待ち受ける。Grafana のダッシュボードの例が付いている
  • Grafana: Prometheus に集めた数字をグラフにし、TPS が下がったときなどに通知できる
  • spark: 計測の結果を Web の画面で見られる。結果は既定で spark の外部のサーバーにアップロードされ、URL を知っている人なら見られる

UnifiedMetrics のように、最後の正式なバージョンが 2023 年で、保守が少なくなっているものもあります。監視の仕組みも、開発が続いているかを確かめて選びます。

プレイヤーの分析と Web の地図

名前内容注意すること
Plan参加の状況、プレイヤーの数の変化などを、Web の画面で分析する (既定 8804 番)HTTPS を設定するまで、ログインの機能が有効にならない。プロキシのネットワークでは MySQL が必要
BlueMapワールドを 3D の地図で見られる。描画は非同期で、メインのスレッドを直接止めない内蔵の Web サーバー (8100 番) は、既定ですべてのネットワークで待ち受ける。自分のサーバーの中だけにして、HTTPS のリバースプロキシを前に置く
squaremap軽量の 2D の地図。26.3 に対応公開する場合は、同じくリバースプロキシを前に置く
Dynmap長く使われてきた 2D の地図最新の正式なバージョンは 1.21.11 まで (26.x のバージョンは確認できない)

Web の地図を視聴者に公開すると、配信の企画の楽しみが広がります。一方で、地図からは建物の位置や、参加する方の居場所が分かります。企画の内容に合わせて、プレイヤーの表示や、公開する範囲を決めます。

安全に公開する

管理画面と監視の画面は、乗っ取られるとサーバーをすべて操作されるおそれがあります。各ソフトウェアのドキュメントが示す点と、Web のシステムを守る一般的な方法を組み合わせます。

  • インターネットから誰でも接続できる状態にしない: 管理画面、監視の画面、公式の管理の API は、自分のサーバーの中 (localhost) か、運営のネットワークの中だけで待ち受ける
  • アクセスを限る: 運営スタッフだけが使う画面は、Cloudflare Zero Trust (Cloudflare Access) などで、ログインした許可した人だけが開けるようにする (サーバーへの接続の保護)
  • HTTPS: 公開する画面は、HTTPS のリバースプロキシ (NGINX、Caddy など) を前に置く
  • 2 段階認証: 管理画面のアカウントは、全員に 2 段階認証を必須にする
  • 更新: 管理画面は脆弱性の公表が続いているため、更新を後回しにしない
  • 権限: 運営スタッフごとにアカウントを分け、必要な操作だけを許可する。抜けた運営スタッフのアカウントはすぐに止める

参考にした資料

管理画面とダッシュボードの構築は、KEY SELECT に

管理画面の構築、監視のダッシュボード、Web の地図の公開を、ログインの保護と更新の運用まで含めて、KEY SELECT がお引き受けできます。

  • 記事や技術資料の内容についてのご質問とサポートは、保守・サポートのご契約、またはスポットでのご契約をいただいたうえでお受けしています。無償でのサポートは行っておりません。
  • 記事や技術資料の内容は、公開の時点の情報にもとづいて作成しています。内容の正確性、完全性、最新性を保証するものではなく、内容にもとづいて行った作業の結果について、弊社は責任を負いかねます。設定や変更は、ご自身の責任で、検証用の環境で確かめてから行ってください。
  • 記事や技術資料の内容について、ご指摘や誤りにお気づきの点がありましたら、その他のお問い合わせからお知らせください。
  • 技術資料の内容は、引用元として資料の名前と URL を明記していただければ、ご自身の動画や資料としてご利用いただけます。全文の Web サイトでの引用はご遠慮ください。

ご相談・お問い合わせ

内容が固まっていない段階からご相談いただけます。各分野のプロフェッショナルがご対応いたします。ご相談・お見積もりは無料です。