• 欢迎来到HiMCBBS论坛~ QQ群:879016948 论坛已开启超级审核! 发布/查看资源请到导航栏的【资源中心】!
  • 用爱发电——支持论坛~ 您可以不花一分钱支持我们啦!详见此处

wubingxuan

【Lv:2】
楼主
个人认证
HiMCBBS站长、WXMC Group创始人
管理成员
管理员
版主
成员
2024-03-02
6
3
勋章
2
金粒
4,225金粒
钻石
0钻石
Geyser插件使用教程/简介

GeyserMC

让基岩版玩家能够连接Java版服务端​

Revolutionize Your Minecraft Server —— geysermc.org​


什么是Geyser?
Geyser是一个允许Minecraft:Bedrock Edition客户端加入Minecraft:Java Edition服务器的程序,允许在两个版本的游戏之间进行真正的交叉游戏。该项目的最终目标是允许Minecraft:Bedrock Edition用户尽可能无缝地加入

Minecraft:Java Edition服务器。——geysermc.org

它是怎么做到的?
Geyser充当Bedrock客户端和Java服务器之间的翻译器。它从Bedrock客户端获取数据,并将其转换为Java服务器能够理解的格式,反之亦然。Geyser适用于任何现代的Minecraft版本,可以作为插件安装,也可以作为独立程序运行。——geysermc.org
和其他网络应用一样,MC服务器依靠发包与客户端进行通信,并且需要遵顼特定的通信协议。在MC Java版和MC 基岩版中,客户端和服务端之间的相互通信使用了不同的通信协议,如果想让两个版本相互通信,就需要一个中间件在其中对数据包进行“翻译”,而Geyser正是充当了这个作用。

开源社区!
Geyser是一个优秀的开源项目,它需要社区的支持,如果您有相关意愿可以前往GeyserMC官方的Github下找到相关路径,如果您发现了任何问题也可以向社区提交issue:https://github.com/GeyserMC
教程
将Geyser嵌入您的服务器中


在开始之前,请确保以下事项都是可用的:
1、您的Java服务端的最高支持的用户连接版本(可使用viaversion) 必须 与您安装的Geyser所对应的支持的BE版本 相符合,例如如果您的Geyser支持的BE版本是1.21,那您的Java服务端就需要允许Java版本的1.21客户端登录。
一般最新的Geyser支持的是最新的BE版本;为了确保不出现问题,建议您直接使用最新版Geyser并为Java服务端配置最新的核心版本或是viaversion版本
2、Geyser需要在Java 16或更高版本上运行,如果是插件版则需要服务端运行在这一Java版本上,如果是独立控制台版本则需要为独立程序配置Java16或更高
3、Geyser需要开放UDP端口,请检查您的防火墙是否开放以及协议是否正确


插件获取
1、GeyserMC官方Jenkins:https://ci.opencollab.dev/job/Geyse…llab.dev/job/GeyserMC/job/Geyser/job/master/
2、官网下载页面:https://geysermc.org/download

部署流程-插件版
1、下载对应的插件版本,请检查对应的服务端版本
2、放入Plugins并重启
3、配置config.yml并重启生效
4、配置相关端口放行

部署流程-独立控制台程序版
1、下载对应的独立控制台版本
2、将控制台程序部署在一个合适的目录下
3、使用脚本程序启动Geyser核心(和启动MC服务端差不多)
4、配置config.yml并重启生效
5、配置相关端口放行

Config.yml配置说明(内容过长,已折叠)

基岩版配置部分

面向基岩的一端的间歇泉选项。主要包含基岩版如何查看服务器的选项。

address:基岩端间歇泉的地址。在大多数情况下,除非您想限制哪些 IP 可以连接到您的服务器,否则不需要更改此项。将其保留为 0.0.0.0(默认值),除非设置指南中另有说明。

port:端口间歇泉将运行。默认情况下,基岩中的值为 19132。如果您使用的是服务器托管提供商,则可能没有此端口可供使用,在这种情况下,请阅读设置指南以继续。

clone-remote-port:某些托管服务会在每次启动服务器时更改您的 Java 端口,并要求将相同的端口用于 Bedrock/UDP 连接。此选项使 Bedrock 端口与每次启动服务器时的 Java 端口相同。此选项在 Geyser 的独立版本上不执行任何操作。

motd1:间歇泉 MOTD 的第一行。

motd2:间歇泉的 MOTD 的第二行。请记住,此选项仅在“朋友”选项卡中显示间歇泉时才有效!

server-name
:显示在暂停菜单和设置菜单右上角区域的世界名称。

compression-level:一个数字值,表示要压缩传出流量的量。可以是 -1 到 9 之间的任意数字;任何其他值都将替换为最接近的可接受值。数字越大,使用的 CPU 处理越多,但使用的带宽越少。默认值为 6。

enable-proxy-protocol:是否为客户端启用 PROXY 协议。除非您在 Geyser 实例前面运行 UDP 反向代理,否则您不需要此功能。蹦极线(和叉子)、Velocity 或 Waterfall 不需要它。

proxy-protocol-whitelisted-ips:默认禁用,仅在使用“enable-proxy-protocol”时启用此功能。允许的代理协议代理 IP 地址/子网的列表。实际上,只有在您无法使用适当的防火墙时才使用(通常适用于共享主机提供商等)。将此列表留空意味着没有 IP 地址白名单。支持 IP 地址、子网和指向包含其中任何一个的纯文本文件的链接。


Java服务器配置部分​

远程 (Java) 服务器的选项。

address:要加入的 Minecraft: Java 版服务器的地址。默认情况下,此值为 。通过将其保留为 ,将自动配置地址、端口和 Floodgate 支持。在独立模式中,保持此状态会将远程地址设置为 127.0.0.1。autoautoauto

port:您在本节中指定的 Minecraft: Java 版服务器的端口。对于插件版本,如果地址已设置为“auto”,则端口也将遵循服务器的侦听端口。address

auth-type:Minecraft: Java Edition服务器的认证类型。有效选项为 、 和 。onlineofflinefloodgate

请记住,您在 Geyser 身份验证类型选项中指定的内容必须与远程服务器具有的内容相同(Geyser 处于在线模式和远程处于离线模式除外)。如果没有真正的帐户,您根本无法加入在线模式服务器。如果您想允许 Minecraft: Bedrock Edition 帐户在没有 Minecraft: Java Edition 帐户的情况下加入,请参阅 Floodgate wiki 页面。

use-proxy-protocol
:是否在连接到服务器时启用 PROXY/HAProxy 协议。这仅在以下情况下有用:

  • 您的服务器支持代理协议(可能不支持)
  • 运行 Velocity 或 BungeeCord 时,并启用了其各自的选项。
  • 如果你不知道这是什么,就不要碰它!
forward-hostname:将 Bedrock 客户端用于连接到 Java 服务器的主机名/IP 地址转发。这旨在用于代理上的强制主机。


常规配置项​

一般间歇泉选项主要特定于间歇泉本身。

floodgate-key-file:Floodgate 使用加密来确保从授权来源使用。这应该指向 Floodgate 生成的公钥(BungeeCord、Spigot 或 Velocity)。在不使用 Floodgate 时,您可以忽略这一点。如果您在同一台服务器上使用 Floodgate 的插件版本,则将自动从 Floodgate 中获取密钥。要求您安装 Floodgate 并将 设置为 。auth-typefloodgate

saved-user-logins:仅适用于联机模式身份验证类型。 存储 Bedrock 玩家列表,这些玩家在登录后应保存其 Java 版帐户。 这会保存一个令牌,以后可以重复使用该令牌对玩家进行身份验证。这不会保存电子邮件或密码, 但是,在添加到此列表并允许其他人访问此间歇泉实例的文件时,您仍应谨慎。 从此列表中删除名称将在下次 Geyser 启动时删除其缓存的登录信息。 将保存令牌的文件与此配置位于同一文件夹中,名为 。saved-refresh-tokens.json

格式:

saved-user-logins:
- jeb_
- Dinnerbone

命令建议:基岩客户端在首次打开命令提示符时冻结或崩溃,其中包含大量命令建议。此配置选项禁用发送的命令建议以防止任何冻结。自 1.16.100 以来:命令冻结和崩溃已大大减少;您可能不再需要禁用此选项。

passthrough-motd:如果 MOTD 应从远程服务器中继。导致基岩截面中的 and 选项不再有用。motd1motd2

passthrough-protocol-name:中继协议名称(例如 BungeeCord [X.X],论文 1.X)——这仅在使用自定义协议名称时才真正有用!这也将显示在 MCSrvStatus 等网站上。

passthrough-player-count:如果应从远程服务器中继当前和最大玩家计数。

legacy-ping-passthrough:如果启用,则通过模拟 Minecraft 客户端而不是使用服务器的 API 来手动 ping 服务器。当您的 MOTD 或玩家计数不准确时,才应启用此选项,因为它可能会导致错误,尤其是在 BungeeCord 上。此选项对 Geyser Standalone 不执行任何操作。

ping-passthrough-interval:假的 Minecraft 客户端尝试 ping 远程服务器以更新信息的频率(以秒为单位)(设置为 1 将每秒 ping 一次服务器;设置为 3 将每三秒 ping 一次服务器)。仅与独立和旧版 ping 直通相关。如果出现超时或 BrokenPipe 异常,请增加该数字。

forward-player-ping:是否将玩家 ping 转发到服务器。虽然启用此功能将使 Bedrock 玩家获得更准确的 ping,但它也可能导致玩家更容易超时。

max-players:ping 服务器时显示的最大玩家数量。这实际上并没有限制目前可以加入间歇泉实例的玩家数量。如果玩家数量较多,则 ping 时该数字会在视觉上增加,因为 Bedrock 客户端甚至不会尝试加入完整的服务器。

debug-mode:如果调试消息应在控制台中打印。如果您遇到错误并需要更多上下文,则很有用。是的,这将导致控制台中出现更多消息、警告甚至错误 - 某些数据包未被转换。

allow-third-party-capes:如果第三方(Optifine、5zig、LabyMod 等)斗篷应显示给基岩玩家。

allow-third-party-ears:如果应启用第三方 Deadmau5 风格的耳朵。目前仅支持 MinecraftCapes。

show-cooldown:基岩版目前没有 Java 版 1.9+ 战斗机制。为了解决这个问题,Geyser 通过发送标题消息来发送虚假的冷却时间。如果使用了 1.8 战斗机制,此冷却时间不应显示。此设置的可用选项包括(不发送冷却时间)、/(标题中显示冷却时间指示)或(操作栏中显示冷却时间指示)。所有其他选项默认为 。falsetitletrueactionbarfalse

show-coordinates:基岩版有一个选项,可以在屏幕的左上角显示坐标。此设置启用或禁用此功能。

disable-bedrock-scaffolding:是否阻止基岩玩家执行其脚手架式桥接。

emote-offhand-workaround:从 Java Edition 1.9 开始,客户端已经能够使用键绑定切换主手和副手项目。基岩版没有这个能力,所以这个配置选项弥补了它,如果设置好了,当基岩玩家执行任何表情时,它会交换副手和主手物品,就像 Java 版的键绑定一样。可以将其设置为三个选项:

  • disabled- 默认/回退,不应用此解决方法
  • no-emotes- 表情不会发送给其他 Bedrock 客户端,并且 offhand 将被交换。这有效地禁用了所有表情。
  • emotes-and-offhand- 表情将被发送到 Bedrock 客户端,副手将被交换
default-locale:如果找不到玩家的区域设置,则要发送给玩家的默认区域设置。查看页面以查找与您的语言相对应的代码。默认情况下,此选项处于禁用状态 - 要启用它,请删除选项前面的“#”。

cache-images:指定将图像缓存到磁盘以保存从 Internet 下载图像的天数。值 0 处于禁用状态。(默认值:0)

allow-custom-skulls:允许在放置时显示自定义头骨。保持启用状态可能会导致较旧/较弱设备的性能下降。

max-visible-custom-skulls:每个玩家显示的最大自定义头骨数量。增加此值可能会降低较弱设备的性能。将此设置为 -1 将导致显示所有自定义头骨,无论距离或数量如何。

custom-skull-render-distance:一个数字值,用于指定显示自定义骷髅头的玩家周围方块的半径。默认为 32。

add-non-bedrock-items:是否添加(目前仅)熔炉矿车作为游戏中的单独物品,这在基岩版中通常不存在。仅当使用不使用服务器交换的“传输数据包”样式的代理时,才需要禁用此功能。如果禁用此功能,熔炉矿车项目将映射到料斗矿车项目。此选项需要重新启动间歇泉才能更改其设置。

above-bedrock-nether-building:基岩会阻止在下界中建造和显示 Y127 以上的方块 - 启用此配置选项可以通过将下界维度 ID 更改为结束 ID 来解决此问题。这样做的主要缺点是天空将类似于下界中的末日天空,但最终这是此功能工作的唯一方法。

force-resource-packs:强制客户端加载所有资源包(如果有)。如果设置为 false,则允许用户在不想下载资源包时断开与服务器的连接。

xbox-achievements-enabled:允许解锁 Xbox 成就。这会禁用某些命令,因此 Bedrock 客户端无法“作弊”获取它们;如果您想启用此功能,则无法解决此问题。启用此功能后,/gamemode 和 /give 等命令将无法在 Bedrock 中工作。

log-player-ip-addresses:服务器是否记录玩家 IP 地址。

notify-on-new-bedrock-update:是否提醒控制台和操作员有新的 Geyser 版本可用,该版本支持此 Geyser 版本不支持的 Bedrock 版本。建议保持启用此选项,因为许多 Bedrock 平台会自动更新。

unusable-space-block:用于标记基岩玩家物品栏中不可用的插槽的物品。例如,创意中的 2x2 制作网格,或大小与通常的 3x9 不同的自定义库存菜单。障碍块是默认项目(因此 minecraft:barrier 是默认值)。采用任何 Minecraft 基岩标识符,例如 .若要将其设置为自定义项,需要添加命名空间。


bStats配置​

bStats 是一个完全匿名的统计跟踪器,仅跟踪有关间歇泉的基本信息,例如有多少人在线,有多少服务器正在使用 间歇泉,正在使用什么操作系统等。您可以在此处了解有关 bStats 的更多信息。要查看间歇泉统计数据,请参阅此处

enabled:如果指标已启用

uuid:服务器的 UUID,不要更改!


高级选项​

scoreboard-packet-threshold:Geyser 在每个 Scoreboard 数据包之后更新记分牌,但是当 Geyser 尝试每秒处理大量记分牌数据包时,可能会导致严重的延迟。此选项允许您指定在每秒有多少记分牌数据包后,记分板更新将限制为每秒四次更新。

enable-proxy-connections:允许来自 ProxyPass 和 Waterdog 的连接。有关帮助,请参阅 https://www.spigotmc.org/wiki/firewall-guide/ - 使用 UDP 而不是 TCP。在 BungeeCord 或 Velocity 等实例中不需要启用此选项

mtuhttps://en.wikipedia.org/wiki/Maximum_transmission_unit - Internet 支持的最大 MTU 为 1492,但可能会导致数据包碎片问题。默认值为 1400。

use-direct-connection:是否在不创建TCP连接的情况下直接连接到Java服务器。仅当与数据包或网络接口的插件无法与 Geyser 正常工作时,才应禁用此功能。如果在插件版本上启用,则忽略远程地址和端口部分。如果在插件版本上禁用,预计性能会下降,延迟会增加。

Geyser各版本支持对应服务端核心
 
最后编辑:
  • 滑稽
反馈: HiTech0926