Bedrock Server構築 [Ubuntu24.04.3]

UbuntuマシンでMinecraft Bedrock(マイクラ統合版)Serverの構築方法について説明します。

準備

ファイルを解凍するためのunzipとtmuxをインストールします。

Warning

screenは、現在非推奨となっているのでtmuxを使用することをお勧めします。

sudo apt update
sudo apt install unzip tmux

次にサーバーが使用する19132ポートを開放します。ラグ軽減のため、udpを使用します。

sudo ufw allow 19132/udp
sudo ufw reload

サーバー管理ユーザーを作成します。

高頻度でユーザーを切り替えるので、短いユーザー名が楽でおすすめです。今回は「mc」にしました。

sudo adduser mc

ユーザーをmcに切り替えて、サーバー用ディレクトリを作成します。

su - mc
mkdir bedrock

ダウンロード

公式サイトからサーバーをダウンロードします。

Bedrock 版 Minecraft のサーバーをダウンロード | Minecraft

「Ubuntu(Linux)」と「Minecraft エンドユーザーライセンス 契約と プライバシーポリシー に同意します。」にチェックを入れて、「ダウンロード」をクリック。

Information

ダウンロードリンク「https://www.minecraft.net/bedrockdedicatedserver/bin-linux/bedrock-server-1.21.114.1.zip」のバージョンの部分を書き換えることで、古いバージョンのサーバーもダウンロードできます。

過去のバージョン一覧 → Bedrock Dedicated Server – Minecraft Wiki

ダウンロードが完了したら、先ほど作ったディレクトリにファイルを移動します。別のPCでダウンロードした場合は、USBメモリやssh転送でファイルを移してください。

ディレクトリを指定したうえで、展開します。

cd bedrock
unzip bedrock-server-x.xx.xxx.x.zip -d ./server

動作確認

解凍してディレクトリ内で、「./bedrock_server」を実行します。

サーバーに入る際は、

「プレイ」→「サーバー」→「サーバーを追加」→「サーバーアドレス」のところに作ったサーバーのipアドレス、もしくはドメインを入力します。

Warning

サーバーを停止する際は、「stop」と入力して停止させてください。

外部から接続する場合、使用するポートは異なりますが(19132)方法はjava版とほぼ同じなので以下の記事を参考にしてください。

サーバー管理スクリプト作成

サーバーを起動したターミナルを閉じてしまうとサーバーも止めてしまうので、tmuxを使ってバックグラウンド実行をします。

しかし、コードをいちいち入力して、サーバーを管理するのはとても面倒です。

そこで、以下のサイトのスクリプトを参考にさせていただきました。サイトのサーバーの起動・停止・バックアップを一括で管理してくれるスクリプトです。なんなら私のサイトよりも、こちらのサイトの方が分かりやすいです()

nano script.sh
chmod 744 script.sh

変数をこのように変更して使えるようにします。

#!/bin/bash
#
# bedrock_server start/stop/backup script
#

# bedrock_server 実行ユーザ
USERNAME='mc'

# session名
SESSION_NAME='bedrock'

# bedrock_serverインストールディレクトリ
BEDROCK_PATH='/home/mc/bedrock/server'

# LD_LIBRARY_PATH設定
LD_LIBRARY_PATH="$BEDROCK_PATH"

# 実行する bedrock_server
SERVICE="$BEDROCK_PATH/bedrock_server"

## バックアップ用設定
# バックアップのベースディレクトリ
BK_PATH='/home/mc/bedrock'

# バックアップ格納ディレクトリ
BK_DIR="$BK_PATH/bedrock_backup"

# バックアップ取得時間
BK_TIME=`date +%Y%m%d-%H%M%S`

# 完全バックアップデータ名
FULL_BK_NAME="$BK_DIR/bedrock_full_backup_${BK_TIME}.tar.gz"

# 簡易パックアップデータ名
SIMPLE_BK_NAME="$BK_DIR/bedrock_simple_backup_${BK_TIME}.tar"

# 簡易バックアップ対象データ
BK_FILE="./bedrock-server/worlds \
./bedrock-server/valid_known_packs.json \
./bedrock-server/permissions.json \
./bedrock-server/server.properties \
./bedrock-server/allowlist.json"

# バックアップデータ保存日数
BK_GEN="3"

####略####

使い方については、参考にさせていただいたサイトと全く同じです。

systemd登録ファイル作成

自動起動のための設定をします。おなじみに「systemctl」コマンドで管理できるようにします。この設定も先ほどのサイトを参考にしています。

exit
sudo nano sudo vi /etc/systemd/system/bedrock_server.service

sudoユーザーに切り替えたのち、ファイルを作成します。

このように変更することで使用できます。

[Unit]
Description=Minecraft Bedrock Server
After=network.target local-fs.target

[Service]
Type=forking
User=mⅽ
ExecStart=/home/mc/bedrock/server/script.sh start
ExecStop=/home/mc/bedrock/server/script.sh stop

[Install]
WantedBy=multi-user.target

自動起動&管理

systemdファイル作成が完了したら、サービスの登録を行います。

sudo systemctl enable bedrock_server.service

次にcronで起動→停止→フルバックアップを自動で実行するようにします。

その前に一般ユーザー(mc)でもサーバー管理ができるよう設定します。全権限を与えるのは危険なので使用するコマンドに限定します。

sudo visudo

# 以下を追記
mc ALL=NOPASSWD: /bin/systemctl start bedrock_server, /bin/systemctl stop bedrock_server, /bin/systemctl restart bedrock_server

ユーザーをmcに切り替えて、cronを編集します。

crontab -e

# 以下を追記

# 毎日02:00にサーバー停止
0 2 * * * sudo systemctl stop bedrock_server
# 毎日02:10にフルバックアップ
10 2 * * * /home/mc/bedrock/server/script.sh f_backup
# 毎日03:00にサーバー起動
0 3 * * * sudo systemctl start bedrock_server

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です