Tutorial Geyser介绍&教程

SummerGoro

互通板块版主 | IMC.RE
Staff member
版主
Sep 15, 2019
207
5
113
127
Awards
3
河北省石家庄
smgoro.top
52,558金粒
10钻石

Geyser介绍&教程

geyser logo

前言

本教程适用于对于Geyser互通不了解,有偏见,无基础的人群,如果你对互通服务器有一定的兴趣,但是碍于没有开过,不了解怎么开,或是认为互通有过多的bug不愿开的情况,那或许这篇文章能够解决你的问题。

本篇文章并不会过度照顾毫无基础,不思进取的新人,想要深入了解请参阅Geyser 中文百科,以及善用搜索引擎查询现有的资源。

如有问题请确保阅读 版规 - 你问我答版块问答相关规定 - 提问前必读! 后再到 MineBBS你问我答板块 板块进行提问,我们不喜欢重复回答已注明的问题,也不欢迎不会自主学习的人进行提问!


Geyser是什么?

Geyser 是一个代理端,允许让 我的世界基岩版 和 我的世界Java版 的玩家在同一个服务器游玩, 该项目的最终目标是让 我的世界基岩版 用户尽可能无缝地加入 我的世界Java版 服务器,以实现真正的跨平台。

如何工作?

Geyser 是一个中间代理端,它翻译所有传入和传出的数据包。 话虽如此,Geyser 可以作为独立代理工作,这意味着您可以使用它来加入任何支持最新版的Minecraft Java 原版服务器。 Geyser 也可以作为插件安装在您的服务器上,因此您可以轻松地使您的 Java版服务器 与 我的世界基岩版 兼容。

diagram of bedrock edition to geyser to java edition


通俗来说,Geyser类似于一个翻译官,他把Java版服务器的数据包翻译成基岩版客户端能够理解的格式,进而允许基岩版的客户端进入Java版服务器。

需要注意的是,Geyser是一个开源项目,任何项目都不可避免地存在bug(甚至mojang自己的Minecraft也是同理),如果有问题可以在 Issues · Geyser (github.com) 提出,但是开源项目的维护者没有义务去按照你们的意愿去修bug,请铭记!

Geyser的优势?

Geyser的存在使得Minecraft这款游戏全平台同服游玩成为了现实。Minecraft这款游戏大体可分成Java版和基岩版两大版本,常规以往两个版本是无法互通的。Java版是PC平台的主流,而基岩版涵盖Windows10+设备,移动端,游戏主机平台等。能实现如此广泛设备同步游玩的游戏屈指可数,MC官方没做到的事情,可以用Geyser做到。

image-20220530115450436


Geyser严格意义来说并不算一个独立的服务端。Geyser的运行和使用依托于Java版服务端,所以Geyser的存在使得基岩版能够直接使用发展时间较长,生态稳定,资源丰富的Java版服务端生态。

image-20220530122303570


Geyser的开发有赞助商Cubecraft的支持。由于基岩版本身的封闭性,以及版本兼容性的问题,开发者必须要稳步跟进基岩版的更新,否则很容易就被淘汰过时,对于第三方的服务端开发更是如此。而Cubecraft作为基岩版官方推荐服务器,有着足够的资本和技术支撑Geyser的开发,而Cubecraft官方推荐的基岩版服务器本身也是通过互通的技术进行开设的(不过并不是Geyser)。对于一个项目,想要长久稳定下去,除了社区本身的支持,赞助商的存在也是不可或缺的。这也使得Geyser团队能够快速的进行版本的跟进和bug的修复。

image-20220530122928327


Geyser截至目前为止已经近几乎完美的支持原版特性。使用Geyser进行正常的生存是几乎没有问题的。诚然,五郎从Geyser的早期发展时期(BE1.11-1.12)来看确实有不少bug,但如今Geyser绝大部分影响游戏体验的bug已经修复,除去客户端的限制因素有些无法修复的功能以外,Geyser可能是目前支持基岩版的服务端中仅次于BDS适用于基岩版生存服务器的服务端。

image-20220530132457368

Geyser未来将添加支持资源包转换,自定义模型数据等内容支持!这是在Geyser的Github地址里“What's Left to be Added/Fixed”提及的内容。在Geyser发展至今,这个表单在不断变化。一些影响游戏体验的“Fixed”在这个表单上已不复存在,如今增加的更多是对于“Added”的展望。我们有理由相信Geyser将会不断地发展,成为一个优秀的划时代项目。

image-20220530135523492


下面是五郎总结的一个BE服务端的对比表单:

功能/端GEYSERBDSBDS加载器NUKKITPM
适用平台JE/BE全平台BEBEBEBE
原版特性JEBEBE缺失缺失
插件生态基于JE,稳定,强悍需加载器发展中,较混乱一般较弱
性能占用Geyser本身占用较低,但JE服务端占用高。一般一般较低较低
更新速度较快第一时间较慢较快较快
稳定性良好一般一般良好良好
扩展性良好良好良好良好
当然,各个服务端都有着自己的优缺点,只有适合自己的才是最好的。要根据自己的使用环境和要求综合考虑选择的服务端,不要因此产生不必要的歧视和争吵。

Geyser怎么用?

Geyser本身的使用极其简单粗暴,但如果真正想要开好互通服务器对于Java版服务器的了解是必不可少的。本篇教程将着重介绍Geyser相关的使用教程,而对于Java版本身的开服教程将不过多赘述,网上相关的教程资源已经数不胜数。如本文没有提及的部分,即五郎认为在 搜索引擎 都能够查询的内容。请学会独立查询资料,解决问题,这对你今后的开服生涯十分重要。

更加详细的内容请访问:Geyser 中文百科Geyser (geysermc.org) 进行查看。

1. 准备

  1. 你所要连接的 Java 版服务器必须支持最新版本 客户端 加入(截至目前,是 Minecraft 1.18.1)。这代表服务器本身不一定必须是最新版本,但它必须支持最新版本客户端加入。你可以安装 ViaVersion 插件以实现低版本服务端支持高版本客户端,但请注意 官方只支持1.12.2以上版本的服务端
  2. 你运行 Geyser 的设备必须搭载了 Java 16 或更高版本。点击下载Java环境。 如果你对升级 Java 存有疑惑,请访问 https://paper.readthedocs.io/en/latest/java-update/index.html 以查看帮助。如果你使用的服务端核心并不支持 Java 16,请在 启动参数 添加 -DPaper.ignoreJavaVersion=true 来使得你的服务端能够正常运行。如果你的服务端核心实在无法在 Java 16 上运行,请考虑使用 独立版
    image-20220530153444343
  3. 如果你所要连接的服务器是一个 正版服务器,那么你必须拥有一个 正版Java账号。如果你是该服务器的服主,那么你可以考虑使用 Floodgate 以绕过这一要求。
  4. 你的基岩版客户端必须支持 Geyser 当前支持的版本,目前是 1.17.30 - 1.18.2
  5. 你需要在 Geyser 运行的端口上放行 UDP 协议,详情见下。
需要清楚的是,TCP 与 UDP 是两种不同协议,详细的区别请自行搜索。Java版服务器通常使用TCP协议端口,而基岩版服务器通常使用UDP协议端口。如果想要让基岩版玩家通过Geyser进入Java版服务器,则必须要开放UDP端口。默认值一般为 19132 ,你也可以通过配置文件更改连接端口。

2. 下载

对于不熟悉的人来说,Geyser的下载即是一大难题。从Geyser的官方下载链接打开将会是Geyser官方Jenkins页面构建的最新版本Geyser。

image-20220530141718061


Geyser有许多版本,不过可以大致分为独立版插件版。独立版的文件名一般为 Geyser.jar ,而插件版的文件名一般为 Geyser-xxx.jar ,而后面的 xxx 一般指的是对应的核心,如 Geyser-Spigot.jar 就是指的 Spigot 核心插件。

image-20220530143328561


选择自己认为合适的版本下载即可,不需要全部下载。如果不知道如何选择的话,推荐使用独立版本,插件版的效果会直接受到服务端本身的性能影响。

3.搭建

插件版搭建:

  1. 构建服务器 上下载 你所需要的对应服务端的插件版
  2. 将下载好的 Geyser-xxx.jar 文件放置到服务端的 plugins 文件夹,并启动服务端。
  3. 在 config.yml 修改配置。如果你不懂各个配置文件是干什么的,请 点击这里 查看。
  4. 如果你修改了配置,你需要 重启 你的服务器。
  5. 默认情况下,Geyser 开启的是端口是 19132,这也是 基岩版添加服务器时的默认端口
如果 Geyser 和你的基岩版客户端在同一个局域网内,那么你可以通过基岩版客户端中的 好友 选项卡加入服务器。

独立版的搭建

请务必注意,你只能在你的 电脑或者云服务器上 使用 Geyser 独立版。类似Termux 的软件虽然在安卓上也能够运行 Geyser 独立版,但很遗憾的是,你需要保证你的手机有足够的性能,一句话,后果自负

  1. 构建服务器 上下载 独立版
  2. 创建一个专门给 Geyser 准备的文件夹,然后把独立版的 .jar 文件放置在那。

图形化搭建(推荐)

  1. 双击 .jar 文件,Geyser 就会启动会生成它运行所需的所有文件。请确保您已经安装最新版Java!
  2. 在 config.yml 修改配置。如果你不懂各个配置文件是干什么的,请 点击这里 查看。
  3. 重启 Geyser 独立版本。

命令行搭建

  1. 像打开一个 Spigot/Paper 服务器一样,创建一个 .bat 或者 脚本 文件。如果你不知道如何编写,请 点击这里 查看教程。
  2. 运行 .bat 或者 脚本 文件,Geyser 就会启动会生成它运行所需的所有文件。
  3. 在 config.yml 修改配置。如果你不懂各个配置文件是干什么的,请 点击这里 查看。
  4. 重启 Geyser 独立版本。
更多搭建方式请 点击这里 查看相关内容。如果不了解配置文件也可通过 GeyserMC中文镜像站: 配置编辑器 - SMGoro.TOP 的在线工具进行查看编辑。

Geyser常见问题?

Geyser绝大多数常见问题官方均给出了解答,你可以通过 Geyser中文Wiki - 常见问题Geyser官方Wiki - FAQ 进行查询。

如有问题请确保阅读 版规 - 你问我答版块问答相关规定 - 提问前必读! 后再到 MineBBS你问我答板块 板块进行提问,或者直接通过 Issues · Geyser (github.com) 反馈给官方,我们不喜欢重复回答已注明的问题,也不欢迎不会自主学习的人进行提问!


在这里,五郎只列出一些官方说明的大部分常见的问题,以及官方并没有提及的一些内容。

Geyser 是如何工作的?

Geyser 像一个翻译官那样工作,将传入和传出的数据包翻译为客户端和服务端(服务器) 都能理解的格式。这样说来,它模拟了 Minecraft Java版 客户端,因此服务器实际上认为您是从 Java版本 加入的。无论是什么服务器以及它安装了什么插件,您都可以将其与 Geyser 连接(只要服务器支持最新的Minecraft版本)。

红石是按照哪个版本工作的?

红石,还有 指令、农场 等各种机制都是按照 Java版 工作的。因为你加入的服务器是一个 Java版 服务器。

Geyser 是付费的吗?

不,Geyser它的相关一切作品 都是 免费且开源的,且遵循 MIT 协议。

我应该使用哪个版本的 插件版Geyser?

Geyser-Spigot 支持什么版本?

支持 1.12.2 及更高版本。如果你的服务器比这个版本还低,请使用独立版。

我如何让基岩版玩家加载资源包?

你可以在 Geyser 下的 packs 文件夹放置资源包。基岩版客户端在加入服务器时会自动下载资源包。目前没有 Java-基岩 资源包自动转换 的功能,如果你需要转换资源包格式,请前往 https://rtm516.github.io/ConvertJavaTextureToBedrock/ 并把转换好的资源包放置在 Geyser 内。

有时,世界跑的很远以后客户端会很卡.

这是 基岩版 客户端的问题。具体请 点击这里 查看。

我可以使用 Geyser 使得 Java 版玩家进入基岩版服务器吗?

不,Geyser 只是一个使得 基岩版玩家加入Java版服务器 的工具,你是怎么想到反着来也可以的?

我可以通过 Geyser 连接一个旧版本的服务器吗?

如果这个服务器安装了 ViaVersion 或者通过其他方法支持最新的 Minecraft 版本,那么,是的,你可以!但是,我们 不推荐 这么做!

过时的客户端!请使用 1.x.x

服务器太新或间歇泉已过时。确保您使用的是最新的间歇泉。

过时的服务器!我仍然在1.x.x上

更新服务器或要求他们安装 ViaVersion。您也可以尝试 VIAaaS(ViaVersion 即服务)。

五郎注:

Geyser的bug很多吗?

Geyser仍旧有一部分bug,Geyser中文wiki - 当前限制 记录了Geyser因客户端受限无法修复的内容。不过目前为止Geyser已经修复了大部分影响游戏体验的内容。

Geyser与boat一类的“互通”有什么区别?

Geyser是基于服务端的数据包翻译,从而实现基岩版进入Java版服务器的一个代理端。而boat一类的则是在手机平台运行Java客户端。Geyser是真正意义上的“全平台互通”,而boat等工具由于各种原因综合体验并不好,而且只适用于手机平台。

体验Geyser互通服务器?

Geyser进阶教程

Geyser本身只是一个“翻译器”,无法作为一个独立的服务端来看待,因此尽管到目前为止Geyser在全世界的MC服主已经广为所知,但相关的社区依旧不温不火。

也正因如此,“Geyser”对于原先就在开JE服务器的服主来说成为了一种“扩张手段”,只是单纯的添加了Geyser,却并不重视基岩版玩家的游戏体验。或是原先在开BE的服主,因为种种原因而选择Geyser面向BE玩家,缺苦于游戏平衡等问题封锁对于JE玩家的开放。

而能够打破这一现状的,正是Floodgate2.0的发布和Skript脚本语言的支持!JE-BE互通板块开发内容将以Geyser作为主要开发基础依赖,凭借Geyser的附属插件Floodgate 2.0Skript脚本语言对基岩版进行更加优越得支持。

详情请查看:https://www.minebbs.com/threads/9096/

Geyser相关资源

随着Floodgate2.0的发布以及Geyser的持续更新,通过Geyser给基岩版玩家带来更好的游戏体验逐渐成为了可能。通过Floodgate让基岩版玩家加入Java正版认证服务器,对于基岩版玩家的设备侦测,BEForm的调用等为专精互通的相关开发处于萌芽阶段。

你可以通过 https://www.minebbs.com/resources/categories/je-be.59/ 里的相关资源来提升你的互通服务器水平和基岩版玩家的游戏体验!

结语

Geyser对于Minecraft服务器而言毫无疑问是一个划时代的发明,但如何运用好这款工具,取决于你自己。我们欢迎有学习能力,会独立思考的人加入到互通服务器这个大家庭中,我相信你们的加入能够给这个环境增添一份不一样的色彩。

与此同时,我们并不欢迎态度傲慢,毫无动手能力和学习能力的人破坏我们一天的好心情。没有任何人有义务回答你的问题,也不欢迎各种有心人士来搅乱我们的圈子。

学会自己动手,是你在这个圈子最需要做的事情。

另再重申一遍,各个服务端都有着自己的优缺点,只有适合自己的才是最好的。要根据自己的使用环境和要求综合考虑选择的服务端,不要因此产生不必要的歧视和争吵。
冰凉大佬主持开发的PowerdNukkitX,以及Liteloader BDS插件加载器等都是国人原创BE原生的十分优秀的项目,我不希望有任何别有用心之人破坏这个本就不大的BE服务器圈的和谐氛围。
 
打赏用户:
YYT