本文へスキップ
Minecraft

Minecraftサーバーを構築する

このガイドでは、WindowsまたはUbuntu/DebianのLinux VPSにMinecraft Java Edition(VanillaまたはPaper)サーバーを構築し、ポート25565を開放して自動起動させます。所要時間は20〜40分。重要なのはRAM(少人数なら最低4GB推奨、プラグインがあればそれ以上)と、ゲームのバージョンに合ったJavaです。

最終更新日:2026/10/9

このガイドでは、WindowsまたはUbuntu/DebianのLinux VPSにMinecraft Java Edition(VanillaまたはPaper)サーバーを構築し、ポート25565を開放して自動起動させます。所要時間は20〜40分。重要なのはRAM(少人数なら最低4GB推奨、プラグインがあればそれ以上)と、ゲームのバージョンに合ったJavaです。

手順ごとのインストール

  1. ソフトウェアを選びます:Vanilla(Mojang公式)またはPaper(プラグイン対応、高性能)。

  2. お使いのMinecraftのバージョンが要求するJavaをインストールします。

  3. 専用フォルダを作成し、サーバーの.jarを置きます。

  4. java -Xms -Xmx -jar … --noguiで一度起動します。EULAへの同意を求めて停止します。

  5. eula.txtをeula=trueに編集して再起動すると、ワールドが生成されserver.propertiesが作られます。

  6. ローカルでテスト:マルチプレイ > サーバーを追加 > localhost。

  7. 当サイトのツールでserver.properties(online-mode、white-list、motd、max-playersなど)を設定します。

  8. マシン、プロバイダー、ルーターのファイアウォールでポート25565/TCPを開放します。

  9. 自動起動とクラッシュ後の復旧のため、systemdサービス(Linux)を作成します。

  10. バックアップと再起動をスケジュールし、game-rank.comにサーバーを登録します。

1. 前提条件

必要スペックはプレイヤー数やプラグインで大きく変わります。以下のRAM量は目安で、PaperMCのドキュメントはプレイヤー数に関係なく、フラグ適用時に6〜10GBを推奨しています。

  • Java:PaperMCによると、現行のPaperはJava 25以上が必要で、1.20〜1.21.11はJava 21、1.17〜1.19はJava 17です。お使いのバージョンはPaperMCのGetting startedで確認してください。
  • OS:Windows 10/11、Windows Server、またはLinux(本ガイドではUbuntu/Debian)。CPU:シングルコア性能が最重要です(ゲームは主にシングルスレッド)。
  • RAMの目安:プラグインなしの少人数なら2〜4GB、コミュニティなら6〜10GB以上(Aikar's flags参照)。OS用に1〜1.5GBを残します。ディスク:SSDで、数GBにワールドサイズを加えた容量。
  • アカウント:ホストにライセンスキーは不要ですが、online-mode=trueで接続するプレイヤーはMinecraft Javaを所有している必要があります。MinecraftのEULAに同意してください。

2. ローカルインストール(Windows)

Vanillaのjarはminecraft.net(サーバーのダウンロードページ)、Paperはpapermc.io/downloadsから、C:\minecraftのような空のフォルダにダウンロードします。下記の内容でstart.batを作成し(jar名とRAMは調整するか、当サイトの「launch-flags」ツールで生成)、実行後にeula.txtでeula=trueにして再実行します。接続先はlocalhostです。

@echo off
cd /d C:\minecraft
java -Xms4G -Xmx4G -jar paper.jar --nogui
pause

3. Linux VPSへのインストール(Ubuntu/Debian)

root以外の専用ユーザーを作成し、Javaをインストールします(openjdkパッケージは必要なバージョンに合わせてください。ディストリビューションに無い場合はAdoptiumなどJDK提供元のリポジトリを使用)。papermc.io/downloadsから目的のビルドのリンクをコピーしてjarをダウンロードします。<JARのURL>をそのリンクに置き換えてください。

sudo adduser --system --group --home /opt/minecraft minecraft
sudo apt update && sudo apt install -y openjdk-21-jre-headless curl
sudo -u minecraft mkdir -p /opt/minecraft
sudo -u minecraft curl -L -o /opt/minecraft/paper.jar "<JAR_URL>"
# Generate start.sh with the launch-flags tool, then:
sudo chmod +x /opt/minecraft/start.sh
cd /opt/minecraft && sudo -u minecraft ./start.sh   # first run, then set eula=true in eula.txt

4. 開放するポート

Minecraft Wikiに基づく既定値です(server.properties)。ポートを変更するにはserver-port、query.port、rcon.portを編集します。変更した場合は新しいポートを開放してください。

  • 25565/TCP — プレイヤーの接続(server-port)。開放が必要です。
  • 25565/UDP — 「query」リクエスト(enable-query=falseが既定、query.portはUDPポート)。有効にする場合のみ開放します。
  • 25575/TCP — RCON(enable-rcon=falseが既定)。インターネットには公開せず、ローカルまたはVPN内で使用してください。
  • プロバイダーのファイアウォール(OVH、Hetzner、Scalewayなどの「セキュリティグループ」/ネットワークFW)でも、OSのファイアウォールに加えて25565/TCPを許可してください。
  • 自宅ホスティング:ルーターから25565/TCPをPCのローカルIPへ転送します(NAT)。テスト:外部(モバイル回線)からMinecraftに公開IPを追加するか、「nc -vz IP 25565」を実行します。
# Linux (ufw)
sudo ufw allow 25565/tcp
sudo ufw status

# Windows (PowerShell administrateur / admin)
# netsh advfirewall firewall add rule name="Minecraft Java" dir=in action=allow protocol=TCP localport=25565

5. 自動起動(systemdサービス)

このファイルを/etc/systemd/system/minecraft.serviceとして保存し、sudo systemctl daemon-reload && sudo systemctl enable --now minecraftを実行します。停止時にsystemdがSIGTERMを送り、Javaサーバーがそれを受けてワールドを正しく保存します。start.shの再起動ループは無効にしてください(Restart=on-failureが担当)。対話コンソールにはscreen/tmuxまたはRCONを使います。Windowsでは「起動時」のタスクスケジューラでstart.batを実行します。代替:当サイトのdocker-composeツールによるDocker。

[Unit]
Description=Minecraft Java server
After=network-online.target
Wants=network-online.target

[Service]
User=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/opt/minecraft/start.sh
Restart=on-failure
RestartSec=10
TimeoutStopSec=120

[Install]
WantedBy=multi-user.target

6. 更新・バックアップ・再起動

更新:サーバーを停止してバックアップし、.jarを新バージョンに置き換えて(同名にするかstart.shを更新)再起動します。Javaのバージョンが引き続き適合するか確認してください。Paperではメジャーバージョンアップ前にリリースノートを読みましょう。下のスクリプトはサーバー停止中にワールドをアーカイブします(稼働中のコピーより安全)。cronで毎晩4時などに実行し、古いアーカイブは削除してください。

#!/bin/bash
# /opt/minecraft/backup.sh (run as root via cron: 0 4 * * * /opt/minecraft/backup.sh)
set -e
systemctl stop minecraft
mkdir -p /opt/minecraft-backups
tar -czf /opt/minecraft-backups/world-$(date +%F).tar.gz -C /opt/minecraft world world_nether world_the_end
systemctl start minecraft
find /opt/minecraft-backups -name 'world-*.tar.gz' -mtime +14 -delete

7. サーバーを登録する

サーバーが外部から接続できるようになったら、game-rank.com/jeux/minecraft(これらのツールの運営者のサイト)に登録して、プレイヤーに見つけてもらいましょう。安定したアドレス(ドメインまたは固定IP)と、25565以外ならポートを指定してください。

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

  • 「You need to agree to the EULA」:eula.txtでeula=trueにして再起動します。
  • UnsupportedClassVersionError /「class file version」:このjarに対してJavaが古すぎます。必要なバージョン(前提条件参照)をインストールし、「java -version」で確認してください。
  • 「Failed to bind to port」:ポート25565が既に使用中です(別のサーバーや古いプロセス)。そのプロセスを停止するかserver-portを変更してください。
  • ローカルのプレイヤーは接続できるがインターネット側は不可:OSまたはプロバイダーのファイアウォール規則やポート転送の不足が原因です。CGNAT(公開IPのない回線)配下でないかも確認してください。その場合はVPSを使います。
  • 「Can't keep up!」とラグ:サーバーが過負荷です。Paperを使い、Aikar's flagsを適用し、view-distanceとsimulation-distanceを下げ、sparkプロファイラでTPSを監視してください。

よくある質問

VanillaとPaperのどちらを選ぶべき?
VanillaはMojang公式のソフトウェアです。Paperはプラグインに対応し性能を高めたコミュニティ製サーバーで、コミュニティ運営の定番です。どちらも同じserver.propertiesを使います。
Bedrock版のプレイヤーは参加できますか?
直接はできません。JavaとBedrockはプロトコルが異なります。コミュニティ製の解決策(非公式、別途調査が必要)もありますが、そうでなければ専用のBedrockサーバーを構築してください(当サイトのBedrockガイド参照)。
online-mode=trueのままにすべきですか?
はい。適切に設定したプロキシ(Velocity/BungeeCord)の背後を除きます。falseにするとアカウント認証が無効になり、オペレーターを含め誰でも名前を偽装できます。
サーバーは何人まで耐えられますか?
主にシングルコアCPU、描画距離、プラグイン、ワールドサイズで決まります。公式の数値はありません。TPS(20が理想)とRAMを見ながら徐々に増やしてください。

Minecraftサーバー用ツール

server.properties エディタツールのスクリーンショットMinecraftログイン不要
Minecraft Javaサーバーを設定:プレイヤー、ワールド、パフォーマンス、ホワイトリスト、RCON。
設定Java Edition開く
ドキュメント
Minecraft
Minecraftログイン不要
Paper・Purpur・Fabric・Vanilla用のstart.shを生成:RAM、Aikar's flags、--nogui、自動再起動、GCログ。
起動パフォーマンス開く
ドキュメント
Minecraft
Minecraftログイン不要
2行のカラフルなMOTDをライブプレビュー付きで作成:§コード、16進カラー、server.properties用の行、MiniMessage。
MOTDカラー開く
ドキュメント
Minecraft
Minecraft要ログイン
Bukkit・Spigot・PaperのYAMLファイルを編集。主要キーの解説、既定値、インデントエラー検出付き。
YAML設定開く
ドキュメント
Minecraft
Minecraftログイン不要
ユーザー名の一覧からwhitelist.jsonとops.jsonを生成。オフラインUUIDはローカルで計算し、通信やMojangへの問い合わせは不要です。
プレイヤー管理開く
ドキュメント
Minecraft
Minecraftログイン不要
Minecraftのワールドボーダーの半径、チャンク数、リージョン数、事前生成時間、ディスク容量、読み込みチャンクを計算します。
ワールドパフォーマンス開く
ドキュメント
Minecraft
Minecraftログイン不要
itzg/minecraft-serverイメージ用のdocker-compose.ymlを生成:サーバー種別、バージョン、メモリ、人数、RCON、OP、ホワイトリスト。
Dockerデプロイ開く
ドキュメント