CentOS搭建Minecraft基岩版服务器

Minecraft Java 版的服务器选择十分多样,除了官方的 Vanilla 服务器,还有 Bukkit,Spigot 等选择。如果需要增加功能,官方服可以安装 Mod,非官方服也可以安装插件。然而,Minecraft 基岩版的服务器却是截然不同的情况,第三方服务器支持安装插件,但却有诸如原生不支持生成实体的致命缺陷;官方服务器虽然很多功能还未完善,但至少能提供一个完整的游戏体验。根据官方的说法,Linux 版的基岩服务器只支持 Ubuntu 系统。不幸的是,我现有的服务器均为 CentOS 系统,最粗暴的办法是使用 Docker 运行 Ubuntu 来模拟环境,但这样拐弯抹角的方法让管理变得麻烦了。经过我的一番摸索,我找到一个可以让基岩版服务器在 CentOS 上运行的方法,记录如下。

首先,我参考了https://www.bilibili.com/read/cv2982307/中的方案。之所以 Minecraft 基岩版服务器不能在 CentOS 上运行,是因为 CentOS 缺少它需要的库。网上有的方案选择手工安装很多软件包来补齐这些库,缺点是麻烦、有损坏系统的风险。这个方案则是将缺失的库复制到服务器目录下,再用 LD_PRELOAD 来指定程序在运行时使用这些库。然而,我按照这个方法下载了前人提供的库之后,依然无法运行服务器,报错:

-bash: ./libnghttp2.so.14: No such file or directory

看起来还是少了一个库,于是我从 Docker 的 Ubuntu 容器中复制了这个库出来,服务器终于可以正常运行了。我整理了一下这些库,重新打包了一份上传到了 GitHub(仓库地址)。

以下是完整的服务器安装教程:

新建目录:

mkdir bedrock-server
cd bedrock-server

下载、解压服务器:

wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.16.0.2.zip
yum install unzip -y
unzip bedrock-server-1.16.0.2.zip
rm -f bedrock-server-1.16.0.2.zip

下载、解压库:

wget https://github.com/tomzhu1024/bedrock-server-libraries/raw/master/packed.tar.gz
tar -xzvf packed.tar.gz
rm -f packed.tar.gz
chmod +x start.sh

启动服务器:

./start.sh