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