Raspberry Pi 5(ラズパイ5)でマインクラフトサーバー(minecraft-server)を作りました。
数年ぶりにサーバーを立てて遊ぼうとなりまして、使い道に困っているRaspberry Pi 5を使います。マインクラフトは、いろいろなタイプがあります。PCで遊ぶ向けのJava Edition、ゲーム機で遊ぶConsole Editionです。どうやら最近はBedrock Editionという両プラットフォームで遊べるタイプもあるようです。以下は昔ながらのJava Editionでubuntu24.04にインストールします。
電源を入れるとマインクラフトサーバーが自動起動するようにします。
まずjdkをインストールします、16とか17では上手く行かず、新しい21にしました。
sudo apt update
sudo apt install openjdk-21-jdk
minecraft-serverというフォルダを作ります。
mkdir minecraft-server
cd minecraft-server
Java Editionの最新版を調べます。wgetでファイルをゲットします。URLを調べて変更してください。
https://www.minecraft.net/en-us/download/server
リンク先の「Download minecraft_server.1.21.4.jar and」部分にあるリンク先をコピーして以下のようにダウンロードします。
wget https://piston-data.mojang.com/v1/objects/59353fb40c36d304f2035d51e7d6e6baa98dc05c/server.jar
以下コマンドでセットアップします。初回は必ず失敗します。
java -Xmx1024M -Xms1024M -jar server.jar nogui
eulaテキストの以下部分を変更して同意します。
sudo nano eula.txt
eula=false を eula=true に変更
もう一回セットアップします。
java -Xmx1024M -Xms1024M -jar server.jar nogui
無事起動できたことでしょう。stopなどで停止しましょう。Raspberry Pi 5のメモリは8GBあります。メモリの割り当てを4GBにします。
java -Xmx4096M -Xms4096M -jar server.jar nogui
サーバーが起動している間にコンソールからゲームルールにて、マインクラフトで物を無くさない設定にしました。
/gamerule keepInventory true
自動起動用にminecraft-start.shを作ります。ユーザー名など環境に合わせて適宜作成してください。つまり「riragon」というユーザー名を自分のユーザー名に変更します。url階層も適宜調整ください。
sudo nano /home/riragon/minecraft-server/minecraft-start.sh
起動コマンドを書いておきましょう「riragon」というユーザー名を自分のユーザー名に変更を忘れずに。
#!/bin/bash
cd /home/riragon/minecraft-server
java -Xmx4096M -Xms4096M -jar server.jar nogui
実行権限をつけましょう。以下「riragon」というユーザー名を自分のユーザー名に変更します。
chmod +x /home/riragon/minecraft-server/minecraft-start.sh
次はシステムサービスです。以下にminecraft-start.serviceを作ります。
sudo nano /etc/systemd/system/minecraft-start.service
以下設定です。URLは実際の環境に合わせてください。「riragon」というユーザー名を自分のユーザー名に変更します。以下は[Service]のところに3箇所「riragon」があるのでよく見てください。
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=riragon
WorkingDirectory=/home/riragon/minecraft-server
ExecStart=/home/riragon/minecraft-server/minecraft-start.sh
Restart=always
[Install]
WantedBy=multi-user.target
サービスを自動起動にして、スタートします。ステータスで動作を確認します。
sudo systemctl enable minecraft-start.service
sudo systemctl start minecraft-start.service
sudo systemctl status minecraft-start.service
リブートして正しく起動するか確認しましょう。自動起動にするとコンソールから管理者的なコマンド入力が出来ないので、何か操作できる仕組みを入れたいところですが、簡易サーバーだからこれでいいでしょう。
java Editionをインストールしました。
最新版を起動してマルチプレイヤーを選択します。
サーバーのIPを入力します。ポート開放などは適宜行ってください。
無事に接続できました。
ここまでがriragonお届けの記事です。
さらに深堀してみよう
上記では情報が足りないなと思った人は以下も参考にチャレンジしてみましょう。GPTのDeepサーチによる結果のコピーペーストです。riragonの記事もAI検索結果に組み込まれておりますね。AI検索の良いところは、普段しらないカテゴリの情報も出てくることです。
Raspberry Pi 5でJava版のマインクラフトサーバーを構築し、楽しむためのテクニックを調査します。
調査内容には、以下のポイントを含めます。
- サーバーのセットアップ手順(OSの選定、必要なパッケージのインストール、Javaの適切なバージョン選定)
- パフォーマンス最適化(メモリ設定、オーバークロック、軽量OSの活用)
- Modやプラグインの導入方法(PaperMCやSpigotなど)
- ネットワーク設定(ポートフォワーディング、DDNS、セキュリティ対策)
- バックアップと管理方法(自動バックアップ、遠隔管理)
調査結果がまとまり次第、お知らせします。
Raspberry Pi 5でのMinecraftサーバー構築とパフォーマンス最適化
Raspberry Pi 5の高性能化により、小規模なMinecraft(Java版)サーバーを動かすことが可能になりました。ただし、安定した動作と快適なプレイのためには適切な設定と最適化が重要です。以下では、軽量OSの選定からJavaのインストール、サーバーソフトの導入、メモリ・CPUのチューニング、ネットワーク設定、バックアップ、管理ツール、そしてRaspberry Pi 5ならではのポイントまで、順を追って詳しく解説します。
軽量なRaspberry Pi OSの選定
Minecraftサーバーを動かすには、できるだけ無駄のない軽量なOS環境が望ましいです。Raspberry Pi OS Lite (64ビット版) を使用することが強く推奨されています (Self Hosted Minecraft Server on Raspberry PI with SpigotMC) (Raspberry Pi 4B でちゃんと動くMinecraft Serverを作りたい)。デスクトップ環境を含まないLite版なら、GUIによるメモリ消費やCPU負荷を省き、サーバーにリソースを集中できます。「デスクトップ環境は不要!」という意気込みでLite版を選択しましょう (Raspberry Pi 4B でちゃんと動くMinecraft Serverを作りたい)。
また64ビットOSを使うことで、Raspberry Pi 5のメモリをフル活用できます。64ビット版のRaspberry Pi OSを選択するか、32ビットOSの場合は/boot/config.txt
に arm_64bit=1
を追記して64ビットカーネルを有効にすると良いでしょう (Self Hosted Minecraft Server on Raspberry PI with SpigotMC)。OSインストール後はまずパッケージを最新にアップデートしてください (sudo apt update && sudo apt upgrade -y
) (Self Hosted Minecraft Server on Raspberry PI with SpigotMC)。
他のOSの選択肢: Ubuntu Server など64ビット対応の他ディストリも利用可能ですが、Raspberry Pi公式OSは軽量最適化されており情報も豊富なため初心者には扱いやすいです。必要最低限のサービスのみ有効化し、不要なサービスは停止することでさらに軽量化できます。
Javaの適切なバージョンとインストール
Minecraft(Java版)サーバーを動かすには対応するJavaランタイムが必要です。最新のMinecraftサーバーではJava 17以上が必要となっています(Minecraft 1.19以降はJava 17が必須)。Raspberry Pi OS (Bookworm以降)では標準でOpenJDK 17が利用可能で、特に追加インストールなしでもJava 17が使える場合があります (Raspberry Pi Minecraft Server – Pi My Life Up)。念のため以下のコマンドでJavaをインストールまたは確認しましょう:
sudo apt update
sudo apt install openjdk-17-jdk
java -version # バージョン確認
上記でJava 17が入るはずです。java -version
で「17.x」のバージョンが表示されればOKです。
より新しいJavaが必要な場合: もし今後のMinecraftアップデートや最新のサーバーバージョンでJava 21などが要求される場合、OpenJDK 21を導入します。例えばUbuntu 23.10以降では sudo apt install openjdk-21-jdk
でインストールできます (Raspberry Pi 5(ラズパイ5)でマインクラフトサーバー(minecraft-server)を作って、サービスを自動起動させてみた)。Raspberry Pi OSでJava 17より新しいバージョンが必要な場合は、AdoptiumやBellSoftなどからARM64向けJDKのバイナリを入手して手動インストールする方法もあります (Self Hosted Minecraft Server on Raspberry PI with SpigotMC) (Self Hosted Minecraft Server on Raspberry PI with SpigotMC)。Javaのインストール後は、java -version
で目的のバージョンになっていることを確認してください。
メモ: サーバー用途ではJDK(開発キット)ではなくJRE(実行環境)で十分ですが、Spigotのビルドなどを行う場合はJDKが必要になります。基本的に上記コマンドでJDKを入れておけば問題ありません。
Minecraftサーバーのダウンロードとインストール
Java環境の準備ができたら、Minecraftサーバー本体を導入します。以下の手順で公式のサーバーソフトウェアをセットアップできます。
- サーバー用ディレクトリの作成: ホームディレクトリ等にサーバー用のフォルダを作成します。例:
mkdir ~/minecraft-server && cd ~/minecraft-server
。 - サーバーJarファイルのダウンロード: Minecraft公式サイトからサーバーJarをダウンロードします。 (Raspberry Pi 5(ラズパイ5)でマインクラフトサーバー(minecraft-server)を作って、サービスを自動起動させてみた)公式サイトの「Download minecraft_server.<バージョン>.jar」というリンクを取得し、
wget
コマンドでダウンロードします。例:wget https://launcher.mojang.com/v1/objects/<ハッシュ値>/server.jar
上記URLの部分は公式サイトからコピーしてください (Raspberry Pi 5(ラズパイ5)でマインクラフトサーバー(minecraft-server)を作って、サービスを自動起動させてみた)。(※バージョン番号やURLは適宜読み替えてください。)
- サーバーの初回起動(ファイル生成): ダウンロードしたJarファイルを一度起動し、初期ファイルを生成します。メモリ割り当ては最小限で構いません。例:
java -Xmx1024M -Xms1024M -jar server.jar nogui
※
nogui
オプションを付けることでサーバーのGUI画面を表示せずに動作させます(軽量化のため必須です)。初回起動時は利用規約に同意していないため必ず失敗して終了します (Raspberry Pi 5(ラズパイ5)でマインクラフトサーバー(minecraft-server)を作って、サービスを自動起動させてみた)。同時にeula.txt
というファイルなどが生成されます。 - EULA(利用規約)への同意: 初回起動で生成された
eula.txt
を開き、eula=false
となっている行をeula=true
に変更して保存します (Raspberry Pi 5(ラズパイ5)でマインクラフトサーバー(minecraft-server)を作って、サービスを自動起動させてみた)。これで利用規約に同意したことになります。 - サーバーの本起動: 再度サーバーJarを起動します。先ほどと同じコマンドで構いませんが、後述のメモリ割り当て最適化に合わせて
-Xmx
の値を増やしても良いでしょう。例えばメモリ4GBのPiの場合は-Xmx3G
程度に変更します。起動コマンド例:java -Xms512M -Xmx1008M -jar ~/minecraft-server/server.jar nogui
(※上記はRaspberry Pi 2〜5の1GBモデル向け推奨値の例です (Raspberry Pi Minecraft Server – Pi My Life Up)。Pi 4/5の2GB以上モデルでは
-Xmx
値はさらに増やせます。)正常に起動すればコンソール上にログが流れ始め、ワールド生成が開始されます。初回ワールド生成には数分かかる場合があります。完了メッセージ(Example:
Done (12.345s)! For help, type "help" or "?"
)が表示されればサーバー起動成功です。 - サーバー設定の調整(必要に応じて):
server.properties
ファイルを編集してサーバー設定を変更できます。例えばサーバー名、最大プレイヤー数、オンラインモード(認証の有無)などを設定可能です。特にプレイヤー許可リスト(whitelist)や難易度などは必要に応じて設定しておきましょう(セキュリティ対策は後述)。設定変更後はサーバー再起動が必要です。
以上で基本的なMinecraft公式サーバーが稼働します。ただしこのままではRaspberry Pi上で快適に動作させるには不十分な場合があります。次章以降でパフォーマンス最適化のポイントを詳述します。
メモリ・CPU設定の最適化
Raspberry PiでMinecraftサーバーをスムーズに動作させるには、限られたリソースを効率的に使う工夫が必要です。ここではメモリ割り当てやCPU負荷の対策、オーバークロック設定など、主な最適化項目を挙げます。
- メモリ割り当て調整: Javaのヒープメモリ(
-Xmx
オプション)を適切に設定します。サーバーに割り当てすぎるとOSが不足し不安定になりますが、少なすぎてもパフォーマンスが低下します。目安として、4GB RAMのモデルでは2~3GB程度, 8GBモデルでは4~6GB程度を上限に割り当てると良いでしょう (Raspberry Pi 5(ラズパイ5)でマインクラフトサーバー(minecraft-server)を作って、サービスを自動起動させてみた)。例えば8GB搭載のPi 5では実際にヒープサイズ4GBで運用して問題なく動作した報告があります (Raspberry Pi 5(ラズパイ5)でマインクラフトサーバー(minecraft-server)を作って、サービスを自動起動させてみた)。なお最小値-Xms
は小さめ(512MB程度)で十分です。割り当て後、稼働中のメモリ使用量をhtop
コマンドなどで観察し、余裕と無駄がないか確認してください。 - ビュー距離・シミュレーション距離の調整: サーバー設定の
view-distance
(視野距離)およびsimulation-distance
(シミュレーション距離)を小さめに設定するとCPU負荷を大幅に減らせます。デフォルトは10前後ですが、4~6程度まで下げると軽量化に効果的です (Raspberry Pi Minecraft Server – Pi My Life Up)。実際にPi上では視野距離を4チャンクに下げ、最大プレイヤー数も5人程度に制限する設定例があります (Raspberry Pi Minecraft Server – Pi My Life Up)。シミュレーション距離も同様かそれ以下に設定し、遠方のチャンクでの動作計算を抑制しましょう。これにより特に複数プレイヤーが各地を動き回る際の負荷が軽減されます。 - オーバークロックの活用: Raspberry Pi 5は標準で最大2.4GHz駆動ですが、オーバークロックによりさらに高速化が可能です。CPUクロックを例えば2.8~3.0GHz程度まで引き上げることでサーバーのTPS向上が期待できます (How to Overclock A Raspberry Pi 5 | Tom’s Hardware)。オーバークロックの手順は
/boot/firmware/config.txt
(Pi OSの場合)に以下の行を追加します(例では3.0GHzに設定) (How to Overclock A Raspberry Pi 5 | Tom’s Hardware):arm_freq=3000
※Pi 5の個体差により安定動作する上限周波数は異なります。無理に3GHzを狙わず、まずは2.5~2.7GHz程度から試すのが安全です (How to Overclock A Raspberry Pi 5 | Tom’s Hardware)。オーバークロックする際は十分な冷却対策と自己責任をお忘れなく。
- 冷却対策: 小型筐体であるRaspberry Piは熱による性能低下(サーマルスロットリング)に注意が必要です。Pi 5には公式の**アクティブクーラー(冷却ファン付きヒートシンク)**が用意されており、これを使用することで高負荷時の温度上昇を大幅に抑えられます (Minecraft Server on Raspberry Pi 5 : r/admincraft)。実際、Pi 5用クーラーを取り付けた場合とそうでない場合では長時間動作時の安定性に差が出ます。「高温でCPUクロックが制限されパフォーマンスが頭打ちになる」といった事態を防ぐため、できれば公式クーラーあるいは同等のヒートシンク+ファンを取り付けましょう (How to Overclock A Raspberry Pi 5 | Tom’s Hardware)。
- GPUメモリの最小化: Raspberry Piはデフォルトでメインメモリの一部をGPU用に確保しています。サーバー用途ではグラフィックスを使わないため、この**GPUメモリ割り当てを最小(16MB)**に減らしてRAMを解放します (Self Hosted Minecraft Server on Raspberry PI with SpigotMC)。Raspberry Pi OSでは
raspi-config
ツールの「Performance」メニューからGPUメモリを16MBに設定できます(または/boot/config.txt
のgpu_mem
設定を16に)。これにより数十~数百MBのRAMを節約できます。 - スワップ領域の調整: メモリ不足時の保険としてスワップサイズを増やしておくと安心です。特にメモリが限られる4GB以下のモデルでは、スワップを1GB程度に拡張しておくとメモリ逼迫時にプロセスが落ちるのを防げます (Self Hosted Minecraft Server on Raspberry PI with SpigotMC)。ただしスワップ(ストレージ上の仮想メモリ)は極力使わないのが前提です。スワップに頼る状況は著しい性能低下を招くため、基本は物理RAM内で収まるよう運用し、スワップは緊急避難用と考えてください。
- チャンクの事前生成: ワールド探索時に新しい地形(チャンク)が生成されるとサーバーCPUに大きな負荷がかかり、ラグの原因になります。対策として、あらかじめスポーン地点周辺のチャンクを**事前に生成(プリジェネレート)**しておく方法があります。Spigot/Paper系サーバーであればプラグイン「Chunky」などを導入し、半径○ブロックの範囲を事前生成するといった運用が可能です (Build a Minecraft Server on RaspberryPi 4) (Build a Minecraft Server on RaspberryPi 4)。例えば半径5000ブロックをPi 4で生成するのに約10時間かかった報告がありますが (Build a Minecraft Server on RaspberryPi 4)、範囲を狭めれば時間短縮できます。事前生成により初回探索のカクつきを防ぎ、ディスクアクセスも平準化されるメリットがあります(ただしワールドサイズは大きくなります (Build a Minecraft Server on RaspberryPi 4))。
以上のような最適化を施すことで、Raspberry Pi上でもかなり快適なMinecraftサーバー運用が可能になります。元々「5人以上だとカクついて2~3人が限度」と言われていたRaspberry Piでのサーバーも、こうしたチューニング次第で改善が見込めます (Raspberry Pi Minecraft Server – Pi My Life Up)。
SpigotやPaperMCなど軽量カスタムサーバーの導入
よりパフォーマンスを向上させるには、公式のバニラサーバーより軽量化されたサーバーソフトを利用するのが効果的です。代表的なものにSpigotやPaperMCがあります。これらは公式サーバーの改良版で、大幅な最適化や追加機能が施されています。
- Spigot: Bukkit系プラグインに対応したサーバーソフトで、公式より動作が軽く安定性が高いとされています。実際、ラズパイ上で公式サーバーが不安定だったケースでもSpigotに置き換えたらクラッシュが減り安定したという報告があります (Raspberry Pi Minecraft Server – Pi My Life Up)。Spigotの入手にはビルドツール(BuildTools.jar)を使って自分でコンパイルする必要があります (Raspberry Pi Minecraft Server – Pi My Life Up)。手順としてはGitとJavaを用意した上で、BuildToolsをダウンロードして実行し、spigot.jarを生成します (Raspberry Pi Minecraft Server – Pi My Life Up)。生成されたJarファイルを先ほどのserver.jarと差し替えて起動すればSpigotサーバーとして動作します。
- PaperMC: Spigotをさらに高速化し機能拡張したサーバーソフトで、現在最もおすすめの選択肢です。PaperはSpigotの全プラグインを互換しつつ、より高度なパフォーマンス調整項目(設定ファイル上でエンティティ処理負荷の軽減やメモリ節約設定など)が追加されています。Paper自体の導入は簡単で、公式サイトからPaperサーバーJar(対応Minecraftバージョンのもの)を直接ダウンロードできます (Build a Minecraft Server on RaspberryPi 4)。例えばPaper 1.20.1のJarを入手したら、それを
server.jar
として起動するだけでOKです。Paperは開発が活発でバグ修正も早く、Raspberry Piのようなローエンド環境でも効率よく動作するよう調整されています。
上記どちらを使う場合も、基本的な使い方は公式サーバーと同じです。起動コマンドや設定ファイルの構成もほぼ共通なので、乗り換えても大きく迷うことはないでしょう。特にPaperMCはデフォルト設定でもかなり最適化されていますが、さらに踏み込んだ調整が可能です(例えばpaper.yml
やspigot.yml
でモブの処理間隔を伸ばす、不要なティックを削減する等)。
性能比較: 一般にPaperMC > Spigot > バニラ公式サーバーの順で軽量高速と言われます。例えばRaspberry Pi 4でもPaper 1.16なら問題なく動作したという報告があります (Minecraft Server on Raspberry Pi 5 : r/admincraft)。また、プラグインを必要としない場合にはFabricサーバー+最適化Modという選択肢もあります。Fabricは軽量なModローダーで、「Lithium」(サーバー最適化Mod)や「FerriteCore」(メモリ最適化Mod)などを導入することでバニラの挙動を変えずに高TPSを実現できます (Minecraft Server on Raspberry Pi 5 : r/admincraft)。実際、Pi 5上でPaperやバニラよりFabric+Lithiumの方が安定して常時20TPSを維持できたとの報告もあります (Minecraft Server on Raspberry Pi 5 : r/admincraft)。ただしFabricの場合はBukkit系プラグインが使えないため、必要な機能に応じてPaperと使い分けてください (Minecraft Server on Raspberry Pi 5 : r/admincraft)。
まとめ: ラズパイで運用するなら、まずPaperMCを検討すると良いでしょう。Paperはシステム資源の効率的な利用に優れており、コミュニティによる最適化ガイドも充実しています。またプラグインを活用すれば、チャンクの事前生成やバックアップ自動化など便利な機能も取り入れられます。軽量サーバーソフトの活用は、限られたハードウェアで最大限のパフォーマンスを引き出す鍵と言えます。
ネットワーク設定(ポート開放、DDNS、セキュリティ対策)
自宅のRaspberry Piをサーバーとして運用する場合、ネットワークの設定も重要です。ローカルネットワーク内だけで遊ぶ場合はシンプルですが、インターネット越しにフレンドと遊ぶ場合はルーターの設定やセキュリティ対策が必要になります。
- ローカルIPの固定: まずRaspberry Piに固定のローカルIPアドレスを割り当てましょう。これはルーターのDHCP予約機能を使うか、Raspberry Pi側で静的IPを設定します (Raspberry Pi Minecraft Server – Pi My Life Up)。固定IPにしておくと、再起動時にPiのIPが変わらず、後述のポート転送設定が無効化されるのを防げます。
- ポートフォワーディング(ポート開放): インターネットから接続できるようにするには、ルーターで25565ポートを開放し、Raspberry PiのIPに転送します (Self Hosted Minecraft Server on Raspberry PI with SpigotMC)。具体的にはルーターの設定画面で「ポート転送(Port Forwarding)」の設定を行い、外部ポート25565をPiのローカルIPの25565ポートにマッピングしてください。こうすることで、外部からあなたのグローバルIPの25565宛の通信がPiのサーバーに届くようになります (Self Hosted Minecraft Server on Raspberry PI with SpigotMC)。ポート番号はデフォルト25565のままで問題ありませんが、もし変更している場合はその番号を開放します。なお、自宅ネット環境によってはISP側でポート開放が制限されていたり、IPv6環境の場合ポート転送の扱いが異なることがありますので注意してください。
- DDNSの利用: 家庭用回線ではグローバルIPアドレスが固定ではなく変動することがあります。その場合、**Dynamic DNS (DDNS)**サービスを利用すると便利です。No-IPやDynDNS、DuckDNSなどの無料DDNSサービスに登録し、自宅IPに自動でドメイン名をひも付けておけば、フレンドにはそのドメインでサーバーに参加してもらうことができます。Raspberry Pi上にクライアントを入れて定期的にIPを通知することで、IPが変わっても常に最新のIPがドメイン名に対応するようになります。
- ファイアウォールとSSHセキュリティ: サーバー機としてPiを公開するなら、最低限のセキュリティ対策も行いましょう。Raspberry Pi OSであれば
ufw
(Uncomplicated Firewall)を導入して不要なポート通信を遮断するのがおすすめです。sudo apt install ufw
でインストールし、sudo ufw allow 22/tcp
(SSH用)やsudo ufw allow 25565/tcp
(Minecraft用)など必要なポートだけ許可、最後にsudo ufw enable
でファイアウォールを有効化します。これにより基本的に外部からのアクセスはMinecraftサーバー用ポートとSSH管理用ポート程度に限定できます。また、Piのデフォルトユーザー(pi
)のパスワード変更や、SSH鍵認証の導入など基本的なセキュリティ設定も忘れずに。 - オンラインモードと認証:
server.properties
のonline-mode
はデフォルトでtrue
になっており、これは必ずtrueのまま運用しましょう。オンラインモードtrueではMinecraft公式のアカウント認証が行われ、不正ユーザーのログインを防げます。万一offlineモード(false)にすると誰でもなりすましてログインできてしまうため非常に危険です(特殊な用途でない限り触れないでください)。 - ホワイトリスト(許可リスト)の活用: サーバーをインターネットに公開する場合、**ホワイトリスト(ホワイトリスト方式の参加許可)**を有効にすることを強く推奨します。Minecraftサーバーの25565番ポートは有名で、インターネット上では自動スクリプトによるポートスキャンの対象になりやすいです (Build a Minecraft Server on RaspberryPi 4)。悪意ある第三者があなたのサーバーに侵入しようと試みる可能性もあります。ホワイトリストを有効にしておけば、事前に許可したプレイヤー以外はサーバーに入れないので安全です (Build a Minecraft Server on RaspberryPi 4)。設定方法は
server.properties
でwhite-list=true
とし、サーバーコンソール上またはops権限を持つプレイヤーから/whitelist add <プレイヤー名>
コマンドで友人のMinecraftユーザー名を登録します (Build a Minecraft Server on RaspberryPi 4)。登録されていないユーザーが接続しようとすると「あなたはホワイトリストにありません」という旨のメッセージが表示され、接続できなくなります (Build a Minecraft Server on RaspberryPi 4)。 - RCONのセキュリティ: 後述するRCONを有効化する場合、そのポート(デフォルト25575)にも注意しましょう。基本的にRCONはサーバー内限定で使い、インターネットから直接RCONポートにアクセスさせないのが安全です。どうしても外部からRCONを使う必要がある場合は、ファイアウォールで信頼できるIPだけRCONポートを許可するか、SSHトンネル経由でRCON接続するなど工夫してください。またRCONパスワードは推測されにくい強度の高いものを設定しましょう。
以上のネットワーク設定とセキュリティ対策により、外部から安心してMinecraftサーバーに接続できるようになります。特にホワイトリストとオンラインモードtrueの組み合わせで、不特定多数や不正クライアントからのアクセスをシャットアウトできる点は重要です。
バックアップ方法とワールド管理
Minecraftの世界データはかけがえのないものです。万一に備えて定期的なバックアップを実施しましょう。バックアップの頻度はサーバーの変更頻度によりますが、少なくとも週1、可能なら毎日1回は行うのが理想です。
バックアップの基本: サーバーのバックアップはシンプルに言えば、ワールドデータフォルダを丸ごとコピーして保管しておくことです。Minecraftサーバーでは、デフォルトのメインワールドはサーバーディレクトリ内のworld
というフォルダに保存されています(ネザーやエンドはworld_nether
, world_the_end
など)。これらを含むサーバーフォルダ全体を圧縮して保存しておけば、いつでもその状態に復元可能です (Build a Minecraft Server on RaspberryPi 4)。具体的な手順例:
- サーバーの停止: バックアップを取る前に、可能であればサーバーを一時停止/停止します。コンソール上で
stop
コマンドを実行し、サーバーが正常終了するのを待ちます。プレイヤーがいない深夜などに停止するのが良いでしょう(難しい場合は少なくともワールドをセーブするsave-all
コマンドを実行してください)。 - フォルダのアーカイブ: サーバーディレクトリに移動し、圧縮コマンドで全体を一つのファイルにまとめます。例えばサーバーフォルダが
/opt/minecraft
にある場合、以下のようにtarコマンドを使います (Build a Minecraft Server on RaspberryPi 4):cd /opt tar -zcvf minecraft_backup_$(date +%Y%m%d).tar.gz minecraft
こうすると
minecraft
フォルダ全体が日時付きの名前で圧縮アーカイブされます (Build a Minecraft Server on RaspberryPi 4)。容量節約のため、圧縮(zipやtar.gz)することをおすすめします。 - バックアップの保管: 作成したバックアップファイルは別の場所に保管しましょう。同じSDカードやSSD上に置いておくだけでは、メディア故障時にバックアップごと失う可能性があります。別PCにコピーする、外付けドライブに保存する、クラウドストレージにアップロードする等が考えられます (Build a Minecraft Server on RaspberryPi 4)。定期的にバックアップを取得し、世代管理(例えば直近7日分を保持して古いものは削除)すると、万一ワールドが壊れたり間違って消してしまった場合でも任意の時点に戻せて安心です。
- 自動バックアップ: 毎回手動でバックアップするのが難しい場合、Linuxのcron機能を使って自動化できます。例えば毎日深夜4時に上記tarコマンドを実行し、自動でバックアップを取得するようにスクリプトを組むことも可能です。スクリプト内で世代管理(古いファイルの削除)も行えば、一定のローテーションでバックアップを維持できます。
バックアップからの**リストア(復元)**も簡単です。サーバーが不調になった場合、一度サーバーフォルダを別場所へ移動/待避し、保存しておいたバックアップアーカイブを解凍するだけです (Build a Minecraft Server on RaspberryPi 4) (Build a Minecraft Server on RaspberryPi 4)。復元後にサーバーを起動すれば、バックアップ取得時点の状態でワールドが読み込まれます。但しバックアップ以降の進捗は失われますので、やはり定期的に行うことが重要です。
サーバー管理ツールの活用(RCONやWeb UI)
Minecraftサーバーを長期運用するにあたり、管理を簡便にするツールも活用しましょう。ここでは、リモートコンソール操作を可能にするRCONと、ブラウザ上でサーバー管理ができるWeb UIツールについて説明します。
- RCON(リモートコンソール): RCONを有効にすると、サーバーのコンソールにリモートからコマンドを送信したりログを取得したりできます。Minecraftサーバーの設定ファイル
server.properties
でenable-rcon=true
にし、rcon.password=<任意のパスワード>
を設定、rcon.port=25575
(必要ならポート変更可)を指定すれば機能がオンになります (Minecraft Server RCON/QUERY Utility – Minecraft Tools – Mapping and Modding: Java Edition – Minecraft Forum – Minecraft Forum )。RCON有効化後、PCからmcrcon等のクライアントソフトを使ってPiのサーバーに接続し、コンソールコマンドを遠隔実行できます。例えば外出先からスマホでサーバーを管理したい場合や、サーバーを画面なしで起動していて直接コンソールを開けない場合などに便利です。RCONを使用する際は先述のとおりパスワード管理とアクセス制限に注意してください。 - Webベースの管理ツール: 専用のWeb UI(ダッシュボード)を導入すると、ブラウザ経由でサーバーの状態監視や操作が可能になります。人気のあるオープンソースのパネルとしてCrafty ControllerやMineOSがあります。たとえばCrafty Controllerは自宅サーバー上で動作するウェブ管理ツールで、複数のMinecraftサーバーの起動・停止、プレイヤー管理、コンソール操作、設定ファイル編集、バックアップ実行など多彩な機能を提供します (Crafty Controller)。CraftyはPython製ですがDockerコンテナとして提供されており、Raspberry Pi 5上でもDocker経由で問題なく動作する報告があります(実際にPi 5 + Crafty + Paperサーバーで重いModパックを安定稼働させた例もあります) (Raspberry Pi 5 runs Minecraft modpack server with excellent performance! – Statictics (Stoneblock 2 + Crafty Controller) : r/raspberry_pi) (Raspberry Pi 5 runs Minecraft modpack server with excellent performance! – Statictics (Stoneblock 2 + Crafty Controller) : r/raspberry_pi)。MineOSはNode.js製のサーバーパネルで、こちらもRaspberry Piにインストールしてサービスとして動かすことで、ブラウザからサーバー追加・設定・ログ閲覧・コンソール操作ができるようになります。
これらの管理ツールを使うことで、コマンドラインになじみのないユーザーでも比較的直感的にサーバーを扱えるようになります。ただし、Web UI自体がPi上で動作するため追加のリソース消費があります。Pi 5なら余裕がありますが、可能な限り軽量に保ちたい場合は導入を検討しましょう。最小限の管理で良い場合、単にSSHでPiに入り、screen
やtmux
でサーバーをデタッチ実行しておき必要時にアタッチして操作する、といった方法でも十分です (Build a Minecraft Server on RaspberryPi 4)。要件に応じて便利なツールを取り入れてください。
Raspberry Pi 5ならではの注意点と追加の最適化
最後に、Raspberry Pi 5特有のポイントや恩恵について触れておきます。
- Pi 4からの性能向上: Raspberry Pi 5は前世代と比べCPU性能が大きく向上しており、Minecraftサーバー運用でもその差は歴然です。あるユーザーはPi 4でやや力不足だったサーバーをPi 5に移行したところ、「Pi 5のサーバー性能には驚かされた。Pi 4では難しかった14~16チャンクの視野距離も、Pi 5では約5人のプレイヤー環境で維持できる」 と報告しています (Minecraft Server on Raspberry Pi 5 : r/admincraft)。プレイヤー数が増える場合でも8~10チャンク程度に抑えれば問題なく動作するとのことです (Minecraft Server on Raspberry Pi 5 : r/admincraft)。このようにPi 5なら少人数向けサーバーであれば十分実用的なパフォーマンスを発揮できます。
- ストレージの高速化: Pi 5ではUSB3.0に加えてPCIe接続のNVMe SSDが利用可能になりました。microSDカードに比べ、SSDは圧倒的に高速なランダムアクセス性能を持っています。サーバーのワールド読み書きやチャンクロードはストレージ性能に依存する部分も大きいため、可能であればシステムとサーバーデータをSSD上で運用することをおすすめします。実際にPi 5でNVMe SSDを使用すると、サーバーの起動時間短縮やチャンクロードのスムーズさといった効果が体感できます (Minecraft Server on Raspberry Pi 5 : r/admincraft) (Minecraft Server on Raspberry Pi 5 : r/admincraft)。SDカードでも動作はしますが、ランダムアクセスが多い状況(例えば複数人が別々の方向に高速移動して新規チャンクを生成する場合など)では差が出ます (Minecraft Server on Raspberry Pi 5 : r/admincraft)。SSD運用する場合は十分な電源供給と放熱に留意し、信頼性の高いメディアを使いましょう。
- 電源と安定性: Pi 5は性能向上に伴いピーク消費電力も増加しています。純正の定格電源アダプタを使用し、特にオーバークロック時やUSBデバイス接続時に電圧低下しないよう留意してください。電源が不安定だと高負荷時に再起動がかかったり、最悪データ破損の可能性もあります。長時間の連続稼働が前提となるため、安定した電源供給とUPS(無停電電源装置)の導入も検討すると安心です。
- ネットワーク帯域のボトルネック: Pi 5自体はギガビットEthernetを備え、かつUSBと独立した新設計によりネットワークとストレージI/Oの干渉が少なくなっています。これによりディスクアクセスしながらでも通信が頭打ちになりにくい利点があります。ただし、インターネット越しのプレイでは自宅回線のアップロード帯域がボトルネックになる場合があります。プレイヤー数が多いと上り通信量も増えますので、自宅のネット契約(上り速度)も念頭に置いてください。一般的な光回線で数人規模なら問題ありませんが、モバイル回線テザリング等では厳しいこともあります。
- ソフトウェアのアップデート: Pi 5は新しいボードゆえに対応ソフトウェアのアップデートが活発に行われています。Raspberry Pi OS自体やJavaランタイム、PaperMCなどサーバーソフトも定期的に更新をチェックし、適用するようにしましょう。特にPaperMCは頻繁にビルドが更新されるので、管理ツールの自動アップデート機能や手動でJarを入れ替える手順で最新バージョンを取り入れると、パフォーマンス改善や不具合修正の恩恵を受けられます (Build a Minecraft Server on RaspberryPi 4)。
以上、Raspberry Pi 5でのMinecraftサーバー構築と最適化のポイントを網羅しました。適切なOSとJava環境のもと、リソースを無駄なく活用し、必要に応じてカスタムサーバーソフトや管理ツールを組み合わせれば、小規模ながら安定したMinecraftマルチプレイ環境を実現できるでしょう。ぜひ快適なMinecraftサーバー運用を楽しんでください。
参考資料:
- Raspberry Pi公式フォーラム, 他ユーザーのラズパイサーバー運用事例 (Minecraft Server on Raspberry Pi 5 : r/admincraft) (Minecraft Server on Raspberry Pi 5 : r/admincraft) (Minecraft Server on Raspberry Pi 5 : r/admincraft)
- Peppe8o (Self Hosted Minecraft Server on Raspberry PI) (Self Hosted Minecraft Server on Raspberry PI with SpigotMC) (Self Hosted Minecraft Server on Raspberry PI with SpigotMC)
- Pi My Life Up (Raspberry Pi Minecraft Server) (Raspberry Pi Minecraft Server – Pi My Life Up) (Raspberry Pi Minecraft Server – Pi My Life Up)
- LinuxNorth (RaspberryPi 4 Minecraft Server Guide) (Build a Minecraft Server on RaspberryPi 4) (Build a Minecraft Server on RaspberryPi 4)
- Reddit (r/admincraft 他) Raspberry Pi 5でのパフォーマンス報告 (Minecraft Server on Raspberry Pi 5 : r/admincraft) (Minecraft Server on Raspberry Pi 5 : r/admincraft)
- RIRAGONブログ (ラズパイ5でMinecraftサーバー構築記録) (Raspberry Pi 5(ラズパイ5)でマインクラフトサーバー(minecraft-server)を作って、サービスを自動起動させてみた) (Raspberry Pi 5(ラズパイ5)でマインクラフトサーバー(minecraft-server)を作って、サービスを自動起動させてみた)
- Crafty Controller公式ドキュメント (Crafty Controller) 他