−25%

Windows 年払い、10月31日まで。 プランを見る

EQVPS
始める

VPSでMinecraftサーバーを立てる

2026年7月27日 · 1 分で読める · EQVPS Team

これは私たちのゲームサーバー向けVPSページの実践的な相棒です。あちらはどのプランが合うかについて;こちらは実際にサーバーを立てることについて — Paper、まっとうなsystemdサービス、RAMを節約する設定、ファイアウォール、バックアップ。終わる頃には、クラッシュを生き延び、再起動を生き延び、静かに箱全体を食べないMinecraftサーバーができています。

始める前に正直なメモを一つ:ユースケースページのCPUとRAMの限界はやはり当てはまります。SmallやMediumプランのPaperは友達グループには最高です。大きなコミュニティ向けの150モッドパックはこれらのプランの用途ではなく、どんな設定でもそれは直りません。それがはっきりしたら、作りましょう。

1. Javaを入れる

PaperはJavaで動きます。headlessのJDKを入れましょう — 現行のMinecraftバージョンならJava 21です:

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

Minecraftバージョンが古いなら、それが求めるJavaを入れます(1.18-1.20時代なら17)。バージョンが間違っていればサーバーログが大声で文句を言います。

2. サーバーディレクトリとPaperを用意

サーバーをrootではなく、それ自身のユーザーとして動かします — 何か問題が起きたとき、爆発半径を小さくしたいのです。

sudo adduser --system --group --home /opt/minecraft minecraft
sudo -u minecraft mkdir -p /opt/minecraft/server
cd /opt/minecraft/server

あなたのMinecraftバージョン向けのPaper jarをダウンロードし(downloadsページからURLを取得)、server.jar として保存します:

sudo -u minecraft wget -O server.jar "PASTE_PAPER_DOWNLOAD_URL_HERE"

設定ファイルを生成するため一度動かし、それからEULAに同意します:

sudo -u minecraft java -Xms1G -Xmx3G -jar server.jar --nogui
# すぐに止まり、EULAに同意するよう求めます
sudo -u minecraft sed -i 's/eula=false/eula=true/' eula.txt

-Xmx3G はJVMヒープの上限です。4 GBの Small プランでは、JVMに〜3 GBがOSに呼吸の余地を残します。全RAMに設定しないこと — JVMにはヒープを超えるオーバーヘッドがあり、OOMキラーは交渉しません。

3. RAMを節約するようserver.propertiesを調整

ここで無料で性能を買います。server.properties を開いて設定します:

view-distance=8
simulation-distance=6
max-players=10
  • view-distance — 各プレイヤーの周りでロードし続けるチャンク。既定の10は気前が良い;8(あるいは6も)はRAMとCPUを目に見えて削り、ほとんど誰も違いに気づきません。
  • simulation-distance — エンティティ、レッドストーン、作物の成長が実際にどこまでtickするか。低いほど安い。6が妥当な出発点です。
  • max-players — 実際に見込む数に設定し、突然の群衆がRAM予算を吹き飛ばさないように。

シングルスレッドの現実を忘れずに:Minecraftのtickは一つのコアに寄りかかります。TPSが下がっても、RAMを増やしても助けになりません — simulation-distance とモブ上限を下げることが助けます。

4. systemdサービスとして動かす

これが「一度動かしたjar」を「サーバー」に変える部分です。/etc/systemd/system/minecraft.service を作成:

[Unit]
Description=Minecraft Paper Server
After=network.target

[Service]
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xms1G -Xmx3G -jar server.jar --nogui
Restart=on-failure
RestartSec=10
SuccessExitStatus=0 143

[Install]
WantedBy=multi-user.target

Restart=on-failure が肝心の行 — JVMがクラッシュしたら、systemdが10秒で戻します。SuccessExitStatus=... 143 は、通常のSIGTERMシャットダウンを失敗として扱わせないようにします。有効にして起動:

sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
sudo systemctl status minecraft
sudo journalctl -u minecraft -f   # ライブログ

これで起動時に始まり、クラッシュで再起動し、ログはjournaldへ行きます。

5. ファイアウォールポートを開ける

Minecraftは既定でTCP 25565を待ち受けます。それだけを開けましょう:

sudo ufw allow 25565/tcp
sudo ufw enable

友達にサーバーのIPを渡します(ポートを変えたなら :25565 も)。要らないものは何も開けないこと — 自分の箱を動かす全体の要点は、何が到達可能かをあなたが決めることです。

6. ワールドをバックアップ

そうしなかった日を悔やむまで人々が飛ばすもの。単純なスクリプト:

#!/bin/bash
cd /opt/minecraft/server
TS=$(date +%Y%m%d-%H%M)
tar czf /opt/minecraft/backups/world-$TS.tar.gz world world_nether world_the_end

cronから動かし、そして — これが大事な半分 — アーカイブをサーバーの外へコピー します、オブジェクトストレージか別のマシンへ。ワールドと同じディスクのバックアップはディスクと共に死にます。ワールドが大事なら、tarの前にサーバーコンソールで save-off と save-all を実行し、書き込み中にスナップショットを取らないように。

それが全部です

Java、Paper、調整した設定、自動再起動するsystemdサービス、ファイアウォールポート、そしてどこか別の場所に住むバックアップ。それが、そう振る舞うMinecraftサーバーです。

まだ箱がないなら:プランを選び — 小さなグループには Small($8)、10人を押すなら Medium($12) — USDCまたはUSDTで支払い(KYCなし、書類なし)、約60秒でrootを得ます。それからこのページを下へ進めましょう。そして正直なリマインダーを最後にもう一度:これは友達とのvanillaやPaperには正しい構成です。大きなコミュニティ向けの重いモッドパックは別のハードウェアが要り、それはまず私たちから聞いてほしいのです。

FAQ

どのJavaバージョンが要りますか?

最近のMinecraftバージョンはJava 17以降を欲しがり;最新はJava 21を欲しがります。あなたのMinecraftバージョンが求めるOpenJDKビルドを入れましょう — サーバーを一度動かせば、Javaバージョンが間違っていれば明確に告げます。決して使わないデスクトップスタックを引き込まないよう、headlessのJRE/JDKを使いましょう。

ログアウトした後、サーバーをどう動かし続けますか?

systemdサービスとして動かします。start/stop/statusコマンド、journalctl経由のログ、JVMがクラッシュしたときの自動再起動、起動時開始が得られます — 再接続を覚えておかねばならないscreenセッションよりはるかに良い。サービスファイルはガイドにあります。

JVMにどれくらいのRAMを与えるべきですか?

-Xmx をプランの総RAMより少し下に設定し、OSがいくらか保てるように — 4 GBのSmallプランでは、JVMに約3 GBが妥当です。-Xmx を全RAMと同じにしないこと;OSとJVM自身のオーバーヘッドに余裕が要り、さもないとOOMリーパーに殺されます。

ワールドをどうバックアップしますか?

サーバーを止め(または先にsave-off/save-allを実行)、ワールドフォルダをtarし、アーカイブを箱の外へコピーします — オブジェクトストレージか別のサーバーへ。cronに載せましょう。ワールドと同じディスクにあるバックアップはバックアップではありません;ディスクと共に死にます。

コメント

まだコメントはありません。最初になりましょう。

コメントを残す

コメントは表示される前にモデレートされます。