このガイドでは、WindowsまたはUbuntu/DebianのLinux VPSにMinecraft Java Edition(VanillaまたはPaper)サーバーを構築し、ポート25565を開放して自動起動させます。所要時間は20〜40分。重要なのはRAM(少人数なら最低4GB推奨、プラグインがあればそれ以上)と、ゲームのバージョンに合ったJavaです。
手順ごとのインストール
ソフトウェアを選びます:Vanilla(Mojang公式)またはPaper(プラグイン対応、高性能)。
お使いのMinecraftのバージョンが要求するJavaをインストールします。
専用フォルダを作成し、サーバーの.jarを置きます。
java -Xms -Xmx -jar … --noguiで一度起動します。EULAへの同意を求めて停止します。
eula.txtをeula=trueに編集して再起動すると、ワールドが生成されserver.propertiesが作られます。
ローカルでテスト:マルチプレイ > サーバーを追加 > localhost。
当サイトのツールでserver.properties(online-mode、white-list、motd、max-playersなど)を設定します。
マシン、プロバイダー、ルーターのファイアウォールでポート25565/TCPを開放します。
自動起動とクラッシュ後の復旧のため、systemdサービス(Linux)を作成します。
バックアップと再起動をスケジュールし、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
pause3. 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.txt4. 開放するポート
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=255655. 自動起動(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.target6. 更新・バックアップ・再起動
更新:サーバーを停止してバックアップし、.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 -delete7. サーバーを登録する
サーバーが外部から接続できるようになったら、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を見ながら徐々に増やしてください。

