自宅サーバ(Linux)で作るMinecraftサーバ構築ガイド

1. はじめに

自宅に余っているPCや、手軽に利用できるVPS(Virtual Private Server)を活用して、自分だけのMinecraftサーバを構築してみませんか?本ガイドでは、Linux環境(特にUbuntuを想定)でMinecraft Java Editionサーバをセットアップする手順を、初心者の方にも分かりやすく解説します。

自宅サーバでMinecraftサーバを運用することには、以下のようなメリットがあります。

  • 高い自由度: 公式のMinecraft Realmsでは提供されない、Modの導入やプラグインの利用など、サーバ設定の自由度が格段に向上します。
  • コスト削減: 既存のPCを再利用したり、安価なVPSを利用したりすることで、専用のホスティングサービスに比べて運用コストを抑えることができます。
  • 学習機会: Linuxのコマンド操作やネットワーク設定など、サーバ管理に関する実践的な知識を習得する良い機会となります。

本記事は、Linuxの基本的なコマンド操作ができる方を対象としています。

2. 準備するもの(システム要件)

Minecraftサーバを安定して運用するためには、適切なハードウェアとソフトウェアの準備が不可欠です。以下の要件を目安に準備を進めてください。

ハードウェア要件

コンポーネント 小規模サーバ(4~8人程度) 大規模サーバ(それ以上)
CPU Intel 第8世代以降 / Ryzen 2000シリーズ以降(シングルスレッド性能重視) 高いシングルスレッド性能を持つCPU
RAM 2GB以上(推奨4GB) 8GB以上(Modやプラグインの数による)
ストレージ 5GB以上の空き容量(SSD推奨) 20GB以上の空き容量(SSD必須)
ネットワーク 安定した有線LAN接続 高速かつ安定した有線LAN接続

Minecraftサーバは主にシングルコアの性能に依存するため、CPU選定の際はシングルスレッド性能を重視することが推奨されます [1]。また、ワールドデータは時間とともに増大するため、十分なストレージ容量を確保し、高速なSSDを利用することでパフォーマンスが向上します。

ソフトウェア要件

  • OS: Ubuntu Server 22.04 LTS 以降(推奨)
    • 他のLinuxディストリビューションでも基本的な手順は同様ですが、コマンドが異なる場合があります。
  • Java: Minecraftのバージョンに応じたJava Runtime Environment (JRE)

3. 事前準備:Javaのインストール

MinecraftサーバはJavaで動作するため、適切なバージョンのJavaをインストールする必要があります。Minecraftのバージョンによって必要なJavaのバージョンが異なりますので、注意してください。

Minecraftバージョン 必要なJavaバージョン
1.20.5 以降 Java 21
1.18 ~ 1.20.4 Java 17
1.12 ~ 1.17 Java 8

ここでは、最新のMinecraftバージョン(1.20.5以降)に対応するJava 21をインストールする手順を例に説明します。Ubuntu環境では、以下のコマンドでOpenJDKをインストールできます。

sudo apt update
sudo apt upgrade -y
sudo apt install openjdk-21-jre-headless -y

openjdk-21-jre-headless は、GUIを持たないサーバ環境に適した軽量版のJREです。インストール後、以下のコマンドでJavaのバージョンを確認できます。

java -version

4. Minecraftサーバのセットアップ

Javaの準備が整ったら、いよいよMinecraftサーバ本体をセットアップします。

4.1 作業用ディレクトリの作成

まず、Minecraftサーバのファイルを保存するためのディレクトリを作成し、そのディレクトリに移動します。ここでは /opt/minecraft を例とします。

sudo mkdir /opt/minecraft
sudo chown your_username:your_username /opt/minecraft # your_usernameは実際のユーザー名に置き換えてください
cd /opt/minecraft

4.2 サーバー本体(server.jar)のダウンロード

Minecraftの公式サイトから server.jar をダウンロードします。最新版のダウンロードURLは、Minecraft公式サイトのダウンロードページで確認できます [2]。

wget https://piston-data.mojang.com/v1/objects/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/server.jar
# xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx は最新版のハッシュ値に置き換えてください

4.3 初回起動とEULA(使用許諾契約)への同意

ダウンロードした server.jar を初めて起動すると、EULA(End User License Agreement)への同意を求めるメッセージが表示され、サーバは停止します。EULAに同意するには、生成された eula.txt ファイルを編集する必要があります。

java -Xmx1024M -Xms1024M -jar server.jar nogui

このコマンドを実行すると、eula.txt が生成されます。一度サーバが停止したら、以下のコマンドで eula.txt を編集します。

nano eula.txt

ファイル内の eula=falseeula=true に変更して保存します(Ctrl+O で保存、Ctrl+X で終了)。

5. サーバーの起動と運用

EULAに同意したら、再度サーバを起動します。安定した運用のためには、起動スクリプトの作成と、バックグラウンドでの実行が推奨されます。

5.1 起動コマンドの解説

基本的な起動コマンドは以下の通りです。

java -Xmx####M -Xms####M -jar server.jar nogui
  • -Xmx####M: サーバが使用する最大メモリ量を指定します(例: -Xmx4096M で4GB)。
  • -Xms####M: サーバが起動時に確保する最小メモリ量を指定します。通常は -Xmx と同じ値を設定します。
  • nogui: GUIなしでサーバを起動します。サーバ環境では必須です。

5.2 起動スクリプト(start.sh)の作成

毎回長いコマンドを入力するのは手間なので、起動スクリプトを作成します。/opt/minecraft ディレクトリ内に start.sh というファイルを作成し、以下の内容を記述します。

nano start.sh
#!/bin/bash
java -Xmx4096M -Xms4096M -jar server.jar nogui

メモリ量は、ご自身の環境に合わせて調整してください。ファイルを作成したら、実行権限を付与します。

chmod +x start.sh

これで ./start.sh コマンドでサーバを起動できるようになります。

5.3 サーバーをバックグラウンドで動かし続ける方法(screenの活用)

SSH接続を切断してもサーバを稼働させ続けるには、screen コマンドが便利です。screen がインストールされていない場合は、以下のコマンドでインストールします。

sudo apt install screen -y

screen を使ってサーバを起動するには、以下の手順を実行します。

  1. screen セッションを開始:
    bash
    screen -S minecraft

    -S minecraft でセッションに minecraft という名前を付けています。
  2. screen セッション内でサーバを起動:
    bash
    ./start.sh
  3. screen セッションからデタッチ(切り離し):
    Ctrl+A の後に D を押します。これでSSH接続を切断してもサーバは稼働し続けます。

サーバのコンソールに戻りたい場合は、以下のコマンドを実行します。

screen -r minecraft

6. 外部接続の設定(ポート開放)

自宅サーバでMinecraftサーバを運用する場合、外部のプレイヤーが接続できるように「ポート開放」の設定が必要です。Minecraftサーバのデフォルトポートは 25565 です。

6.1 ルーターの設定(ポートマッピング/静的NAT)

お使いのルーターの管理画面にアクセスし、「ポートマッピング」や「静的NAT」などの設定項目を探します。そこで、以下の設定を行います。

  • プロトコル: TCP
  • 外部ポート: 25565
  • 内部ポート: 25565
  • 転送先IPアドレス: Minecraftサーバを構築したPCのローカルIPアドレス

ルーターの設定方法は機種によって異なりますので、お使いのルーターのマニュアルを参照してください。

6.2 OSのファイアウォール(ufw)の設定

Linuxサーバのファイアウォール(ufw)でも、Minecraftのポートを開放する必要があります。

sudo ufw allow 25565/tcp
sudo ufw enable
sudo ufw status

sudo ufw status25565/tcp ALLOW Anywhere と表示されていれば成功です。

7. まとめ

本ガイドでは、自宅サーバ(Linux)でMinecraft Java Editionサーバを構築する基本的な手順を解説しました。これで、友人とのプライベートなマルチプレイ環境が手に入ります。

サーバー管理のポイント

  • 定期的なバックアップ: ワールドデータは非常に重要です。定期的にバックアップを取りましょう。
  • サーバのアップデート: Minecraft本体やJavaのアップデートは、セキュリティとパフォーマンスのために重要です。
  • リソース監視: htoptop コマンドでCPUやメモリの使用状況を監視し、必要に応じてリソースを調整しましょう。

次のステップ

  • Modやプラグインの導入: SpigotMCやPaperMCなどのカスタムサーバソフトウェアを導入することで、さらに多くの機能を追加できます。
  • ドメイン名の設定: IPアドレスではなく、覚えやすいドメイン名でサーバに接続できるように設定できます。
  • 自動起動設定: systemd を利用して、サーバ起動時にMinecraftサーバが自動的に立ち上がるように設定することも可能です。

自分だけのMinecraftサーバを自由にカスタマイズして、より豊かなゲーム体験をお楽しみください。

参考文献

[1] Tutorial: Setting up a Java Edition server – Minecraft Wiki
[2] Minecraft Java Edition Server Download

セージが表示され、サーバは停止します。EULAに同意するには、生成された eula.txt ファイルを編集する必要があります。

bash
java -Xmx1024M -Xms1024M -jar server.jar nogui

このコマンドを実行すると、eula.txt が生成されます。一度サーバが停止したら、以下のコマンドで eula.txt を編集します。

bash
nano eula.txt

コメント