Bedrock Server構築 [Ubuntu24.04.3]
UbuntuマシンでMinecraft Bedrock(マイクラ統合版)Serverの構築方法について説明します。
準備
ファイルを解凍するためのunzipと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 エンドユーザーライセンス 契約と プライバシーポリシー に同意します。」にチェックを入れて、「ダウンロード」をクリック。
ダウンロードが完了したら、先ほど作ったディレクトリにファイルを移動します。別のPCでダウンロードした場合は、USBメモリやssh転送でファイルを移してください。
ディレクトリを指定したうえで、展開します。
cd bedrock
unzip bedrock-server-x.xx.xxx.x.zip -d ./server動作確認
解凍してディレクトリ内で、「./bedrock_server」を実行します。
サーバーに入る際は、
「プレイ」→「サーバー」→「サーバーを追加」→「サーバーアドレス」のところに作ったサーバーのipアドレス、もしくはドメインを入力します。
外部から接続する場合、使用するポートは異なりますが(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.servicesudoユーザーに切り替えたのち、ファイルを作成します。
このように変更することで使用できます。
[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