借助Geyser实现Minecraft JAVA版与基岩版的联机
本文简单介绍了借助Geyser实现Minecraft JAVA版与基岩版的联机
一些链接
开始吧
在最近的游戏更新中,mojang正有意地使Java版与基岩版的特性相统一。很难让人不联想到许久以前社区所期待的跨平台联机。
虽然官方并未推出相关操作,但是由社区开发的Geyser让我们可以体验到这难以置信的游戏体验→
什么是Geyser
让 Minecraft Bedrock Edition 的客户端加入您的 Minecraft Java 服务器。
这是Geyser官网对自己的解释、从更详细的文档中可以看到,Geyser是充当了一个翻译者
,基岩版玩家的游戏数据会向通过geyser的翻译,再发送给目标java版服务器,当Java服务器返回数据时,geyser再负责将其翻译为基岩版所能理解的数据,从而实现了跨平台的游戏联机。
简单说:Geyser是一个代理,也是一个翻译者。
开始吧
我们需要一台计算机,用于翻译者的运行平台。在本文中,我的需求是让我自己的游戏服务器能实现跨平台联机,所以我直接将其部署在同一台服务器上。有趣的是,作为一个翻译者,Geyser不但可以完全独立运行,也可以作为服务器插件运行,这意味着它有这极高的灵活性,你甚至可以用其翻译所有第三方服务器。
注意!因为翻译做不到尽善尽美,Java服务器收到的数据包极大可能存在异常,对于某些高反作弊检测的服务器而言,很难说他们不会把你当做作弊者处理
我们从官网中下载到最后一次成功构建的Geyser独立版。
本文中我们直接部署在Linux服务器上,所以用wget
命令下载上面的这个文件。
1 |
|
mkdir Geyser
在当前目录下创建一个文件夹用于存放相关文件mv Geyser.jar Geyser/Geyser.jar
把刚刚下载到的文件移动到新文件夹中cd Geyser
进入新路径
准备screen
为了确保我们的服务能在用户退出后仍保持运行,我们需要用screen或者tmux等应用来创建一个新会话用于保持此进程。
此文中用screen演示sudo apt install screen
安装screen
不太清楚screen的基础操作?
没关系,我们只会用到一些基础操作。参考连接点此
screen -R 会话名字
进入到指定会话名的会话中,如果没有,创建指定的会话名screen -ls
显示目前所有的会话screen -S 会话名字 -X quit
删除指定的会话Ctrl + A + D
让当前会话离线(在后台运行)
Geyser的初始化
Geyser依赖于一些基础的配置文件,这些文件会在Geyser第一次运行时被创建。
screen -R Geyser
创建一个名为Geyser的会话java -jar Geyser.jar
第一次运行Geyser
看到>
时说明Geyser的初始化已经就绪
接下来我们需要修改一些配置文件。
按下Ctrl + C
结束Geyser
修改配置文件
vim config.yml
打开配置文件q
进入编辑模式
config文件中有对各个参数的详细解释,Github上也有详细释义。在此,我们只需要简单修改以下内容。
1 |
|
此处只写上了一些必要的参数,在config.yml文件中修改,而不是整段复制!
Esc
:wr
保存文件
启动Geyser
java -jar Geyser.jar
再次启动Geyser
至此,Geyser独立版本的部署已完成。玩家只需在基岩版中连接Geyser的服务器地址即可。
以我为例。得益于Minecraft Java版的默认端口时25565,而基岩版的默认端口时19132,而我的Java服务器和Geyser运行在同一台服务器上。所以,对于玩家而言,不论手机还是电脑,只需连接服务器的地址 rebuild.coooolfan.com
即可。
结语
好像没啥好写的,蛤。那就再推荐我的重建黄中项目吧。就此,希望对你有所帮助。