マイクラサーバー web管理を徹底解説!初心者でも安心できる設定と運用ポイント

マイクラサーバーを作るとき、やりたくてやってみることは数多くあります。
しかし、サーバーのWeb管理という機能に手を出すと、「設定がこんなに複雑だとは思わなかった!」「一体これで何ができるんだ?」と思うあなたがいるはずです。
本記事では、初心者の方でも安心して取り組める「Webで管理できるマイクラサーバー」の構築方法と、運用時に押さえておきたいポイントを徹底解説します。

本記事の構成

  1. サーバー構成の基礎 ― どこにどんなソフトを置くか
  2. Web管理ツールの選択 ― 代表例と導入コスト
  3. 初期設定 ― WebUIを立ち上げる前に行う基礎作業
  4. 管理画面の構築 ― Webサーバーとの連携とセキュリティ
  5. 運用ポイント ― 定期的にチェックすべき項目
  6. トラブルシューティング ― よくあるエラーとその対処法
  7. まとめ ― これから始める人へのアドバイス

それでは早速、Webで簡単に操作できる環境を整えていきましょう。


1. サーバー構成の基礎

1‑1. 本体(Minecraftサーバー)

  • OS: Ubuntu 22.04 LTS(サーバー環境として安定している)
  • Java: 17 LTS
  • Server Pack: Vanilla, Spigot, Paper(パフォーマンス重視ならPaper)

1‑2. Web管理用バックエンド

  • Node.js (バージョン 18.x)
  • PM2:プロセスマネージャ
  • pm2-web(または Keymetrics): Webインターフェース

1‑3. Webフロントエンド

  • NGINX(リクエストをプロキシ)
  • SSL:Let’s Encryptで自動更新

1‑4. データベース(オプション)

  • SQLiteで軽量管理。
  • もしくは MySQL / MariaDB で拡張可能。
# 構成例(Ubuntu 22.04)
apt update && apt upgrade -y
apt install -y openjdk-17-jdk nginx mariadb-server python3-certbot-nginx

2. Web管理ツールの選択

2‑1. PM2 + pm2-web

  • メリット

    • 起動・停止・再起動がクリック一つで完了
    • CPU・メモリ使用率をリアルタイムで表示
    • ログをWeb上で閲覧可能
    • スケールアウト(複数サーバー統合)に強い
  • デメリット

    • 初期設定がやや手間
    • GUIがシンプルすぎてカスタマイズ性が低い

2‑2. Minestat / MCDR Web

  • マイクラ専用のWebダッシュボード
  • 公式プラグインが多い
  • プラグインやスクリプトをWeb上から簡単に管理

2‑3. Cockpit + Server Control

  • Linux GUI管理ツール。
  • ターミナル・ファイル・サービス管理も同時に行える。
  • ただし、マイクラのプロセス管理に特化していない

初心者向け推薦
まずは「PM2 + pm2-web」を試してみて下さい。
それに慣れたら「Minestat」でマイクラ専用機能を追加していくと、さらに豊かな運用が可能になります。


3. 初期設定

3‑1. Java のインストールと環境変数

apt install -y openjdk-17-jdk
update-alternatives --config java

3‑2. Minecraft サーバーのダウンロード

wget https://papermc.io/api/v2/projects/paper/versions/1.20.1/builds/302/downloads/paper-1.20.1-302.jar -O paper.jar
mkdir worlds plugins

3‑3. Node.js と PM2 のインストール

curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
apt install -y nodejs
npm install pm2 -g

3‑4. pm2-web のインストール

npm install pm2-web -g

pm2-web は Web UI を提供します。
ただし、外部からアクセスさせる場合は必ず認証機能を有効にしてください。

3‑5. サーバーの起動スクリプト作成

start.sh を作成し、実行権限を付与

#!/usr/bin/env bash
JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
nohup java -Xmx4G -Xms2G -jar paper.jar nogui > server.log 2>&1 &
echo $! > server.pid
chmod +x start.sh

3‑6. PM2 で管理

pm2 start start.sh --name minecraft --watch
pm2 save

3‑7. pm2-web の起動

pm2-web &

pm2-web が localhost:9000 でアクセスできます。
ここで認証パスワードを設定し、外部からはアクセス不可にします。

3‑8. Nginx でプロキシ設定

/etc/nginx/sites-available/minecraft を作成

server {
    listen 80;
    server_name minecraft.example.com;

    location / {
        proxy_pass http://localhost:9000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
ln -s /etc/nginx/sites-available/minecraft /etc/nginx/sites-enabled/
systemctl reload nginx

3‑9. SSL 設定

certbot --nginx -d minecraft.example.com

4. 管理画面の構築

4‑1. PM2 ダッシュボード

  • Status: サーバー起動中か停止中か
  • Memory / CPU: 利用率をパーセンテージで表示
  • Logs: コンソールログを即時閲覧

4‑2. Web UI の認証

pm2-web の設定ファイル(/.pm2-web/config.js)で認証情報を設定

module.exports = {
  username: 'admin',
  password: 'StrongPassword!123',
  httpAuth: true
};

パスワードは最低でも 12 文字、英大文字・英小文字・数字・特殊文字を混ぜたものが推奨です。

4‑3. 追加機能:リロード・バックアップ ボタン

pm2-web はデフォルトでリロードが可能です。
バックアップは以下のように cron で自動化します。

*/30 * * * * /usr/bin/rsync -avz --delete /home/ubuntu/minecraft/worlds /mnt/backup/$(date +\%Y-\%m-\%d)

5. 運用ポイント

5‑1. リソース監視

メトリクス 目安 監視方法
CPU 90%以上 pm2-web → 「CPU」グラフ
メモリ 90%以上 pm2-web
ハードディスク 80%以上 df -hncdu
ディスク I/O 5s 以上のレスポンスタイム iostat

5‑2. ログのローテーション

logrotateserver.log をローテーションし、サイズが 100MB を超えたら 7 つ前まで保持。

cat <<EOF > /etc/logrotate.d/minecraft
/home/ubuntu/minecraft/server.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
}
EOF

5‑3. アップデート管理

# Java
apt upgrade -y openjdk-17-jdk

# Paper
wget -O paper.jar https://papermc.io/api/v2/projects/paper/versions/1.20.1/builds/303/downloads/paper-1.20.1-303.jar
pm2 restart minecraft

5‑4. プラグインとリソースパック管理

  • プラグイン/plugins 配下に置く。
  • リソースパック/worlds/yourworld/resources.zip に配置し、server.propertiesresource-pack を更新。
  • 変更後はサーバーを再起動し、データベースやログを確認。

5‑5. セキュリティ

項目 推奨
ファイアウォール ufw allow 22/tcp & ufw allow 25565/tcp
SSH キー認証 パスワード禁止
Web UI 認証 強力パスワード、HTTPS
データベース ユーザー権限最小化

6. トラブルシューティング

6‑1. サーバーが起動しない

兆候 原因 対処
server.log が空 Java が見つからない / パーミッション $JAVA_HOME を正しく指定、chmod +x start.sh
java.lang.OutOfMemoryError -Xmx が低すぎる -Xmx4G へ増やす
Cannot listen on port 25565 別のプロセスが占有 lsof -i :25565 で確認、kill

6‑2. pm2-web にアクセスできない

兆候 原因 対処
接続エラー 設定ファイルに httpAuth が無効 config.jshttpAuth: true を有効化
無限ループ Nginx でループプロキシ ループが無いか、proxy_set_header を確認
パスワード忘れ 失われた認証情報 config.js を新規作成して再起動

6‑3. ファイルが破損・クラッシュした

  • crash-reports フォルダを確認。
  • バックアップを復元:
rsync -avz /mnt/backup/<date>/worlds /home/ubuntu/minecraft/worlds
pm2 restart minecraft

7. まとめ

Minecraft サーバーを Web で管理 することで、以下のメリットが得られます。

  1. 非ターミナルでも直感的に操作
  2. リソース状態をリアルタイムで把握
  3. ログや障害情報をすばやく確認
  4. 運用作業の自動化(バックアップ、アップデート)

本記事では、Ubuntu 22.04PM2 + pm2-web を用いた構築手順を紹介しました。
一度環境を構築すれば、今後の運用はほぼ「設定するだけ」で済みます。
初心者のうちは、各ステップを一つずつ確かめながら進めると良いでしょう。

以下、設定完了後にチェックすべき項目(チェックリスト)です。

項目 目的
サーバー起動確認 telnet <IP> 25565 で接続 OK
監視ダッシュボード CPU/メモリ、ログを表示
バックアップ作成 cron で自動化
SSL 設定 HTTPS が有効か確認
ファイアウォール 必要ポートのみ開放
アップデートスクリプト 公式サイトから自動取得

これで、安心してマイクラサーバーを運用していただけるはずです。
運用中に新たに発生する課題は、まずはログを確認し、必要に応じて設定を微調整してください。

おめでとうございます!
さあ、友達と一緒にオンラインワールドを楽しんでくださいね 🚀

コメント

タイトルとURLをコピーしました