マイクラサーバーを作るとき、やりたくてやってみることは数多くあります。
しかし、サーバーのWeb管理という機能に手を出すと、「設定がこんなに複雑だとは思わなかった!」「一体これで何ができるんだ?」と思うあなたがいるはずです。
本記事では、初心者の方でも安心して取り組める「Webで管理できるマイクラサーバー」の構築方法と、運用時に押さえておきたいポイントを徹底解説します。
本記事の構成
- サーバー構成の基礎 ― どこにどんなソフトを置くか
- Web管理ツールの選択 ― 代表例と導入コスト
- 初期設定 ― WebUIを立ち上げる前に行う基礎作業
- 管理画面の構築 ― Webサーバーとの連携とセキュリティ
- 運用ポイント ― 定期的にチェックすべき項目
- トラブルシューティング ― よくあるエラーとその対処法
- まとめ ― これから始める人へのアドバイス
それでは早速、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 -h・ncdu |
| ディスク I/O | 5s 以上のレスポンスタイム | iostat |
5‑2. ログのローテーション
logrotate で server.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.propertiesのresource-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.js の httpAuth: 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 で管理 することで、以下のメリットが得られます。
- 非ターミナルでも直感的に操作
- リソース状態をリアルタイムで把握
- ログや障害情報をすばやく確認
- 運用作業の自動化(バックアップ、アップデート)
本記事では、Ubuntu 22.04 と PM2 + pm2-web を用いた構築手順を紹介しました。
一度環境を構築すれば、今後の運用はほぼ「設定するだけ」で済みます。
初心者のうちは、各ステップを一つずつ確かめながら進めると良いでしょう。
以下、設定完了後にチェックすべき項目(チェックリスト)です。
| ✅ | 項目 | 目的 |
|---|---|---|
| ✅ | サーバー起動確認 | telnet <IP> 25565 で接続 OK |
| ✅ | 監視ダッシュボード | CPU/メモリ、ログを表示 |
| ✅ | バックアップ作成 | cron で自動化 |
| ✅ | SSL 設定 | HTTPS が有効か確認 |
| ✅ | ファイアウォール | 必要ポートのみ開放 |
| ✅ | アップデートスクリプト | 公式サイトから自動取得 |
これで、安心してマイクラサーバーを運用していただけるはずです。
運用中に新たに発生する課題は、まずはログを確認し、必要に応じて設定を微調整してください。
おめでとうございます!
さあ、友達と一緒にオンラインワールドを楽しんでくださいね 🚀

コメント