借助Geyser实现Minecraft JAVA版与基岩版的联机

本文简单介绍了借助Geyser实现Minecraft JAVA版与基岩版的联机

一些链接

https://geysermc.org/

开始吧

在最近的游戏更新中,mojang正有意地使Java版与基岩版的特性相统一。很难让人不联想到许久以前社区所期待的跨平台联机。

虽然官方并未推出相关操作,但是由社区开发的Geyser让我们可以体验到这难以置信的游戏体验→

什么是Geyser

image-20220726220611388

让 Minecraft Bedrock Edition 的客户端加入您的 Minecraft Java 服务器。这是Geyser官网对自己的解释、从更详细的文档中可以看到,Geyser是充当了一个翻译者,基岩版玩家的游戏数据会向通过geyser的翻译,再发送给目标java版服务器,当Java服务器返回数据时,geyser再负责将其翻译为基岩版所能理解的数据,从而实现了跨平台的游戏联机。

简单说:Geyser是一个代理,也是一个翻译者。

开始吧

我们需要一台计算机,用于翻译者的运行平台。在本文中,我的需求是让我自己的游戏服务器能实现跨平台联机,所以我直接将其部署在同一台服务器上。有趣的是,作为一个翻译者,Geyser不但可以完全独立运行,也可以作为服务器插件运行,这意味着它有这极高的灵活性,你甚至可以用其翻译所有第三方服务器。

注意!因为翻译做不到尽善尽美,Java服务器收到的数据包极大可能存在异常,对于某些高反作弊检测的服务器而言,很难说他们不会把你当做作弊者处理

我们从官网中下载到最后一次成功构建的Geyser独立版。image-20220726220623798

本文中我们直接部署在Linux服务器上,所以用wget命令下载上面的这个文件。

1
wget https://ci.opencollab.dev//job/GeyserMC/job/Geyser/job/master/lastSuccessfulBuild/artifact/bootstrap/standalone/target/Geyser.jar

image-20220726220636159

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

image-20220726220641932

看到>时说明Geyser的初始化已经就绪

接下来我们需要修改一些配置文件。

按下Ctrl + C结束Geyser

修改配置文件

vim config.yml打开配置文件
q 进入编辑模式

config文件中有对各个参数的详细解释,Github上也有详细释义。在此,我们只需要简单修改以下内容。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
bedrock:
# 描述文字,用户在服务器列表看到的服务器介绍
motd1: "Hi enjioy it!"
motd2: "Another Geyser server."
# 服务器名字
server-name: "Rebuild"

remote:
# 这时时你准备翻译的服务器地址
address: rebuild.coooolfan.com
# 目标服务器端口
port: 25565
# 目标服务器是否启用正版验证。offline为离线模式,online为启用正版验证
auth-type: offline

此处只写上了一些必要的参数,在config.yml文件中修改,而不是整段复制!

Esc :wr保存文件

启动Geyser

java -jar Geyser.jar再次启动Geyser

image-20220726220647630

至此,Geyser独立版本的部署已完成。玩家只需在基岩版中连接Geyser的服务器地址即可。

以我为例。得益于Minecraft Java版的默认端口时25565,而基岩版的默认端口时19132,而我的Java服务器和Geyser运行在同一台服务器上。所以,对于玩家而言,不论手机还是电脑,只需连接服务器的地址 rebuild.coooolfan.com即可。

结语

好像没啥好写的,蛤。那就再推荐我的重建黄中项目吧。就此,希望对你有所帮助。


借助Geyser实现Minecraft JAVA版与基岩版的联机
http://coooolfan.com/2021/12/25/minecraft-with-geyser/
作者
Coolfan
发布于
2021年12月25日
许可协议