【統合版・Java版対応!】ConoHa VPSでマインクラフトのマルチサーバーを立てよう!

article

マインクラフトの大型アップデート(ver.1.19)がリリースされました。

古代都市、、、冒険心がくすぐられますね。。。

マイクラは基本的にソロでも十分楽しめますが、お友達と一緒に同じワールドで遊べるようになるとより一層楽しさが増します!

本記事では、複数人でマイクラを楽しむために必要となる、マルチサーバーの利用方法を解説します。

マイクラ マルチサーバーの利用方法を紹介

マイクラのマルチサーバーを利用する方法は、大きく分けて3種類あります。

  1. minecraft realms…minecraft公式が提供しているサービスを利用する方法
  2. VPS(テンプレート利用)…マイクラのマルチサーバーが構築されたVPSを利用する方法
  3. VPS…VPS上にマイクラのマルチサーバーを自分で構築する方法
種類 minecraft reamls VPS(テンプレート利用) VPS
エディション Bedrock Edition Java Edition 共通 共通
構築難易度 ×
価格 3.99〜7.99$ 7.99$ 731円〜 731円〜
プレイヤー数 3〜11人 11人 2人〜 2人〜
カスタマイズ × ×

カスタマイズ…マルチサーバーの起動/停止、バックアップ、ホワイトリスト設定など、マイクラゲーム内の設定項目にないもの

1番お手軽で安価なのはrealmsです。

マイクラをマルチで遊べるだけで十分という方は、迷わずrealmsを選びましょう!

では、VPSを利用するメリットはなんでしょうか…?

VPSでマルチサーバーを利用するメリットとは

VPS(Virtual Private Server)を利用する最大のメリットは、カスタマイズ性です。

不特定のプレイヤーとマルチプレイをするなど、マルチサーバー自体を厳格に管理する必要がある方にとっては特にカスタマイズ性が重要となります。

また、realmsはプレイヤー数が最大11人となっているため、12人以上でマルチプレイをしたい方はVPSを利用しましょう。

※ただし、基本的にVPSの価格はreamlsより高いため、お財布とも相談しましょう。

VPS(Minecraftテンプレート利用)

ConoHa VPSでは、Minecraftテンプレートが準備されています。

Minecraftテンプレートを利用すれば、以下の項目をブラウザ上で簡単にカスタマイズすることができます

  • 自動バックアップ(過去14日分のデータを自動バックアップ)
  • バージョン変更
  • マルチサーバーの起動/停止
  • ゲーム設定(ゲームモードや難易度、PvP設定など)
  • ワールド設定(ワールドサイズや再生性が可能)
  • オペレーター権限設定
  • ホワイトリスト設定(参加ユーザーの指定) etc..

特に自動バックアップホワイトリスト設定などはマルチサーバーを管理する上で重宝しそうですね!

では、VPSでMinecraftテンプレートを利用しない場合はどうなるのでしょうか?

VPS(Mincraftテンプレート不使用)

Minecraftテンプレートの有無で異なる点は、

  • 自分でマルチサーバーを構築する必要があり、サーバーの専門知識が求められる
  • マルチサーバーのカスタマイズがブラウザ上ではできない

そのため、必然的に構築難易度は高くなります

ですが、その分自由度も高くなり、マイクラのマルチサーバー以外にもさまざまな用途に活用することができるなどのメリットがあります。

  • ブログ運用(WordPressなど)
  • Webアプリケーション制作
  • ゲームのマルチサーバー構築(Rust、Arkなど) etc..

VPSのメリットを最大限に活かすためには、この自由度がポイントとなります。

そのため、当記事では難易度が高くて手を出せない…と考えている方向けに、「マイクラのマルチサーバー構築方法」を解説しております。

サーバーに対する専門知識がある方やこれから勉強しようと考えている方は、是非VPSもご検討ください!

VPSでマイクラのマルチサーバーを構築する方法

マインクラフトにはJava版統合版の2種類があります。

これらは構築方法が異なりますので、ご自身のマインクラフトがどちらかを確認してから読み進めてください。(統合版とJava版の違いとは?)

また、マインクラフトゲームとは別に、VPSサーバーを準備しておく必要があります。

Java版/統合版共通の作業

まずは、Java版と統合版の両サーバー構築に共通する作業を行います。

# 任意のマインクラフトユーザーを作成
sudo adduser minecraft

# マインクラフトユーザーにsudo権限の付与
sudo visudo
--
# User privilege specification
root    ALL=(ALL:ALL) ALL
minecraft    ALL=(ALL) ALL
--

# screenのインストール
sudo apt install screen

# wgetのインストール
sudo apt install wget

Java版マインクラフトでマルチサーバーを構築する方法

Java版のマルチサーバーを構築する際、VPSはメモリ2GB以上のプランを推奨します。

以下のコマンドを実行します。

# Javaのインストール  (最新のバージョンを指定)
sudo apt install openjdk-17-jdk-headless

# マルチサーバーで使用するポートを解放(ファイアウォールを設定している場合)
sudo ufw allow 25565
(java版マルチサーバーのデフォルトポート : 25565)

# マインクラフトユーザーに切り替え
su minecraft

# java版サーバー用のフォルダを作成(作成場所、ファイル名は任意)
mkdir /home/minecraft/java_server

# java版サーバー用のフォルダ内へ移動
cd /home/minecraft/java_server

マインクラフトの公式サイトから最新版のminecraft_server.○.○○.○.jarのダウンロードURLをコピーし、以下のようにwgetコマンドの後にURLをペーストして実行します。そのあと、jarファイルを1度だけ実行します。

wgetコマンドでダウンロードすると、minecraft_server.(バージョン).jarというファイル名ではなく、server.jarというファイル名でダウンロードされる。

そのため、公式サイトに記載された実行コマンドをコピペし、ファイル名の部分を変更して実行する。(minecraft_server.(バージョン).jar→server.jar)

# 公式サイトからserver.jarファイルをダウンロードする
wget https://launcher.mojang.com/v1/objects/125e5adf40c659fd3bce3e66e67a16bb49ecc1b9/server.jar
(wget ダウンロードURL)

#  jarファイルの実行 (1度だけ)
java -Xmx1024M -Xms1024M -jar server.jar nogui
(java -Xms1024M -Xmx1024M -jar ファイル名 nogui)

jarファイル実行後、eula.txtというファイルが作成されます。eula.txtファイルを編集し、MINECRAFT エンド ユーザー ライセンス条項に同意します。(eula=false → eula=true)

# eula.txtを編集
vim eula.txt
--
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).                                                                      
#Mon Dec 13 09:45:54 JST 2021                                                                                                                                                                                    
#eula=false    (⇦コメントアウト) 
eula=true
--

次に、サーバー起動用と停止用のファイルを作成します。

# サーバー起動用のファイルを作成
vim start.sh
--
SCREEN_NAME='java_minecraft'
screen -UAmdS $SCREEN_NAME java -Xmx1024M -Xms1024M -jar /home/minecraft/java_server/server.jar
--

# サーバー停止用のファイルを作成
vim stop.sh
--
SCREEN_NAME='java_minecraft'
if [ -n "$(screen -list | grep -o "${SCREEN_NAME}")" ]; then
    # 停止開始
    echo [date '+%F %T'] 'server stop script start'
    # サーバー内にアナウンス
    screen -S $SCREEN_NAME -X stuff 'say 30秒後にサーバーを停止します\015'
    sleep 30s
    # セーブコマンド発行
    screen -S $SCREEN_NAME -X stuff 'save-all\015'
    sleep 5s
    # 停止コマンド発行
    screen -S $SCREEN_NAME -X stuff 'stop\015'
    #停止実行待機
    sleep 30s
else
    echo [date '+%F %T']  'server is not runnning'
fi
--

# 実行権限を付与
chmod +x start.sh
chmod +x stop.sh

これで、java版マルチサーバーを立てる準備が整いました。以下のコマンドでマルチサーバーの起動、停止ができます。

# マルチサーバーの起動コマンド
./start.sh
(/home/minecraft/java_server/stop.sh)

# マルチサーバーの停止コマンド
./stop.sh
(/home/minecraft/java_server/stop.sh)

起動コマンドを実行し、以下の手順でマルチサーバーをゲームに追加します。

“マルチプレイ”を選択
“サーバーを追加”を選択
各種情報入力後、”完了”をクリック(デフォルトポート:25565)

統合版マインクラフトでマルチサーバーを構築する方法

# unzipのインストール
sudo apt install unzip

# マルチサーバーで使用するポートを解放(ファイアウォールを設定している場合)
sudo ufw allow 19132
(統合版マルチサーバーのデフォルトポート : 19132)

# マインクラフトユーザーに切り替え
su minecraft

# 統合版サーバー用のフォルダを作成
mkdir /home/minecraft/bedrock_server

# 統合版サーバー用のフォルダ内へ移動
cd /home/minecraft/bedrock_server

公式サイトからUbuntu(Linux)用最新版のダウンロードURLをコピーし、以下のようにwgetコマンドの後にURLをペーストして実行します。そのあと、jarファイルを1度だけ実行します。

# 公式サイトからserver.jarファイルをダウンロードする
wget https://minecraft.azureedge.net/bin-linux/bedrock-server-(最新バージョン).zip
(wget ダウンロードURL)

# ダウンロードしたzipファイルを展開する
unzip bedrock-server-(最新バージョン).zip

zipファイルを展開すると、起動ファイル(bedrock.service)が作成されます。サーバー起動用と停止用のファイルを作成します。

# サーバー起動用のファイルを作成
vim start.sh
--
SCREEN_NAME='bedrock_minecraft'
screen -UAmdS $SCREEN_NAME /home/minecraft/bedrock_server/bedrock_server
--

# サーバー停止用のファイルを作成
vim stop.sh
--
SCREEN_NAME='bedrock_minecraft'
if [ -n "$(screen -list | grep -o "${SCREEN_NAME}")" ]; then
    # 停止開始
    echo [date '+%F %T'] 'server stop script start'
    # サーバー内にアナウンス
    screen -S $SCREEN_NAME -X stuff 'say 30秒後にサーバーを停止します\015'
    sleep 30s
    # セーブコマンド発行
    screen -S $SCREEN_NAME -X stuff 'save-all\015'
    sleep 5s
    # 停止コマンド発行
    screen -S $SCREEN_NAME -X stuff 'stop\015'
    #停止実行待機
    sleep 30s
else
    echo [date '+%F %T']  'server is not runnning'
fi
--

# 実行権限を付与
chmod +x start.sh
chmod +x stop.sh

これで、統合版マルチサーバーを立てる準備が整いました。以下のコマンドでマルチサーバーの起動、停止ができます。

# マルチサーバーの起動コマンド
./start.sh
(/home/minecraft/bedrock_server/start.sh)

# マルチサーバーの停止コマンド
./stop.sh
(/home/minecraft/bedrock_server/stop.sh)

起動コマンドを実行し、以下の手順でマルチサーバーをゲームに追加します。

“遊ぶ”を選択
“サーバー”→”サーバーを選択”の順に選択
各種情報を入力し、”保存”をクリック(デフォルトポート:19132)
追加のサーバーにPingが表示されればOK

マインクラフトサーバーの自動起動設定

参考サイト : 【Minecraft】サーバーを自動起動する

以下の設定は必要であれば行ってください。

常に起動する場合は、マルチサーバーのデフォルトポード番号の変更を推奨します。

VPSサーバーの再起動時に、マインクラフトサーバーを自動起動するように設定します。まずは、Unitファイルを作成します。

# マルチサーバー用のUnitファイルを作成
(java版の場合)
sudo vim /etc/systemd/system/java-minecraft.service
--
[Unit]
Description=Java Minecraft Server Service
After=network.target

[Service]
Type=forking
WorkingDirectory=/home/minecraft/java_server/
ExecStart=/home/minecraft/java_server/start.sh
ExecStop=/home/minecraft/java_server/stop.sh
Restart=no

[Install]
WantedBy=multi-user.target
--

(統合版の場合)
sudo vim /etc/systemd/system/bedrock-minecraft.service
--
[Unit]
Description=Bedrock Minecraft Server Service
After=network.target

[Service]
Type=forking
WorkingDirectory=/home/minecraft/bedrock_server/
ExecStart=/home/minecraft/bedrock_server/start.sh
ExecStop=/home/minecraft/bedrock_server/stop.sh
Restart=no

[Install]
WantedBy=multi-user.target
--

作成したUnitファイルをシステムに適用させます。

# Unit ファイル群の変更を反映する
sudo systemctl daemon-reload

再起動時に自動起動するように設定します。

# Unitの自動起動を有効にする
(java版の場合)
sudo systemctl enable java-minecraft

(統合版の場合)
sudo systemctl enable bedrock-minecraft

手動での起動・停止は以下のコマンドで行うことができます。

(java版の場合)
# 起動
sudo systemctl start java-minecraft
# 停止
sudo systemctl stop java-minecraft

(統合版の場合)
# 起動
sudo systemctl start bedrock-minecraft
# 停止
sudo systemctl stop bedrock-minecraft

マインクラフトのデフォルトポート番号を変更するには、以下のファイルを編集します。

(java版の場合)
# /home/minecraft/java_server/server.propertiesを編集
sudo vim /home/minecraft/java_server/server.properties
--
#query.port=25565
query.port=(任意のポート番号)
#server-port=25565
server-port=(任意のポート番号)
--

# ファイアフォールの設定
sudo ufw allow (任意のポート番号)


(統合版の場合)
# /home/minecraft/bedrock_server/server.propertiesを編集
sudo vim /home/minecraft/bedrock/server.properties
--
#server-port=19132
server.port=(任意のポート番号)
--

(両版共通)
# ファイアフォールの設定
sudo ufw allow (任意のポート番号)

ポート番号を変更した後は、マインクラフトのゲーム内でサーバーのポート番号を変更し、マルチサーバーに接続できることを確認してください。問題なく接続できた場合は、マインクラフトのデフォルトのポートを閉じます

# マルチサーバーのデフォルトポート番号を閉じる
(java版の場合)
sudo ufw delete allow 25565

(統合版の場合)
sudo ufw delete allow 19132

マインクラフトのゲーム内で、変更後のポート番号に設定します。

Java版
統合版

さいごに

最後までご覧いただきありがとうございます。

ご不明な点がございましたらお気軽にお問い合わせください。

補足(使用コマンド)

adduser…VPSサーバーの新規ユーザーを作成

visudo…sudo権限の設定ファイルを編集

screen…仮想端末を作成(ターミナルやTera Termを終了してもマインクラフトサーバーを動作させておくことができる)

wget…指定したURLのファイルをダウンロード

ufw…Ubuntuのファイアウォールを設定

vim…vimエディタを起動

unzip…zip形式のファイルを展開

chmod…ファイルやディレクトリの権限を変更

コメント