はじめに:なんでこの記事を書いたのか
さて、そんな僕ですが、ある日大学の後輩からこんな相談を受けました。
「マイクラのマルチサーバー立てたいんですけど、PCでやると重いし、VPSって難しいですか?」
たしかに、マイクラサーバーって一見シンプルですが、Javaの導入、ポート開放、サービス起動の自動化など、初心者にはちょっとした壁があります。
そこで今回は、KagoyaのVPS上で10分以内にマイクラサーバーを構築できる爆速スクリプトを作ったので、その全貌を公開します!
「手っ取り早く友達とマイクラを始めたい人」や、「VPS初心者だけどやってみたい!」という方に向けて、ステップバイステップで解説していきます🧱🔥
背景と前提
-
対象サービス:Kagoya クラウドVPS(今回はCentOS Stream 9を使用)
-
構築対象:Minecraft Java Edition(バニラ版)サーバー
-
前提条件:
- Kagoya VPSのアカウントとインスタンス作成済み
- SSHでrootまたはsudo権限ユーザーで接続可能
- Minecraft利用規約に同意している
- Java 17以上が動作すること(最新版のバニラサーバーが要求)
スクリプト全文(コピペOK)
以下の内容をsetup_minecraft.shとして保存し、Kagoya VPS上で実行するだけでOKです:
#!/bin/bash
# Minecraft Server Setup Script for Kagoya VPS (CentOS Stream 9)
# 実行前に: sudo権限があることを確認
set -e
echo "=== Minecraftサーバーのセットアップを開始します ==="
# 必要パッケージのインストール
dnf update -y
dnf install -y java-17-openjdk wget screen firewalld
# マイクラ用ディレクトリ作成
mkdir -p /opt/minecraft
cd /opt/minecraft
# 最新のバニラサーバー JAR を取得(URLは変更される可能性あり)
wget -O server.jar https://launcher.mojang.com/v1/objects/4d7ddcc76aab6a1681f93c8c7a2a3d167dc41d05/server.jar
# EULA同意
echo "eula=true" > eula.txt
# ファイアウォール設定(25565ポート開放)
systemctl enable firewalld --now
firewall-cmd --add-port=25565/tcp --permanent
firewall-cmd --reload
# サーバー起動用スクリプト作成
cat <<EOF > start.sh
#!/bin/bash
cd /opt/minecraft
screen -dmS minecraft java -Xmx2G -Xms1G -jar server.jar nogui
EOF
chmod +x start.sh
echo "=== 起動スクリプト作成完了。start.sh でサーバー起動できます ==="
echo "=== サーバーを起動します ==="
./start.sh
echo "=== セットアップ完了!サーバーはポート25565で起動中です ==="
試行錯誤の過程
このスクリプトを作るにあたって、いくつか地味にハマるポイントがありました。
☠ Javaのバージョン問題
2023年以降のマイクラ公式サーバーは、Java 17以上でないと起動しない仕様に変更されています。
なのに、CentOSの既定のJavaはJava 8…。
java.lang.UnsupportedClassVersionErrorでクラッシュして「???」となりました。これはjava-17-openjdkで回避。
🔥 firewalldの罠
Kagoya VPSではファイアウォール(firewalld)が最初から有効じゃない場合があるんですが、有効にしないままポート開けても通信できないんですよね…。
そこでsystemctl enable firewalld --nowで確実に起動しています。
🧠 screenの活用
tmux派もいると思いますが、今回は初心者向けにscreenを採用。screen -dmSでバックグラウンド起動が便利です。
気付きと教訓(本質)
- VPS初心者にも使えるスクリプトを意識するなら、「何をしなくていいか」を減らすのが大切
- マイクラのバージョンアップに追従できるよう、JARの取得方法やJavaバージョンは柔軟に保つべし
- firewalldなど、環境依存の設定は必ずスクリプト内で明示しておく
このスクリプトは**「ゲームを通じてインフラの一歩目を学んでほしい」**という想いも込めてます
まとめ
- Kagoya VPSでも10分でマイクラサーバーが構築できる!
- Java 17必須!
java-17-openjdkを明示的に入れよう -
screenを使えば、初心者でもバックグラウンド起動が簡単 -
firewalldの起動とポート開放は明示的に設定するべし