目次
- ⚠️ 2026年、古いマイクラサーバー記事は動かない可能性がある
- この記事で得られること
- 前提
- Step 1. Java 25 のインストール
- Step 2. PaperMC のダウンロード(新Fill API対応)
- Step 3. 初回起動とEULA同意
- Step 4. サーバー設定
- Step 5. 起動スクリプト(Aikarフラグ)
- Step 6. systemd + tmux で常駐化
- Step 7. ファイアウォール開放(2層 — 最大のつまずきポイント)
- 7-1. クラウド側(セキュリティリスト)
- 7-2. OS側(iptables)
- Step 8. 接続確認
- 実測データ(2 OCPU/12GBの無料枠でどれくらい余裕があるか)
- トラブルシューティング
- まとめと次のステップ
「友達とマイクラでマルチプレイしたい。でもRealmsの月額は払いたくないし、ホストが落ちるとみんな遊べなくなるのも嫌」
この記事では、Oracle Cloudの無料枠にMinecraft Java版の専用サーバー(PaperMC)を立てて、月0円で24時間動き続けるマルチ環境を作ります。
結論を先に言うと——
- 完全無料で常設サーバー → Oracle Cloud無料枠 + PaperMC ←本記事
- クラウドの登録やLinuxが不安 → 有料VPS(KAGOYA CLOUD VPS等)が確実でラク
- コマンド入力を避けたい → ConoHa for GAMEのMinecraft機能など、テンプレート付きVPSを検討
- Switchやスマホ(統合版)の友達と遊びたい → Java版とは参加条件が異なります。Geyserで統合版から招くか、統合版専用サーバー(BDS)を検討してください
⚠️ 2026年、古いマイクラサーバー記事は動かない可能性がある
先に重要な注意です。
- Minecraft 26.x は Java 25 が必須になった 現在は「Java 17/21を入れる」では、サーバーが起動を拒否します(実際に拒否されました)
- PaperMCの旧ダウンロードAPI(api.papermc.io/v2)が2025年に廃止 現在のcurlコマンドはエラーJSONを返すだけです。新しい Fill API への書き換えが必要
本記事はすべて2026年7月時点の実機で検証済みです。
この記事で得られること
- Oracle無料枠(2 OCPU/12GBでOK)にPaperMCサーバーを立てる全手順(コピペで動く)
- Java 25・Fill API対応の最新版コマンド
- systemd + tmux による常駐化(SSHを切っても動き続け、OS再起動でも自動復帰)
- ホワイトリストによる荒らし対策
- 実測データ: サーバーのメモリ使用は約2.8GB(初期)
前提
- Oracle Cloudのアカウントと、Ubuntu 24.04のARMインスタンス(A1.Flex)が作成済みであること
- まだの人はアカウント登録〜インスタンス作成から → Oracle無料枠でインスタンスを作る全手順(ハブ記事)
- 2 OCPU / 12GB / ブートボリューム50GB〜 で十分です
- SSHでサーバーに接続できること
- クライアント(Minecraft: Java Edition)を持っていること
- 買い切り版のほか、PC Game Passの対象状況も公式サイトで確認できます。料金やキャンペーンは変わるため、購入時の表示を確認してください
Step 1. Java 25 のインストール
まず、OCIからダウンロードした秘密鍵ファイルを自分のPCの~/.ssh/フォルダへ置きます。Windows PowerShellの~はC:\Users\<ユーザー名>、Macの~は/Users/<ユーザー名>を意味します。入力欄にはフォルダ名を含めず、鍵ファイル名だけを入力してください。
OracleのValheim記事で保存済みのキーファイル名・IPアドレスがあれば、ここへ自動で読み込まれます。初めて読む場合も、この欄へ入力してそのまま保存できます。
ssh -i ~/.ssh/{{key}} ubuntu@{{ip}}
接続できたら、以下を順に実行します。
sudo apt update
sudo apt install -y openjdk-25-jre-headless jq
java -version
openjdk version "25..." と出ればOKです。
注意: 最初にJava 21で起動したら
Minecraft 26.1 and newer requires running the server with Java 25 or above.と一蹴されました。26.x世代はJava 25必須です。
Step 2. PaperMC のダウンロード(新Fill API対応)
PaperMCは、公式バニラサーバーを高速化しプラグインを使えるようにした定番サーバーです(世界の大規模サーバーの多くがこれ系)。
注意: 旧APIを叩くと今はこう返ってきます:
{"ok":false,"error":"sunset","message":"This API version has been sunset..."}2025年に旧v2 APIが廃止された様子です
新しいFill APIでの取得(バージョンはクライアントに合わせる。本記事執筆時は26.2):
mkdir -p ~/minecraft && cd ~/minecraft
VER=26.2
USER_AGENT='sabadrill-guide/1.0 (https://sabadrill.com/about/)'
BUILD_JSON=$(curl -fsSL -H "User-Agent: $USER_AGENT" "https://fill.papermc.io/v3/projects/paper/versions/$VER/builds/latest")
echo "$BUILD_JSON" | jq '{build: .id, channel: .channel, jar: .downloads["server:default"].name}'
URL=$(echo "$BUILD_JSON" | jq -r '.downloads["server:default"].url')
test -n "$URL" && test "$URL" != "null"
curl -fL -H "User-Agent: $USER_AGENT" -o server.jar "$URL"
ls -la server.jar # 約60MBならOK
PaperMC公式は自動取得時に識別可能なUser-Agentを必須としています。上のコマンドはこの要件に対応済みです。
また、2026年7月15日時点のPaper 26.2はBETAです。上のchannel表示がBETAまたはALPHAなら開発版であり、PaperMC公式も安定運用には推奨していません。安定性を優先する場合はSTABLEビルドが出るまで待ってください。本記事はBETA build 60で接続確認しています。
※ サーバーとクライアントのバージョンは一致必須です。クライアントが更新されたら VER= を変えて再取得します。
Step 3. 初回起動とEULA同意
java -Xms1G -Xmx1G -jar server.jar --nogui
初回は「Mojang公式のバニラ本体をダウンロード→Paperのパッチを適用」という処理が走った後、
[WARN]: Failed to load eula.txt
[INFO]: You need to agree to the EULA in order to run the server.
で停止します。これはエラーではなく仕様です。この瞬間に eula.txt が生成されるので、同意して次へ:
sed -i 's/eula=false/eula=true/' eula.txt
Step 4. サーバー設定
sed -i 's/^motd=.*/motd=My MC Server/' server.properties
sed -i 's/^max-players=.*/max-players=5/' server.properties
sed -i 's/^white-list=.*/white-list=true/' server.properties
sed -i 's/^view-distance=.*/view-distance=8/' server.properties
sed -i 's/^simulation-distance=.*/simulation-distance=6/' server.properties
white-list=trueは必須。サーバーのIPは世界中からスキャンされるので、許可制にしないと知らない人が入ってきます- view/simulation-distance は無料枠向けの負荷対策値です
Step 5. 起動スクリプト(Aikarフラグ)
Minecraftサーバーの定番GCチューニング「Aikar’s Flags」を入れた起動スクリプトを作ります:
cat > ~/minecraft/start.sh <<'EOF'
#!/bin/bash
cd ~/minecraft
java -Xms4G -Xmx4G \
-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC \
-XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 \
-XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 \
-jar server.jar --nogui
EOF
chmod +x ~/minecraft/start.sh
メモリ割当(-Xms/-Xmx)は、12GBインスタンスで他に何も動かしていなければ4G、他のゲームサーバーと同居させるなら2〜3Gに。
Step 6. systemd + tmux で常駐化
SSHを切っても動き続け、OS再起動後も自動で立ち上がり、かつサーバーコンソールにも入れる構成です:
sudo apt install -y tmux
sudo tee /etc/systemd/system/minecraft.service > /dev/null <<'EOF'
[Unit]
Description=Minecraft Paper Server
After=network.target
[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/minecraft
ExecStart=/usr/bin/tmux new-session -d -s mc '/home/ubuntu/minecraft/start.sh'
ExecStop=/bin/bash -c '/usr/bin/tmux send-keys -t mc "stop" Enter; for i in {1..120}; do /usr/bin/tmux has-session -t mc 2>/dev/null || exit 0; sleep 1; done; exit 1'
Type=forking
Restart=on-failure
TimeoutStopSec=130
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
起動を見届けます(初回はワールド生成があるので1〜3分):
tmux attach -t mc
Done (18.918s)! For help, type "help" が出れば稼働開始です。
tmuxの操作: 抜けるときは Ctrl+b を押して離してから d。 Ctrl+Cは絶対に押さない(サーバーが止まります)。 停止したいときは
sudo systemctl stop minecraft(ワールドをセーブしてから終了してくれます)。
そのままコンソールで自分をホワイトリストに登録しておきます:
whitelist add あなたのMinecraft名

Step 7. ファイアウォール開放(2層 — 最大のつまずきポイント)
Oracle Cloudはクラウド側とOS側の2層でポートを開ける必要があります。片方だけだとConnection timed out になります。
解説記事は前提記事を参照してください
7-1. クラウド側(セキュリティリスト)
OCIコンソール → ネットワーキング → 仮想クラウド・ネットワーク → 対象VCN → Default Security List → イングレス・ルールの追加:
| 項目 | 値 |
|---|---|
| ソースCIDR | 0.0.0.0/0 |
| IPプロトコル | TCP |
| 宛先ポート範囲 | 25565 |

ソースCIDRは自分のIPではなく
0.0.0.0/0(全許可)にします。 ここに自分のIPを入れると、自分以外のフレンドが誰も入れなくなります(ゲームの入口はホワイトリストで守るので大丈夫です)。
7-2. OS側(iptables)
sudo iptables -I INPUT 1 -p tcp --dport 25565 -j ACCEPT
sudo netfilter-persistent save
-I INPUT 1(先頭に挿入)がポイント。OracleのUbuntuはINPUTチェーンの途中に全拒否(REJECT)ルールがあり、後ろに追加すると無効化されます。
Step 8. 接続確認
クライアント(Minecraft: Java Edition)を起動します。サーバーのバージョン(Step 2の VER=)とクライアントのバージョンが一致していることを確認してください(画面左下に表示されます。ここでは26.2)。

マルチプレイ → サーバーを追加(またはダイレクト接続)→ サーバーのIP:25565 を入力します。

接続してワールドに立てれば完成です。

私の環境で1回だけ「ログインに失敗しました: 無効なセッションです」が出ましたが、これはGame Pass認証トークンの期限切れで、ランチャーを再起動したら直りました。サーバー側の問題ではないので、このエラーが出ても慌てず、まずランチャーの再起動を試してください。

実測データ(2 OCPU/12GBの無料枠でどれくらい余裕があるか)
| 項目 | 実測値 |
|---|---|
| サーバー起動時間 | 約19秒(2回目以降) |
| メモリ使用(-Xmx4G設定・アイドル) | 約2.8GB |
| 少人数プレイ | 快適(ARMネイティブなのでエミュレーションのオーバーヘッドなし) |

JavaはARM64ネイティブで動くため、Valheimのようなbox64エミュレーションが不要です。無料枠と最も相性の良いゲームサーバーと言えます。
トラブルシューティング
| 症状 | 原因と対処 |
|---|---|
requires running the server with Java 25 or above | Javaが古い。Step 1でJava 25を導入 |
| ダウンロードしたserver.jarが数百バイトしかない | 旧APIを叩いている。Step 2のFill APIコマンドを使う |
Connection timed out | ファイアウォールの2層両方を確認(Step 7)。特にクラウド側の追加忘れ |
You are not whitelisted | コンソールで whitelist add 名前 |
| 起動直後に落ちる | メモリ不足。-Xmxを下げる |
まとめと次のステップ
- 月0円でJava版の24時間サーバーが立ちました(ドメイン代すら不要)
- 2026年7月時点のJava 25 / Fill APIに対応した手順です
- Switchやスマホの友達(統合版)と遊びたい場合は、今後公開するGeyser・統合版専用サーバーの記事を参照してください
- クラウドの手続きが面倒に感じた人は、テンプレ一発の有料VPS(ConoHa for GAME等)や日額課金のKAGOYAが近道です

- マイクラ特化で3日間から試せる、サーバーの知識不要!簡単にマルチプレイを始められる『XServer GAMEs』という手もあります

質問・つまずきポイントはお問い合わせフォームからどうぞ。実際にハマった範囲なら大体答えられます。