树莓派Minecraft服务器(Java+基岩with红石)

【原创】树莓派Minecraft超长开服折腾记录(Java+基岩with红石)

我不是菜鸟

喜欢

2170
浏览
3
喜欢

> 更多图片

项目状态:已完成
开放度:公开
所属分类:软件
发布时间:2020-01-30
最近更新:2021-04-18

标签

Maker 尚未留下关于此项目的任何描述...

教程

【原创】树莓派Minecraft超长开服折腾记录(Java版+基岩版 with 红石)

更新更新:目前使用树莓派开基岩版服务器我能找到的最好方案是Java+Geyser

我去......这他妈的终于成功了

折腾时长长达半年啊,从学期初到末再到放寒假再到春节,今天可是大年初二

本教程制作匆忙,很多东西都是点到为止,而且也没有什么图片(以后可能会配图),也肯定会有纰漏或者错误,请多多包涵

目录:

  • Java版篇

  • 基岩版篇(Nukkit(X),Pocketmine-MP,官方服务端)

好了,废话不多说,开始

mkdir minecraft && cd minecraft

Java版篇

Java极其简单,且容易地可跨平台,但与基岩版相比代码效率更低

mkdir Java && cd Java

1.搭建Java环境

sudo apt install default-jdk

不行就百度,再不行就谷歌,这篇或许有帮助

2.下载服务器jar

这里有多种选择,可以官方下载

也可以通过Paper或者spigot获得对应的版本,基本上是一样的,但据说spigot的效率更高一些

这里下载目前最新官方jar链接举例

wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jar

3.运行jar

java -jar server.jar

之后提示需要同意EULA协议并自动退出,这时候打开同目录下的eula.txt并把false改成true就可以了,此处点到为止

修改之后再次运行,成功

更多参考资料(点到为止):

  1. 编辑server.properties以配置服务器

  2. 性能提升

  3. 使用screen更方便地管理服务器

仍不能解决?这篇或许有帮助

基岩版篇

好了重头戏来了,这里我卡了太太太久

cd ../
mkdir bedrock && cd bedrock

首先,先简单介绍一下目前可供选择的服务器端软件和

  1. 官方的bedrock_server(目前只有x64而没有arm的)

  2. 国人领导开发的Nukkit(或者说NukkitX,基于Java)

  3. 只支持64位系统的PocketMine-MP(基于PHP)

注意“只支持64位系统”不是说只支持x64,树莓派上也可以安装64位Linux来运行Pocketmine-MP


Nukkit(NukkitX)

Nukkit极其简单,因为它基于Java

mkdir nukkit && cd nukkit

1.搭建Java环境

上面不是讲过了嘛......人家不讲了

2.下载Nukkit的jar(这个链接总是指向最新的jar)

wget https://ci.nukkitx.com/job/NukkitX/job/Nukkit/job/master/lastSuccessfulBuild/artifact/target/nukkit-1.0-SNAPSHOT.jar

3.运行jar

java -jar nukkit-1.0-SNAPSHOT.jar

之后自己选择语言,配置server.properties(上面有),这里不讲了


Nukkit更多参考资料:

  1. NukkitX官网

  2. Jenkins页面(下载页面)

  3. [0.16-1.14.x[NPS] 已配置纯净服务端合集 - Nukkit服务端整合 - Minecraft(我的世界)中文论坛 ](https://www.mcbbs.net/thread-810442-1-1.html)

  4. [[原创] 超简单的 Nukkit 三步开服教程,Windows Linux MacOS 系统通吃 - Nukkit服务端专区 - Minecraft(我的世界)中文论坛](https://www.mcbbs.net/forum.php?mod=viewthread&tid=553920&gdbiecjmohdbimop)

  5. 超简单Nukkit开服法+映射到外网教程 - Nukkit服务端专区 - Minecraft(我的世界)中文论坛

但是,有个很严峻的问题,它不能完整地拥有MCPE中所有的组件,如生物自然生成,红石等,而且生成的地貌极其难看,一点都不像原版中的地形地貌

不过,有很多插件可以使用,可以模拟官方的一些功能,但是,我找不到红石的mod啊(也可能是我太菜了)

于是乎?继续下一个尝试————


PocketMine-MP

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项目

所以我们可以——

sudo apt install make libtool m4 wget gzip bzip2 bison g++ git cmake m4 bison pkg-config libtool libtool-bin
#准备编译软件

git clone https://github.com/pmmp/php-build-scripts

cd php-build-scripts

bash compile.sh
#注意,这需要大约一两个小时(真的)

完成之后,你会发现你当前目录下会多一个 bin 文件夹,这个等下再说

2. 安装PoketMine-MP

cd ../

直接使用git,其他的方法不要信

git clone --recursive --depth 1 https://github.com/pmmp/pocketmine-mp.git pocketmine-mp.git 

之后把刚才得到的 bin 文件夹复制进去

cp -r php-build-scripts/bin/ pocketmine-mp.git/

之后需要获取PocketMine-MP.phar

你可以从它GitHub的releases找到,也可以从其他渠道

我直接从jenkins获取最新成功的phar

https://jenkins.pmmp.io/job/PocketMine-MP/lastSuccessfulBuild/artifact/PocketMine-MP.phar

3.启动

之后直接运行start.sh即可

bash ./start.sh

自己根据向导配置服务器端啦

完成

但是它还是有很多不足的,缺点与Nukkit相似:很多官方的东西都没有

但是它有一个红石的插件,很赞!


PocketMine-MP更多参考资料:

  1. 安装— PocketMine-MP文档

  2. Pocketmine-MP旧官网

  3. Pocketmine-MP新官网

  4. 官方列出的一些mod


官方的Bedrock-server

出于对完美的追求,我去尝试了官方的服务器软件

官方也给出了官方的服务器端,既有Windows也有Ubantu

但是,它们是基于x64的,所以一个都用不了

所以......wine?

错了,应该尝试qemu-user,wine我试了是不能解决问题的

有人还提出了提前安卓的arm平台的APK安装包加自己制作运行程序来制成官方的服务器环境,据称性能很好,但是我尝试的教程并没有成功(我感觉它被砍掉了一部分???)

注意:下面尝试qemu的这个实例基本没有任何尝试的意义,因为即使你成功运行了,应该还是会和我一样卡得要死(我用的是顶配树莓派4)

好吧还是记录一下过程

首先准备qemu-user

sudo apt search qemu-user-static

之后获取官网的Ubantu版本的服务端软件(略)

目前假定你已经展开安装包进入目录

尝试运行,会提示缺少依赖

这时,需要从x64的Linux里cp一些库文件进来(你说烦不烦)

需要复制的目录有三个

/lib64
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu

之后可以调用wuem-user运行,但是卡的要死,CPU真的是全功率运行的

玩还是可以勉强玩的...但是真的很卡,几乎无法投入实用

所以...最终还是不尽人意啊,但是PocketMine有个红石,我觉得差强人意


Bedrock-server on arm的更多参考资料:

我尝试之后发现Google上也有一个差不多的教程

还发现有个脚本帮你完成上面的操作(大概是)

https://raw.githubusercontent.com/TheRemote/MinecraftBedrockServer/master/SetupMinecraft.sh