『树莓派』Minecraft超长开服折腾记录(Java+基岩with红石)
【原创】树莓派Minecraft超长开服折腾记录(Java版+基岩版 with 红石)
更新:现在基岩版服务器最佳方案是Java+Geyser
我去…这他妈的终于成功了
折腾时长长达半年啊,从学期初到末再到放寒假再到春节,今天可是大年初二
本教程制作匆忙,很多东西都是点到为止,而且也没有什么图片(以后可能会配图),也肯定会有纰漏或者错误,请多多包涵
目录:
-
Java版篇
-
基岩版篇(Nukkit(X),Pocketmine-MP,官方服务端)
好了,废话不多说,开始
1 | mkdir minecraft && cd minecraft |
Java版篇
Java极其简单,且容易地可跨平台,但与基岩版相比代码效率更低
1 | mkdir Java && cd Java |
1.搭建Java环境
1 | sudo apt install default-jdk |
不行就百度,再不行就谷歌,这篇或许有帮助
2.下载服务器jar
这里有多种选择,可以官方下载
也可以通过Paper或者spigot获得对应的版本,基本上是一样的,但据说spigot的效率更高一些
这里下载目前最新官方jar链接举例
1 | wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar |
3.运行jar
1 | java -jar server.jar |
之后提示需要同意EULA协议并自动退出,这时候打开同目录下的eula.txt并把false改成true就可以了,此处点到为止
修改之后再次运行,成功
更多参考资料(点到为止):
仍不能解决?这篇或许有帮助
基岩版篇
好了重头戏来了,这里我卡了太太太久
1 | cd ../ |
首先,先简单介绍一下目前可供选择的服务器端软件和
- 官方的bedrock_server(目前只有x64而没有arm的)
- 国人领导开发的Nukkit(或者说NukkitX,基于Java)
- 只支持64位系统的PocketMine-MP(基于PHP)
注意“只支持64位系统”不是说只支持x64,树莓派上也可以安装64位Linux来运行Pocketmine-MP
Nukkit(NukkitX)
Nukkit极其简单,因为它基于Java
1 | mkdir nukkit && cd nukkit |
1.搭建Java环境
上面不是讲过了嘛…人家不讲了
2.下载Nukkit的jar(这个链接总是指向最新的jar)
1 | wget https://ci.nukkitx.com/job/NukkitX/job/Nukkit/job/master/lastSuccessfulBuild/artifact/target/nukkit-1.0-SNAPSHOT.jar |
3.运行jar
1 | java -jar nukkit-1.0-SNAPSHOT.jar |
之后自己选择语言,配置server.properties(上面有),这里不讲了
Nukkit更多参考资料:
- NukkitX官网
- Jenkins页面(下载页面)
- [0.16-1.14.x][Nukkit|NukkitX][NPS] 已配置纯净服务端合集 - Nukkit服务端整合 - Minecraft(我的世界)中文论坛
- [原创] 超简单的 Nukkit 三步开服教程,Windows Linux MacOS 系统通吃 - Nukkit服务端专区 - Minecraft(我的世界)中文论坛
- 超简单Nukkit开服法+映射到外网教程 - Nukkit服务端专区 - Minecraft(我的世界)中文论坛
但是,有个很严峻的问题,它不能完整地拥有MCPE中所有的组件,如生物自然生成,红石等,而且生成的地貌极其难看,一点都不像原版中的地形地貌
不过,有很多插件可以使用,可以模拟官方的一些功能,但是,我找不到红石的mod啊(也可能是我太菜了)
于是乎?继续下一个尝试————
PocketMine-MP
1 | mkdir pocketmine && cd pocketmine |
这个相对复杂
首先,你需要一个64位Linux,这有点难搞(What?)
其次,你执行官方的自动安装脚本是行不通的(What?)
好吧,这就需要耐心了,你想,我都一路摸索过来了,你再难有我难?
0.准备64位Linux
第0步?是的呢
你可能也感觉有点崩溃,又要烧录一次?
没事的,不要来,慢慢急 不要急,慢慢来,给点耐心好吧
这里选择你喜欢的Linux都可以,但是我可以推荐一个「树莓派爱好者基地」推出的系统
新手甚至可能会卡在这个“第0步”
这里需要折腾的事情对于新手来说甚至可能比搭建MC服务器更多,但是,相信自己能解决所有的问题好吧
关于配置64位系统的问题去参考官方教程,我这里点到为止好了
目前,假如你配置好了64位系统,请往下面操作
1.准备PHP环境
你以为apt就可以了吗?No!No!No!
Pocketmine-MP需要一大堆PHP拓展,最关键的一个是php-pthreads
可以apt啊!
那你来啊!
安装这个拓展,需要在编译的时候要指定开启zts(好像是这个名字)
但是apt下来的PHP这个zts是没有打开的,要开启要只能重新编译
那…PocketMine不是给了一些编译好的二进制文件吗?
我试了啊!没一个能用的(7456)
那…源码编译可以吗?
或许可以,但是我没能成功(太烦了)
最最最后,我找到一个Pocketmine-MP帮助编译PHP的github项目
所以我们可以——
1 | sudo apt install make libtool m4 wget gzip bzip2 bison g++ git cmake m4 bison pkg-config libtool libtool-bin |
完成之后,你会发现你当前目录下会多一个 bin 文件夹,这个等下再说
2. 安装PoketMine-MP
1 | cd ../ |
直接使用git,其他的方法不要信
1 | git clone --recursive --depth 1 https://github.com/pmmp/pocketmine-mp.git pocketmine-mp.git |
之后把刚才得到的 bin 文件夹复制进去
1 | cp -r php-build-scripts/bin/ pocketmine-mp.git/ |
之后需要获取PocketMine-MP.phar
你可以从它GitHub的releases找到,也可以从其他渠道
我直接从jenkins获取最新成功的phar
1 | https://jenkins.pmmp.io/job/PocketMine-MP/lastSuccessfulBuild/artifact/PocketMine-MP.phar |
3.启动
之后直接运行start.sh即可
1 | bash ./start.sh |
自己根据向导配置服务器端啦
完成
但是它还是有很多不足的,缺点与Nukkit相似:很多官方的东西都没有
但是它有一个红石的插件,很赞!
PocketMine-MP更多参考资料:
官方的Bedrock-server
出于对完美的追求,我去尝试了官方的服务器软件
官方也给出了官方的服务器端,既有Windows也有Ubantu
但是,它们是基于x64的,所以一个都用不了
所以…wine?
错了,应该尝试qemu-user,wine我试了是不能解决问题的
有人还提出了提前安卓的arm平台的APK安装包加自己制作运行程序来制成官方的服务器环境,据称性能很好,但是我尝试的教程并没有成功(我感觉它被砍掉了一部分???)
注意:下面尝试qemu的这个实例基本没有任何尝试的意义,因为即使你成功运行了,应该还是会和我一样卡得要死(我用的是顶配树莓派4)
好吧还是记录一下过程
首先准备qemu-user
1 | sudo apt search qemu-user-static |
之后获取官网的Ubantu版本的服务端软件(略)
目前假定你已经展开安装包进入目录
尝试运行,会提示缺少依赖
这时,需要从x64的Linux里cp一些库文件进来(你说烦不烦)
需要复制的目录有三个
1 | /lib64 |
之后可以调用qume-user运行,但是卡的要死,CPU真的是全功率运行的
玩还是可以勉强玩的…但是真的很卡,几乎无法投入实用
所以…最终还是不尽人意啊,但是PocketMine有个红石,我觉得差强人意
Bedrock-server on arm的更多参考资料:
我尝试之后发现Google上也有一个差不多的教程
还发现有个脚本帮你完成上面的操作(大概是)
1 | https://raw.githubusercontent.com/TheRemote/MinecraftBedrockServer/master/SetupMinecraft.sh |
结语
关于内网穿透,很多人都推荐免费的Sakura Frp
但是秉承着一分钱一分货的思想
我推荐哲西云
一位数RMB买到永久的内网穿透(每月限流1GB)
我一路上真的学了挺多的,这个折腾的确挺有意义的
最后总结一句话:人生在于折腾!