マイクラJava版のマルチサーバーは、自宅PCなら追加費用ほぼゼロで立てられます。ただし外部の友達を招くにはポート開放が必要で、そのリスクを自分で管理できるかが自宅PCとVPSの分かれ目です。手軽さと安全を優先するならVPS、費用を抑えつつ仕組みを学びたいなら自宅PCが向いています。この記事では両方式の比較に加え、VPSでの実際の構築手順を3方式で解説します。 VPSで立てる場合は、Linux OS(Ubuntu)の初期設定とDocker Engineの導入を先に済ませておくとスムーズです。

立て方は3系統ある

サーバーの用意には、レンタルサーバー(VPS)・自宅PC・公式Realmsの3系統があります。 この記事では、比較検討されることが多い自宅PCとVPSの2つを掘り下げます。

自宅PCで立てる流れ

自宅PC(Windows)での構築は、次の流れです(基本手順: Minecraft Wikiのチュートリアル)。

  1. server.jarを公式サイト(minecraft.net)からダウンロードする
  2. バージョンに応じたJavaをインストールする(26.1以降はJava 25、1.20.5〜1.21.11はJava 21)
  3. 初回起動し、eula.txtのeula=falseをtrueに変更する。WindowsではDefenderの通信許可も行う。
  4. java -Xms1G -Xmx2G -jar server.jar --nogui の形式で起動する
  5. ゲーム内から「localhost」でローカル接続を確認する
  6. 外部公開する場合、ルーターで既定ポート25565を自PCへポート転送する
  7. 開放状態を外部サイトで確認し、友達にグローバルIPアドレスを伝えて接続してもらう

サーバーソフトは公式配布で無料です。自宅PCで建てる場合は電気代と自宅ネットワークに対するセキュリティリスクが発生します。

比較表: どちらを選ぶか

判断軸自宅PCVPS
費用サーバーソフトは無料。電気代がかかる月額数百円ほど〜(プランによる)
手間JDK導入・ポート開放など複数のステップテンプレートがあるVPSであれば起動するだけ
安全性ポート開放のリスク管理を自分で行う自宅回線を晒さない。DDoS対策付きのサービスもある
稼働時間PCを点けている間のみ24時間稼働

「費用を抑えて仕組みを学びたい」「遊ぶのは同じ家の中か友人限定」なら自宅PC、「不特定の参加者を迎える」「常時稼働させたい」ならVPSが安全側の選択です。 ここからは、VPS(Ubuntu)での構築手順を3方式で解説します。

VPSでの構築: 方式の選び方

方式手軽さ自由度破棄・再構築向いている人
VPSテンプレート◎ 申し込みだけ△ パネル操作が中心○ サーバーごと作り直しコマンド操作を避けたい
Docker(推奨)○ コマンド数回○ 環境変数で設定◎ 1ディレクトリで完結多くの人におすすめ
直接構築△ 手順が多い◎ すべて自分で管理△ 手作業でやり直し仕組みを理解したい

当サイトがDockerを推奨する理由は、手順が簡易なこと(Javaの導入も不要)と、環境の破棄・再構築が容易なことです。 特にマイクラは本体のバージョンごとに要求されるJavaのバージョンが変わるため、Javaごと入れ替えられるDockerと相性がよいです。

Linux OSの初期設定(SSH・ufw)はゲームサーバー用Linux OS(Ubuntu)の初期設定を参照してください。 以降はSSHでログインできる状態から始めます。

方式1: VPSテンプレートで立てる(いちばん簡単)

国内大手のVPS(ConoHa for GAMEやXServer VPS for Game)の場合、提供機能に大きな差分はありません。Minecraft(Java版、統合版)や各種Modサーバーのテンプレート、独自のブラウザコンソール(Minecraft managerなど)、DDoS対策機能がひととおり提供されています。 申し込み画面からMinecraftのテンプレートイメージを選択し、手順通りに操作することで簡単に構築可能です。

方式2: Dockerで立てる(推奨)

通常のlinux OSにDockerで立てる手順です。ホストマシンへのJavaの導入は不要です(イメージに含まれます)。 以下の手順はUbuntuを前提に記載します。

Docker Engineを導入する

UbuntuにDocker Engineを導入する手順を参照してください。

使用するイメージ

Mojang公式のDockerイメージはありません。 本手順ではコミュニティ最大手のitzg/docker-minecraft-serverを使います。バージョンやModサーバー種別(Forge、Paper等)も環境変数だけで切り替えられます。

compose.yamlを作成する

作業ディレクトリを作り、設定ファイルcompose.yamlを作成します。

mkdir -p ~/mc-server && cd ~/mc-server

次のコマンドをまるごと貼り付けるとcompose.yamlが作成されます。

cat <<'EOF' > compose.yaml
services:
  minecraft:
    image: itzg/minecraft-server:java25
    container_name: mc-server
    restart: unless-stopped
    ports:
      - "25565:25565"
    environment:
      EULA: "TRUE"
      MEMORY: "2G"
      MOTD: "<サーバーの説明文>"
    volumes:
      - ./data:/data
EOF

主な環境変数は次のとおりです。

環境変数意味
EULATRUE必須。MojangのEULAへの同意(未設定だと起動しない)
MEMORYJavaヒープの割り当て(例: 2G)
VERSIONマイクラのバージョン(既定は最新リリース)
TYPEサーバー種別。PAPERやFABRICに切替可
MOTDサーバー一覧に表示される説明文

メモリ量やMOTDなどの条件を選ぶだけで、自動バックアップ込みのcompose.yamlをマイクラサーバー設定ジェネレーターでも生成できます。

起動して確認する

sudo docker compose up -d
sudo docker compose logs -f

初回はサーバー本体のダウンロードとワールド生成が走ります。ログにDone (~s)! For help, type "help"が出れば起動完了です(Ctrl+Cでログ表示から抜けられます)。Java版のポートはTCP 25565です。

ss -ltn | grep 25565

更新・停止・破棄

バージョン更新は、イメージを取得し直して起動するだけです(VERSION未指定なら最新リリースへ追従)。

sudo docker compose pull
sudo docker compose up -d

停止はsudo docker compose downです。ワールドと設定は./dataに残ります。ワールドを作り直す場合はdownのあとにsudo rm -rf ./dataで削除してから再度upします。

この./dataは、サーバーを止めないまま自動でバックアップできます。手順はmc-backupによる自動バックアップにまとめています。

方式3: 直接構築する(server.jar)

コンテナを使わず、公式配布のserver.jarで立てる手順です。自宅PC方式と同じ流れをUbuntuで行います。

Javaを導入する

現行の26.x系はJava 25が必要です。Ubuntu 24.04では標準リポジトリから導入できます。

sudo apt update
sudo apt install -y openjdk-25-jre-headless
java -version

専用ユーザーを作成しserver.jarを配置する

sudo adduser --disabled-password --gecos "" minecraft
sudo -iu minecraft
mkdir server && cd server

server.jarは公式サイト(minecraft.net)のサーバーダウンロードページからリンクをコピーし、wgetで取得します。

wget "<コピーしたserver.jarのURL>"

初回起動とEULA同意

一度起動すると、EULA同意を求めるメッセージとともにeula.txtが生成されて止まります。

java -Xms1G -Xmx2G -jar server.jar --nogui
sed -i "s/eula=false/eula=true/" eula.txt

同意を設定したら本起動します(起動コマンドの形式はMinecraft Wikiに基づく)。

java -Xms1G -Xmx2G -jar server.jar --nogui

ログにDone (~s)! For help, type "help"が出れば起動完了です。動作を確認したら、コンソールにstopと入力して停止します。exitで管理ユーザーに戻ります。

-Xmsと-XmxはJavaに割り当てるメモリです。人数やMODに応じた目安はマイクラサーバーのメモリ目安にまとめています。 MODサーバーを立てたい場合はFabricサーバーの立て方で解説しています。

サーバー名や人数などの設定はserver.propertiesで行います。主要項目はserver.properties設定解説を参照してください。

systemdで常時起動にする

次のコマンドをまるごと貼り付けるとユニットファイルが作成されます。異常終了時の自動復帰やRCONを使った安全な停止まで詰めるなら、自動起動・自動再起動の記事で解説しています。

sudo tee /etc/systemd/system/minecraft.service <<'EOF'
[Unit]
Description=Minecraft Java Server
Wants=network-online.target
After=network-online.target

[Service]
User=minecraft
WorkingDirectory=/home/minecraft/server
ExecStart=/usr/bin/java -Xms1G -Xmx2G -jar server.jar --nogui
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo systemctl status minecraft

ポート開放と接続確認

ufwを使っている場合は、ゲームポートを開放します(Java版はTCP)。

sudo ufw allow 25565/tcp

VPS側の管理画面にパケットフィルターやセキュリティグループがある場合は、そちらでも同じポートを許可します。

接続は、ゲームの「マルチプレイ」→「サーバーを追加」でVPSのIPアドレスを入力します。不特定の参加者を迎える場合は、server.propertiesのホワイトリストを必ず有効にしてください。

よくある質問

無料でサーバーを立てられますか

サーバープログラム(server.jar)は公式サイトから無料でダウンロードできます。自宅PCなら追加費用は電気代程度、VPSは月額費用がかかります。

Javaのバージョンはどれを入れればよいですか

本体のバージョンで決まります。26.1以降はJava 25、1.20.5〜1.21.11はJava 21です。Docker方式ならJavaバージョン付きタグ(例: java25)を選ぶだけで済みます。

まとめ

  • 判断軸は「ポート開放のリスクを自分で管理できるか」。自宅PCは学びになるが対策が自己責任、VPSは自宅回線を晒さない
  • VPSでの構築は「テンプレート」「Docker(推奨)」「直接構築」の3方式

参考リンク