Script API の @minecraft/server-net を使いたかったので、Macbook で統合版サーバーを動かそうとしたときにやったことです。

# どうする

Minecraft Bedrock Dedicated Server (以下 BDS) は、公式がリリースしている統合版向けのサーバーソフトウェアです。ですがこれは、Windows と Linux 向けにしかリリースされていません。しかも arm64 アーキテクチャだとそのままでは動かせません。どうしよう!

# 作戦

だが私には経験がある。Nintendo Switch に Ubuntu をインストールしたとき、Box64 を使って BDS を動かしたことがあるのだ!ということで、Ubuntu の仮想環境を作り、そこで BDS を動かすことにします。

# 仮想環境の構築

M1 Mac では UTM という手軽に VM を作れるソフトがあるので、これを使うことにしました。

Arm 版 Ubuntu のイメージもダウンロードしておきましょう。私は Ubuntu Server 24.04 にしました。

新規仮想マシンを作成仮想化Linux と進み、ダウンロードしたイメージを選択します。メモリは 4GB にしましたが、統合版なので負荷のかかるようなことをしなければ 1GB や 2GB でもそれなりに動くと思います。ストレージに余裕があれば、64GB で問題ないでしょう。

以上の設定ができたら仮想マシンを作成します。Ubuntu Server が起動するので、普通にセットアップをしていきましょう。UTM ではコピペができないので、ssh で接続できるようにしておくといいです。

# Box64 のインストール

Ubuntu のシェルが開けたら、忘れずに sudo apt update && sudo apt upgrade -y でパッケージの更新をしておきましょう。

更新が終わったら、公式の手順の通りに Box64 をインストールします。

まずは必要なパッケージをインストールします。後で必要となる unzip も同時にインストールしておきましょう。
sudo apt install make cmake zip unzip

あとは以下のコマンドを順番に実行すればインストール完了です。

git clone https://github.com/ptitSeb/box64
cd box64
mkdir build; cd build; cmake .. -D ARM_DYNAREC=ON -D CMAKE_BUILD_TYPE=RelWithDebInfo
make -j4
sudo make install
sudo systemctl restart systemd-binfmt

# BDS のダウンロード

まずは適当なディレクトリを作成し、そこに移動します。

mkdir bedrock
cd bedrock

そして、BDS を wget や curl でダウンロードするのですが、なぜか普通に実行するとできません。(昔はできた) なので、User-Agent を偽装します。

BDS-Versions という便利なものがあるので、こちらのシェルスクリプトを実行することで、最新版をダウンロードすることができます。

#!/bin/bash
LATEST_VERSION=`curl -s https://raw.githubusercontent.com/Bedrock-OSS/BDS-Versions/main/versions.json | jq -r '.linux.stable'`
echo "The latest Linux BDS is [${LATEST_VERSION}]"
DOWNLOAD_URL=`curl -s https://raw.githubusercontent.com/Bedrock-OSS/BDS-Versions/main/linux/${LATEST_VERSION}.json | jq -r '.download_url'`
wget --user-agent="Mozilla/5.0" ${DOWNLOAD_URL}

執筆時の最新バージョンは 1.21.50.10 なので、 bedrock-server-1.21.50.10.zip をダウンロードすることができました。

unzip で展開します
unzip bedrock-server-1.21.50.10.zip

お疲れ様でした! LD_LIBRARY_PATH=. ./bedrock_server を実行すれば、自動的に Box64 を使用して BDS が起動します!

あとは server.properties をいじるなり、アドオンを導入するなり、好きな使い方をしましょう。中に LD_LIBRARY_PATH=. ./bedrock_server と書いた start.sh を作成すると、起動が少し楽になります。シェルを閉じても起動しておきたい場合は screen コマンドを使いましょう。

# 参考リンク

Minecraft Bedrock Server Download | Minecraft
AArch64 な Oracle Cloud Infrastructure で Minecraft 統合版サーバーを動かす!【box86/box64】
Box64: Linux Userspace x86-64 Emulator with a Twist
Bedrock-OSS/BDS-Versions: Auto updating BDS Versions
UTM | Virtual Machines for Mac