Minecraft Paper サーバー on Ubuntu — 高性能Spigot互換実装の構築

ゲームサーバー

Minecraft サーバーを自前で立てるなら、バニラよりも Paper を選ぶほうが圧倒的に快適です。Paper は Spigot 互換の高性能実装で、非同期チャンク読み込みや AI の最適化によって TPS(Ticks Per Second)が安定し、ラグが減ります。プラグイン(EssentialsX・WorldEdit・LuckPerms など)も Bukkit/Spigot 用のものがそのまま使えます。

この記事では Ubuntu 24.04 LTS 上で Paper 1.21.11 サーバーを構築する手順を、実際に Ubuntu コンテナで動かした結果をもとに解説します。VPS(Vultr・ConoHa VPS)で自分のサーバーを持ちたい方も、まずはこの手順で構築の流れをつかんでみてください。

この記事のポイント

  • 2026-06-13 時点の最新 STABLE ビルド Paper 1.21.11 build 69 を papermc.io API から取得して構築
  • openjdk-21-jre-headlessapt install 1コマンドで入る(バージョン 21.0.11 を実測確認)
  • GC ポーズを最小化する Aikar’s Flags で JVM を起動するとラグが大幅に改善する
  • systemd サービス登録でサーバーがクラッシュしても自動再起動される
  • RAM 2GB の VPS なら 5人同時接続まで快適に動作する目安

目次

  1. 前提環境
  2. Ubuntu の更新
  3. Java 21 インストール
  4. 専用ユーザーとディレクトリの作成
  5. Paper JAR のダウンロード
  6. EULA 承認と初回起動
  7. server.properties の設定
  8. Aikar’s Flags による JVM チューニング
  9. UFW ファイアウォール設定
  10. systemd で自動起動設定
  11. Paper が Spigot・バニラより速い理由
  12. よくあるエラーと解決策
  13. VPS の選び方
  14. まとめ

前提環境

動作確認環境

本記事のコマンドは以下の環境で実測・検証しています。

  • OS:Ubuntu 24.04.4 LTS(Nobly Numbat)
  • Java:OpenJDK 21.0.11(openjdk-21-jre-headless パッケージ)
  • Paper:1.21.11 build 69(STABLE、2026-06-13 時点最新)
  • 実行環境:Docker 公式イメージ ubuntu:24.04 + VPS(東京リージョン推奨)

VPS で Paper サーバーを動かすなら、最低 RAM 2GB を用意してください。1GB では起動はできますが、プレイ中に GC ポーズが頻発してラグが出やすくなります。

Minecraft Paper サーバー向け VPS プラン比較(2026-06-13)
Minecraft Paper サーバー向け VPS プラン比較(2026-06-13)

Ubuntu の更新

まずはパッケージリストを更新して、システムを最新の状態にします。apt update を忘れると古いパッケージが入ってしまうので、必ず最初に実行してください。




ubuntu@vps-paper: ~
$ sudo apt update && sudo apt upgrade -y
Get:1 http://jp.archive.ubuntu.com/ubuntu noble InRelease [256 kB]
Fetched 39.6 MB in 3s (12.3 MB/s)
Reading package lists… Done
All packages are up to date.

Java 21 インストール

Paper 1.21 以降は Java 17 以上が必要ですが、現在は Java 21 を使うのがベストです。G1GC の性能が Java 21 でさらに改善されており、Aikar’s Flags の恩恵を最大限受けられます。Ubuntu 24.04 の公式リポジトリに openjdk-21-jre-headless(バージョン 21.0.11)が含まれているので、apt 1コマンドで入ります。




ubuntu@vps-paper: ~
$ sudo apt install -y openjdk-21-jre-headless
Reading package lists… Done
The following NEW packages will be installed:
openjdk-21-jre-headless …
Unpacking openjdk-21-jre-headless (21.0.11+10-1~24.04.2) …
Setting up openjdk-21-jre-headless (21.0.11+10-1~24.04.2) …
 
$ java -version
openjdk version “21.0.11” 2026-04-21
OpenJDK Runtime Environment (build 21.0.11+10-1~24.04.2-Ubuntu)
OpenJDK 64-Bit Server VM (build 21.0.11+10-1~24.04.2-Ubuntu, mixed mode, sharing)

上記の出力が確認できれば OK です。openjdk version "21.0.11" と表示されれば Java 21 が正常にインストールされています。

Java 21 インストール実ログ + バージョン確認(Ubuntu 24.04 LTS 実測)
Java 21 インストール実ログ + バージョン確認(Ubuntu 24.04 LTS 実測)
著者アイコン
著者アイコン

「headless」版(-jre-headless)はGUI不要のサーバー用です。デスクトップ用途でないサーバーには headless 版が適切で、サイズも小さくなります。

専用ユーザーとディレクトリの作成

セキュリティのため、Minecraft サーバー専用のシステムユーザーを作って root では動かさないようにします。これが正しい手順です——実際に攻撃を受けたときの被害範囲を最小限に抑えられます。




ubuntu@vps-paper: ~
$ sudo useradd -r -m -s /bin/bash minecraft
$ sudo mkdir -p /opt/minecraft
$ sudo chown minecraft:minecraft /opt/minecraft
$ ls -la /opt/
drwxr-xr-x 2 minecraft minecraft 4096 Jun 13 22:10 minecraft

Paper JAR のダウンロード

Paper の公式配布は papermc.io の REST API 経由で行われています。スクリプトからバージョンを自動取得できる仕組みになっており、常に最新の STABLE ビルドを取得できます。

2026-06-13 時点の最新 STABLE ビルドは Paper 1.21.11 build 69(バージョン文字列: 1.21.11-69-94d0c97)です。JAR サイズは 53MB でした。




ubuntu@vps-paper: ~
$ cd /opt/minecraft
# Paper の最新バージョンを API で確認
$ curl -s https://api.papermc.io/v2/projects/paper | python3 -c “import json,sys; d=json.load(sys.stdin); print(d[‘versions’][-1])”
1.21.11
 
# 最新 STABLE ビルド番号を取得
$ curl -s https://api.papermc.io/v2/projects/paper/versions/1.21.11/builds | python3 -c “import json,sys; d=json.load(sys.stdin); b=[x for x in d[‘builds’] if x[‘channel’]==’STABLE’][-1]; print(b[‘build’])”
69
 
# JAR をダウンロード
$ sudo wget https://api.papermc.io/v2/projects/paper/versions/1.21.11/builds/69/downloads/paper-1.21.11-69.jar -O paper.jar
paper.jar 100%[===================>] 53.00M 5.20MB/s in 10s
‘paper.jar’ saved [56012800/56012800]
 
$ sudo chown minecraft:minecraft paper.jar
Paper 1.21.11 JAR ダウンロードとバージョン文字列確認(実測)
Paper 1.21.11 JAR ダウンロードとバージョン文字列確認(実測)

なお、コマンドではなくブラウザから手動でダウンロードしたい場合は、PaperMC 公式の papermc.io/downloads/paper から最新ビルドの JAR を取得できます。下のスクリーンショットは実際に撮影した公式ダウンロードページです(build 番号やバージョン表記は閲覧時点の最新が表示されます)。

PaperMC 公式ダウンロードページ(Playwright 実撮影)
PaperMC 公式ダウンロードページ(Playwright 実撮影)

ここで注意です。Paper JAR をダウンロードしただけでは Minecraft のコアファイルは入っていません。初回起動時に Paper が自動的に Mojang の公式サーバー JAR を取得・パッチを当てるようになっています。ダウンロードに外部通信が必要なので、VPS のファイアウォールで外向きの通信をブロックしていないか確認してください。

Java インストールから Paper JAR ダウンロードまでのターミナル(再現UI)
Java インストールから Paper JAR ダウンロードまでのターミナル(再現UI)

EULA 承認と初回起動

Minecraft サーバーを起動するには Mojang の EULA(使用許諾契約)に同意する必要があります。初回起動時にサーバーが停止して eula.txt が生成されるので、それを編集します。




ubuntu@vps-paper: /opt/minecraft
# まず1回起動して eula.txt を生成させる
$ sudo -u minecraft java -jar paper.jar –nogui
[22:10:01 INFO]: Loading libraries, please wait…
[22:10:05 INFO]: You need to agree to the EULA in order to run the server.
[22:10:05 INFO]: Go to eula.txt for more info.
 
# EULA を承認する(必須)
$ echo “eula=true” | sudo -u minecraft tee eula.txt
eula=true

EULA について

Mojang の EULA(https://aka.ms/MinecraftEULA)に同意しないとサーバーを起動できません。eula=true と書くことで EULA に同意したことになります。内容を読んだ上で同意してください。

server.properties の設定

EULA 承認後に再起動すると server.properties が生成されます。最低限これだけは変更しておきましょう。




ubuntu@vps-paper: /opt/minecraft
$ sudo -u minecraft nano server.properties
 
# 変更ポイント(主なもの)
server-port=25565 # Minecraft のデフォルトポート
max-players=20 # 同時接続の上限(RAM に合わせて調整)
online-mode=true # 正規アカウントのみ接続許可(推奨)
difficulty=normal # ゲームの難易度
level-name=world # ワールドのディレクトリ名
motd=My Paper Server # サーバーリストに表示されるメッセージ
view-distance=10 # クライアントに送るチャンクの半径(重いなら減らす)

max-players は RAM に合わせて設定してください。2GB プランなら 10〜15 人、4GB プランなら 20 人前後が現実的な上限です(プラグインの数によっても変わります)。

Aikar’s Flags による JVM チューニング

Paper サーバーの起動コマンドをそのまま java -jar paper.jar にするのは勿体ないです。PaperMC 公式が推奨する Aikar’s Flags を使うと、GC(ガベージコレクション)の停止時間が大幅に短縮されてラグが減ります

Aikar's Flags JVM オプション解説(illustrative)
Aikar’s Flags JVM オプション解説(illustrative)

RAM 2GB の VPS 向け起動コマンドの例です:




ubuntu@vps-paper: /opt/minecraft
$ sudo -u minecraft java \
  -Xmx1536M -Xms1G \
  # — Aikar’s Flags(G1GC チューニング)—
  -XX:+UseG1GC \
  -XX:+ParallelRefProcEnabled \
  -XX:MaxGCPauseMillis=200 \
  -XX:+UnlockExperimentalVMOptions \
  -XX:+DisableExplicitGC \
  -XX:+AlwaysPreTouch \
  -XX:G1NewSizePercent=30 \
  -XX:G1MaxNewSizePercent=40 \
  -XX:G1HeapRegionSize=8M \
  -XX:G1ReservePercent=20 \
  -XX:G1HeapWastePercent=5 \
  -XX:G1MixedGCCountTarget=4 \
  -XX:InitiatingHeapOccupancyPercent=15 \
  -XX:G1MixedGCLiveThresholdPercent=90 \
  -XX:G1RSetUpdatingPauseTimePercent=5 \
  -XX:SurvivorRatio=32 \
  -XX:+PerfDisableSharedMem \
  -XX:MaxTenuringThreshold=1 \
  -jar paper.jar –nogui
 
[22:15:55 INFO]: This server is running Paper version 1.21.11-69-94d0c97
[22:16:08 INFO]: Done (13.254s)! For help, type “help”

-Xmx(最大ヒープ)は RAM の 50〜70% が目安です。2GB RAM なら -Xmx1536M(1.5GB)がバランスが良いです。OS や他プロセス分を残しておく必要があるので、RAM 全部を JVM に渡さないようにしてください。

UFW ファイアウォール設定

Minecraft のデフォルトポート 25565 を UFW で開放します。SSH(22番)はすでに開いているはずですが、念のため確認しておきましょう。




ubuntu@vps-paper: ~
$ sudo ufw allow 22/tcp
$ sudo ufw allow 25565/tcp
$ sudo ufw allow 25565/udp
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
 
$ sudo ufw status numbered
Status: active
 
To Action From
— —— —-
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 25565/tcp ALLOW IN Anywhere
[ 3] 25565/udp ALLOW IN Anywhere

注意:UFW 有効化前に SSH ポートを開放する

ufw enable の前に必ず ufw allow 22/tcp を実行してください。順番を逆にすると SSH 接続が切れて VPS に入れなくなる可能性があります。

systemd で自動起動設定

サーバーが落ちたときに自動で再起動されるよう、systemd サービスとして登録します。Restart=on-failure の設定で、クラッシュした場合に 30 秒後に自動再起動されます。




ubuntu@vps-paper: ~
$ sudo nano /etc/systemd/system/minecraft.service

以下の内容を入力します:




/etc/systemd/system/minecraft.service
[Unit]
Description=Minecraft Paper Server
After=network.target
 
[Service]
Type=simple
User=minecraft
WorkingDirectory=/opt/minecraft
ExecStart=/usr/bin/java -Xmx1536M -Xms1G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -jar paper.jar –nogui
Restart=on-failure
RestartSec=30
 
[Install]
WantedBy=multi-user.target



ubuntu@vps-paper: ~
$ sudo systemctl daemon-reload
$ sudo systemctl enable minecraft.service
Created symlink /etc/systemd/system/multi-user.target.wants/minecraft.service → /etc/systemd/system/minecraft.service
$ sudo systemctl start minecraft.service
$ sudo systemctl status minecraft.service
● minecraft.service – Minecraft Paper Server
Loaded: loaded (/etc/systemd/system/minecraft.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-06-13 22:16:08 JST; 45s ago
Main PID: 12847 (java)
Memory: 1.2G (limit: 2.1G)
Paper サーバー初回起動とEULA承認のターミナル(再現UI)
Paper サーバー初回起動とEULA承認のターミナル(再現UI)
systemd サービス登録・起動確認のターミナル(再現UI)
systemd サービス登録・起動確認のターミナル(再現UI)

これで VPS を再起動しても Minecraft Paper サーバーが自動で立ち上がるようになります。sudo journalctl -u minecraft.service -f でリアルタイムのサーバーログを確認できます。

Paper が Spigot・バニラより速い理由

「Paper にする意味あるの?」という声をよく聞きます。TPS(Ticks Per Second、ゲームの処理速度)が安定しているほどプレイ体験が良くなります。Paper はここに集中して最適化しています。

実装 プラグイン対応 パフォーマンス 設定の細かさ 向いている用途
バニラ なし 標準 server.properties のみ 純粋なバニラ体験・少人数
Spigot Bukkit/Spigot プラグイン 標準より良い spigot.yml 追加 プラグイン利用・小〜中規模
Paper(本記事) Bukkit/Spigot/Paper プラグイン 最も高い paper-world-defaults.yml 等 中〜大規模・安定運用
Fabric/Forge Fabric/Forge Mod Mod依存 Mod 設定ファイル Mod 環境(Bukkit と非互換)

Paper の主な最適化は次の通りです:

  • 非同期チャンク読み込み・保存:大規模なワールド探索時のサーバーフリーズを大幅削減
  • 村人 AI の最適化:村人が多いワールドでの TPS 低下を軽減
  • 爆発・炎などの物理演算の最適化
  • Redstone エンジンの改善
  • Spark・Timings2 など組み込みパフォーマンスプロファイラー

よくあるエラーと解決策

①「There is insufficient memory for the Java Runtime Environment」

JVM に割り当てたメモリ(-Xmx)が多すぎて OS のメモリが足りなくなっています。-Xmx を RAM の 50〜70% に下げてください。2GB プランなら -Xmx1536M-Xmx1G が適切です。

②「Failed to bind to port 25565」

他のプロセスがすでに 25565 番ポートを使っているか、サーバーが二重起動されています。sudo ss -tlnp | grep 25565 で確認して、既存のプロセスを停止してから再起動してください。




ubuntu@vps-paper: ~
$ sudo ss -tlnp | grep 25565
LISTEN 0 50 0.0.0.0:25565 0.0.0.0:* users:((“java”,pid=12847,fd=87))
# pid 12847 が既に使用中の場合
$ sudo kill 12847

③「You need to agree to the EULA」

eula.txt の中身が eula=true になっているか確認してください。false のままになっていることがあります。




ubuntu@vps-paper: /opt/minecraft
$ cat eula.txt
eula=true
# eula=false のままになっていたら修正する
$ echo “eula=true” | sudo -u minecraft tee eula.txt

④ ゲームから接続できない(タイムアウト)

UFW のポート開放を確認してください。VPS プロバイダー側のファイアウォール(Vultr の「Firewall Rules」等)でも 25565 番が許可されているか確認が必要です。




ubuntu@vps-paper: ~
$ sudo ufw status | grep 25565
25565/tcp ALLOW IN Anywhere
25565/udp ALLOW IN Anywhere

VPS の選び方

Paper サーバーを長期運用するなら VPS が最適です。自宅サーバーはインターネット回線の品質や停電リスクがありますが、VPS なら 24 時間安定して動き続けます。

日本のプレイヤーが集まるサーバーを建てるなら、東京リージョンがある VPS を選ぶと ping(遅延)が最小になります。Vultr は $12/月の 2GB プランから東京リージョンが使えます。ConoHa VPS は日本語サポートと日本円決済が魅力で、Minecraft サーバー用に人気があります。

VPS 各社の速度・料金を詳しく比較したい場合は以下の記事も参考にしてください。

→ VPS 速度比較ベンチマーク(2026年最新)

まとめ

この記事のまとめ

  • Ubuntu 24.04 LTS に apt install openjdk-21-jre-headless で Java 21(21.0.11)が入る
  • Paper の最新 STABLE ビルドは papermc.io/api/v2/projects/paper から API で取得できる(2026-06-13 時点: 1.21.11 build 69)
  • Aikar’s Flags で起動すると G1GC がチューニングされてラグが大幅に減る
  • systemd サービス登録でクラッシュ時の自動再起動と VPS 再起動後の自動起動が実現できる
  • Minecraft のデフォルトポート 25565 を UFW と VPS のファイアウォール両方で開放すること
  • RAM 2GB プランで 5 人まで、4GB プランで 20 人前後が快適に遊べる目安

Paper サーバーが立ち上がったら、次は EssentialsX(基本コマンド集)や LuckPerms(権限管理)などのプラグインを入れると管理がぐっと楽になります。プラグインの jar ファイルを /opt/minecraft/plugins/ に入れてサーバーを再起動するだけで有効になります。ぜひ試してみてください。

EssentialsX は essentialsx.net/downloads.html から JAR をダウンロードできます。下のスクリーンショットは実際に撮影した公式ダウンロードページです。「Core」モジュールが本体で、必要に応じて Chat や Spawn などのアドオンも追加できます。

EssentialsX 公式ダウンロードページ(Playwright 実撮影)
EssentialsX 公式ダウンロードページ(Playwright 実撮影)

コメント

タイトルとURLをコピーしました