教程 Geyser介绍&教程

SummerGoro

互通板块版主 | IMC.RE

管理成员
版主
组长
注册
2019/09/15
消息
221
金粒
48,746.36金粒

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.0和Skript脚本语言对基岩版进行更加优越得支持。​

详情请查看: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服务器圈的和谐氛围。
 
Geyser-Fabric在官网上并没有找到,请问是已经弃更这个版本里面
 

在线会员

  • aLexzz
  • jiantoG9
  • bast_l
  • 颜.
  • Lengthy218
  • 秽墨丶
后退
顶部 底部