起因

博主偶然在B站看到随身WIFI上搭建我的世界服务器的相关内容,于是决定自己研究,搭建一个流畅、可多人游玩、能长期开放的我的世界服务器。

初步搭建

1. 服务端的安装

这台随身WIFI搭载的是老掉牙的高通骁龙410和512M+4G存储,实在没有足够的性能去流畅运行Java版和基岩版的原版客户端,再如何优化也大概率是支撑不起原汁原味的体验的。即使考虑使用专门为小游戏等使用的服务端,如PocketMine-MP、Nukkit,它们的性能要求也依然超越了这台弱小的随身WIFI。最后,我选择了一个极为冷门的服务端——https://cuberite.org/

1.1 服务端简介

Cuberite是一个免费和开源(FOSS)的游戏服务器,与Minecraft Java版兼容。Cuberite在设计时考虑了性能、可配置性和可扩展性,旨在准确地重新创建大多数普通功能。服务器是用C++编写的,并且有一个广泛的插件系统,允许用户使用Lua编写自己的插件。事实上,许多内置命令都是由Core插件实现的,它有自己的GitHub存储库和开发人员社区。有关插件系统的更多信息,以及如何使用它,以及如何开发它,请参阅插件

机翻自Cuberite User's Manual

作为一个在2010年底开始开发的项目,截至目前,该服务端兼容的游戏版本是1.8~1.12.2(在Github有兼容1.14版本的分支,但我没测试)。可运行它的平台上至Windows、Linux、Macos,下至Android、树莓派,即使不兼容的平台也可通过编译运行。

近来Cuberite服务端的开发十分缓慢,但如他们在介绍中所述,Cuberite的开发仍将继续

“As a longstanding project, Cuberite's lifecycle has seen several ups and downs. Despite periods of hibernation and developers with busy lives, Cuberite's development still continues thanks to new and old contributors.”

来自Cuberite User's Manual

1.2 下载服务端并启动

官网能很轻松下载到该服务端,开发者们已经贴心地编译好了linux-aarch64版本,使用Debian 12的我们可以开箱即用。

SSH连上棒子后,使用mkdir创建目录,以及wget和tar命令来下载和解压文件到指定目录。

mkdir ~/cuberite_server
wget -P ~/cuberite_server https://download.cuberite.org/linux-aarch64/Cuberite.tar.gz
tar -zxvf ~/cuberite_server/Cuberite.tar.gz -C ~/cuberite_server

完成后,进入cuberite_server目录下,开启服务器。

cd ~/cuberite_server
./Cuberite

控制台出现如下字样即表示服务端启动完毕。

[19:24:21] Server Running On Port: 25565
[19:24:21] WebAdmin is running on port(s) 8080
[19:24:21] Startup complete, took 47164ms!

1.3 配置并连接服务端

为了修改配置,需要先关闭服务端,输入stop

关闭正版验证

这步操作是让离线玩家能够进入服务器,按需配置。

编辑服务器配置文件,使用nano命令。

nano ~/cuberite_server/settings.ini

看到这一栏。

[Authentication]
Authenticate=1
AllowBungeeCord=0
OnlyAllowBungeeCord=0
ProxySharedSecret=
Server=sessionserver.mojang.com
Address=/session/minecraft/hasJoined?username=%USERNAME%&serverId=%SERVERID%

Authenticate=1修改为Authenticate=0即可。

最后按Ctrl + X,提示“保存已修改的缓冲区?”时按 Y,最后回车即可保存配置。

进入服务器

再次开启服务器

cd ~/cuberite_server
./Cuberite

接下来,启动Java版Minecraft 1.12.2,在游戏内添加服务器并填好服务器名称和随身WIFI的IP地址(可使用hostname -I查看),进入服务器。

1.4 优点与缺点

游戏截图1.webp

游戏截图2.webp

可以很明显地发现,这个服务端的地图生成、生物逻辑以及众多特性与原版存在些许差异(比如大白天出来和你贴贴的苦力怕酱)。但服务端的占用极低,在放了一堆生物和TNT乱炖的情况下,这颗骁龙410总占用率20%不到,频率长时间在600Mhz,连口气都不带喘。

(这个测试有点水,不过这个服务端嘎嘎流畅就是了)

尽管如此,它对原版许多特性的支持显得十分匮乏,这或许就是其冷门的一大原因。

配置服务器

接下来要做的,就是避开上述短板,依靠插件来补全服务器的玩法,并通过配置逐步完善服务器。

2. 插件的下载与安装

这是Cuberite的插件论坛https://forum.cuberite.org/forum-2.html,可以从这里下载到由社区制作的众多插件