搭建MCPE服务器

目前搭建MCPE服务器的方法主要有两种:PocketMine-MPNukkit。前者基于PHP,而后者基于Java。
无论选择哪一种方法,都要确保游戏客户端和服务器端均是最新版本。如果版本不匹配,可能造成无法连接等问题。

PocketMine-MP

运行PocketMine-MP需要php7环境和大量的拓展库,例如php-leveldb和yaml等。即使你已经通过brew、yum等包管理工具安装了php,也可能无法正确启动服务器——它们一般是不会自带这些拓展库的。为了免去手动编译安装拓展的麻烦,比较简单的解决方法是使用php-build-scripts。它会编译出带有所有必要的拓展库的php,供PocketMine-MP使用,并且不会与系统原有的php环境冲突。比如在Mac下,执行

1
2
3
git clone https://github.com/pmmp/php-build-scripts.git
cd php-build-scripts
bash compile.sh -t mac64 -l -j4 -f

即可编译安装php(Linux将参数对应改为-t linux64即可)。
完成后,再执行bash installer.sh,就会自动下载PocketMine-MP.phar等必要程序。最后,执行bash start.sh就可以运行了,接下来根据提示进行配置即可。这种方式非常方便,只要记得使用screen,然后等上几分钟就行。更多配置可以参考其官方文档。

Nukkit

Nukkit的原版似乎已经失去维护,其官方网站Nukkit.io也无法打开。这里介绍的是一个fork出的分支。
Nukkit需要Java8环境,如果没有安装,可以前往ORACLE官网下载。运行方式也很简单,克隆这个仓库后,依次执行:

1
2
3
git submodule update --init
mvn clean package
java -jar Nukkit.jar

当然,在其新维护者的官网上也有发布的版本,无需自行编译Jar文件,可以前往NukkitX查看。
Nukkit的主要问题是不支持leveldb,也就是无法打开较新的MCPE存档,只支持MC存档和上古的MCPE存档,因此建议使用第一种方法。

客户端

PocketMine-MP和Nukkit启动后默认都会监听19132端口,配置服务器时填写局域网或公网IP/域名即可。更多的设置项可以参考它们的文档。

更多

转换存档的格式可以用这个脚本:LevelDb2Avnil,不过看上去兼容性仍存在问题,请谨慎使用。

🍭支持一根棒棒糖!
0%