玩一玩 GeyserMC

立音喵
立音喵
2022年04月30日


那么怎么办呢?想到有 Mod 能让电脑版 Java 跨版本连接,那么有没有方法让基岩版的 Minecraft 连接到 Java 版服务器呢?毕竟这两个还挺相似的嘛。

于是 GeyserMC 就出现在了我的面前。

GeyserMC 是什么

  • 一个 Minecraft 通信协议转换器
  • 一个“虚假的” Minecraft 基岩版服务端
  • 一个“虚假的” Minecraft Java 版客户端

GeyserMC 不是什么

  • 一个可以独立运行的 Minecraft 服务端

GeyserMC 的作用

GeyserMC 会在基岩版客户端连接时充当一个基岩版服务器,然后同时向你配置的 Java 版服务器装作自己是一个 Java 版的游戏客户端连接上去。

crossplat1

这样,在 Java 服务端看来,你就是一个 Java 版的客户端,而在基岩版游戏中它也会认为自己连接了一个有效的基岩版服务器。

怎么可以这样?

因为 Minecraft 的所有运算行为都是由服务端完成的,客户端实际上并不参与运算过程,所以在联机游玩时,只要客户端可以正常理解服务端发送过来的信息并且渲染出来就可以了,虽然基岩版和 Java 版使用的协议不太一样,但他们的游戏内容大部分是相似的,稍有不同的部分也可以稍微施展一点魔法,用已有的内容来“替代”他们,让他们显示出来。

那我该如何使用呢?

GeyserMC 的安装十分简单,只需要从 这里 下载 Geyser.jar 文件,并且使用 java -jar Geyser.jar 来运行就可以了!当然 GeyserMC 还支持 Spigot、BungeeCord、Sponge 等等服务端的特殊包,按照自己需要来选用即可。

download

配置 auth-type

但...........正式启动之前,我们要先来稍稍配置一下 GeyserMC,打开 config.yml 配置文件,定位到 remote 章节,你需要关注 addressauth-type 选项,将 address 设置为你目标 Java 服务器的地址,然后设置 auth-type 选项为 online / offline / floodgate 中的其中之一。同时,这个值必须和 Java 版服务端使用的认证方式相同。

config

online

online 选项中,GeyserMC 会在你每一次连接到 GeyserMC 时要求你登录购买了 Java 版本 Minecraft 游戏的账号中,请注意,这个登录行为可能让你的用户名和密码被 GeyserMC 看到,所以如果你正在使用公用服务器,那么请谨慎输入(可以使用连接码模式)。

也就是说,连接到使用这个模式的服务器时,你必须同时拥有 Java 版和基岩版的游戏。

offline

很简单,离线登录模式,只需要你输入用户名就可以了。

floodgate

GeyserMC 特有的验证方式,通过服务端 Mod 让 Java 版 Minecraft 服务器可以使用基岩版的认证来登录 Java 版服务端。具体请参阅 Floodgate

启动并登录

现在,运行 GeyserMC,然后打开基岩版客户端,选择 开始游戏 - 服务器,然后拉到最下面添加服务器,指向你的 GeyserMC 服务端。

addserver

然后就可以看到这个 GeyserMC 服务器啦!

server

这时,GeyserMC 将会根据你所配置的 auth-type 显示对应的登录界面,登录后你就来到了 Java 版的游戏中啦!Enjoy!

login

play

不要做什么? / 不能做什么?

由于 GeyserMC 是一个协议转换器,所以它不能完美的转换一些数据包,比如移动的数据包。由 GeyserMC 转换的运动数据数据包是不连续的,所以如果目标服务器有反作弊功能,你可能会被封禁!

而且由于协议的不确定性,GeyserMC 无法支持任何 Mod 服务端,所以不要想用手机版玩 Java 版的 Mod 服啦!

评论区
Made with ♥ by LiYin
Yin Theme V2