如何允许基岩版玩家加入你的 Minecraft Java 服务器

如何允许基岩版玩家加入你的 Minecraft Java 服务器

一份完整指南,教你如何设置和配置 Geyser 和 Floodgate,让基岩版玩家能够加入你的 Minecraft Java 服务器!

September 9, 2026阅读约 12 分钟更新于 September 9, 2026
如何允许基岩版玩家加入你的 Minecraft Java 服务器

本指南将介绍如何安装与配置 GeyserFloodgate,使 Minecraft: Bedrock Edition 玩家能够加入你的 Java Edition 服务器。本指南涵盖 Spigot/PaperFabricNeoForgeBungeeCordVelocityViaProxy 以及独立版(standalone build)。

Geyser 是一个在 Minecraft 两个版本之间进行转译的桥接程序。它能让你的 Java Edition 服务器在 Bedrock 客户端看来就像是一个 Bedrock 服务器,这意味着手机、平板、主机以及 Windows 10/11 版本的玩家都可以加入原本看不到的服务器。Floodgate 是它的搭档,正是它让这些 Bedrock 玩家无需拥有 Java Edition 账号也能进入服务器。

Requirements

  • 一台你能够自行控制文件的 Minecraft: Java Edition 服务器。不允许你上传 jar 的主机是无法运行 Geyser 的。
  • Java 21 或更高版本,这也是当前 Minecraft 服务器软件本身的要求。
  • 一个你能够开放并进行端口转发UDP 端口。Bedrock Edition 使用的是 UDP 而非 TCP,这也是大家最常犯的错误。
  • 如果你使用的是共享主机,请确认对方允许使用第二个端口。有些主机只给你一个端口。

How Geyser and Floodgate Work Together

我想先简单说明一下这两个插件是如何配合工作的,因为只安装其中一个而不安装另一个,可能会导致 Bedrock 玩家无法正常连接(例如,他们可能仍需要绑定 Java 账号)。

Geyser 负责 Java <-> Bedrock 的转译工作。它监听一个 UDP 端口,接受 Bedrock 连接,并在另一端以 Java Edition 的协议与你的服务器通信。单独使用 Geyser 时,Bedrock 玩家确实可以连接,但仍必须以 Java Edition 账号进行验证,而大多数 Bedrock 玩家并没有这样的账号。

Floodgate 则消除了这一要求。它会告诉 Java 服务器接受已经过 Geyser 批准的玩家,而不需要 Java 账号。这也是这两个插件几乎总是一起安装的原因,也正因如此,Floodgate 会附带一个 key.pem 文件,并被严正告知不要外泄。正是这个密钥让账号能够跳过 Java 验证。

Geyser 只需安装一次,安装在 Bedrock 玩家将要连接的那个位置。Floodgate 则要安装在拥有玩家列表的服务器上。在单服务器情况下,这就是同一台机器。而在代理网络中,Geyser 和 Floodgate 都要装在代理端。

Downloading

所有文件都来自官方下载页面。我们不建议从其他地方下载。

在撰写本文时,当前的构建版本为 Geyser build #1234(2026年9月2日)以及 Floodgate build #140(2026年8月9日)。这两个项目都持续发布新版本,因此你看到的构建号会比这更高,这是正常现象。

Which File Do I Need?

Geyser 为每个平台都发布了构建版本。Floodgate 则并非如此,这一点很容易让人踩坑:

Platform Geyser Floodgate
Spigot / Paper Geyser-Spigot.jar floodgate-spigot.jar
Fabric Geyser-Fabric.jar floodgate-fabric.jar
NeoForge Geyser-NeoForge.jar floodgate-neoforge.jar
BungeeCord Geyser-BungeeCord.jar floodgate-bungee.jar
Velocity Geyser-Velocity.jar floodgate-velocity.jar
ViaProxy Geyser-ViaProxy.jar Not available
Standalone Geyser-Standalone.jar Not available

ViaProxy 或独立版 Geyser 没有对应的 Floodgate 构建版本。Floodgate 必须运行在拥有玩家列表的 Java 服务器内部,而在这两种设置中,Geyser 是在外部运行的。你需要在 Geyser 所指向的 Java 服务器上安装对应平台的 Floodgate jar,然后把该服务器的 key.pem 复制给 Geyser。后文有专门的一节讲这个。

这些链接始终指向最新构建版本,因此可以放心收藏或用于脚本!

在 Linux 服务器上,你可以直接拉取一个文件:

wget -O plugins/Geyser-Spigot.jar \
  https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot

Installing Geyser

请选择与你的服务器配置相匹配的那一节,只需按照那一节的说明操作即可。

Spigot & Paper

  1. 下载 Geyser-Spigot.jar
  2. 将其放入服务器的 plugins/ 文件夹中。
  3. 重启服务器。请勿使用 /reload,因为插件重载往往带来的问题比解决的更多。
  4. Geyser 会在 plugins/Geyser-Spigot/config.yml 生成其配置文件。

Fabric

  1. 下载 Geyser-Fabric.jar
  2. 将其放入服务器的 mods/ 文件夹中。
  3. Fabric 服务器还需要在同一文件夹中安装 Fabric API 模组。
  4. 重启服务器。配置文件会生成在 config/Geyser-Fabric/config.yml

NeoForge

  1. 下载 Geyser-NeoForge.jar
  2. 将其放入服务器的 mods/ 文件夹中。
  3. 重启服务器。配置文件会生成在 config/Geyser-NeoForge/config.yml

BungeeCord

将 Geyser 安装在代理端上,而不是后端服务器上。Bedrock 玩家连接的正是这个代理端。

  1. 下载 Geyser-BungeeCord.jar
  2. 将其放入代理端的 plugins/ 文件夹中。
  3. 重启代理端。配置文件会生成在 plugins/Geyser-BungeeCord/config.yml

Velocity

和 BungeeCord 的思路一样。Geyser 安装在代理端上。

  1. 下载 Geyser-Velocity.jar
  2. 将其放入代理端的 plugins/ 文件夹中。
  3. 重启代理端。配置文件会生成在 plugins/Geyser-Velocity/config.yml

ViaProxy

ViaProxy 是一个独立代理程序,可以让处于某一 Minecraft 版本的客户端加入运行另一版本的服务器。Geyser 作为一个附加组件接入其中。

  1. 下载 Geyser-ViaProxy.jar
  2. 将其放入 ViaProxy 的 plugins/ 文件夹中。
  3. 启动一次 ViaProxy 以让 Geyser 生成配置文件,然后停止它。
  4. 由于 Geyser 在这里是在你的 Java 服务器外部运行的,你需要告诉它该服务器在哪里。参见远程配置部分

Standalone(独立版)

Standalone 是 Geyser 作为独立程序单独运行,通过网络指向一个 Java 服务器。当你无法在服务器本身上安装插件或模组时,这是正确的选择;而在几乎所有其他情况下,这都不是理想选择,因为它会增加一次网络跳转,并且在没有额外设置的情况下无法使用 Floodgate。

  1. 下载 Geyser-Standalone.jar
  2. 将其放入一个单独的文件夹中。
  3. 运行它:
java -Xmx1G -jar Geyser-Standalone.jar
  1. 它会在自身旁边生成 config.yml,然后退出或等待。停止它,编辑配置文件,然后再次启动它。

配置 Geyser

打开你所在平台对应的 config.yml。需要关注的两个部分是 bedrock,以及在独立版和 ViaProxy 中的 remote

Bedrock 部分

这是 Bedrock 玩家所连接的内容:

bedrock:
  # The IP address that will listen for connections.
  # Generally, you should only change this if you want to limit what IPs can connect to your server.
  address: 0.0.0.0
  # The port that will Geyser will listen on for incoming Bedrock connections.
  # Since Minecraft: Bedrock Edition uses UDP, this port must allow UDP traffic.
  port: 19132
  # Some hosting services change your Java port everytime you start the server and require the same port to be used for Bedrock.
  # This option makes the Bedrock port the same as the Java port every time you start the server.
  clone-remote-port: false

端口才是关键部分。19132 是 Bedrock 版的默认端口,保留这个值意味着玩家仅凭地址就可以添加你的服务器,无需输入端口号。只有当 19132 已被占用,或者你的主机分配了其他端口时,才需要修改它。

clone-remote-port 适用于那些每次重启都会给你分配新端口,并要求 Bedrock 流量使用相同端口的主机。如果启用它,它会覆盖上面的 port 值,因此同时设置两者却疑惑为何端口设置被忽略,这是一个值得了解的陷阱。

address: 0.0.0.0 意味着“监听所有网络接口”,除非你是有意限制访问,否则这正是你想要的设置。

远程配置部分(仅限独立版和 ViaProxy)

当 Geyser 作为插件或模组运行时,它已经知道服务器的位置,因为它本身就在服务器内部。当它以独立版运行或在 ViaProxy 下运行时,你需要配置 remote 部分以指向你的 Java 服务器。

remote:
  address: 127.0.0.1
  port: 25565
  auth-type: floodgate

如果 Java 服务器在同一台机器上,使用 127.0.0.1(本地回环地址)。如果不在同一台机器上,使用其真实地址,并请注意,这样一来你就在两者之间的网络上暴露了一个未加密的 Minecraft 连接。

安装 Floodgate

Floodgate 应该安装在拥有玩家列表的那台 Minecraft Java 服务器上。

Spigot & Paper

  1. 从下载页面下载 floodgate-spigot.jar
  2. 将其放入 plugins/ 文件夹中。
  3. 重启服务器。

Fabric & NeoForge

  1. Modrinth 页面 或下载页面下载该模组。
  2. 将文件放入 mods/ 文件夹中。Fabric 服务器还需要在服务器上安装 Fabric API
  3. 重启服务器。

如果 Fabric 服务器位于 Velocity 代理之后,你还需要配置 FabricProxyLite,以便 Fabric 服务器能够接受来自 Velocity 转发的玩家数据。

BungeeCord & Velocity

将 Floodgate 安装在仅代理端上。除非你特别想在后端使用 Floodgate API,或者希望 Bedrock 皮肤在后端正确显示,否则你不需要在后端服务器上安装它。

  1. 下载 floodgate-bungee.jarfloodgate-velocity.jar
  2. 将文件放入代理端的 plugins/ 文件夹中。
  3. 重启代理端。

auth-type 设置为 floodgate

这是真正让 Bedrock 玩家能够进入的一步,很多人会不小心跳过这一步(包括我多年前第一次安装 Geyser 和 Floodgate 时,哈哈)。

打开 Geyser 的配置文件(不是 Floodgate 的),找到 auth-type 键,并将其设置为 floodgate

auth-type: floodgate

它接受的三个值是:

  • floodgate - Bedrock 玩家无需 Java 版账号即可加入。这是你想要的设置,且需要安装 Floodgate。
  • online - 每个玩家都必须拥有并验证一个 Java 版账号。这是默认值。
  • offline - 完全没有身份验证。不建议在公共服务器上使用。

应用任何更改后都需要重启服务器。Geyser 会在服务器启动时读取此设置。

在代理后运行 Floodgate

如果你有一个带有后端服务器的代理,并且希望这些后端服务器上也能使用 Floodgate API,那么还需要做一些额外工作。如果你只有一台服务器,可以完全跳过本节。

  1. 先按上面的方法在代理端安装 Floodgate。
  2. 使用 floodgate-spigot.jarfloodgate-fabric.jar 在每个后端服务器上也安装 Floodgate。
  3. 开启玩家信息转发:
  4. 启动代理,让 Floodgate 生成其文件。
  5. 在代理的 Floodgate 配置中,将 send-floodgate-data 设为 true
  6. 将代理的 Floodgate 配置文件夹中的 key.pem 文件复制到每个后端服务器的 Floodgate 配置文件夹中。
  7. 重启后端服务器和代理。

警告:如前所述,切勿key.pem 分享给任何人,在寻求帮助时也不要将其粘贴到支持频道里。这个文件正是允许 Bedrock 账号绕过 Java Edition 验证的关键。任何持有该文件副本的人,只要有能力,就几乎可以以任意身份登录你的服务器。

在 standalone Geyser 或 ViaProxy 中使用 Floodgate,同样是通过复制这份 key.pem 来实现的。在 Java 服务器上安装对应平台的 Floodgate jar,然后将该服务器的 key.pem 文件复制到 Geyser 自己的配置文件夹中。

开放端口

Bedrock Edition 使用的是 UDP。如果你只开放了 TCP,服务器将不会出现在 Bedrock 客户端的服务器列表中。

在 Linux 服务器上,通常可以通过已安装的防火墙来实现这一点。

# IPTables (underlying firewall used by ufw on many Linux distributions)
iptables -A INPUT -p udp --dport 19132 -j ACCEPT

# UFW (Uncomplicated Firewall)
sudo ufw allow 19132/udp

# Firewalld (used by many Linux distributions)
sudo firewall-cmd --permanent --add-port=19132/udp
sudo firewall-cmd --reload

如果你是在家自建服务器,通常需要在路由器上将 UDP 端口 19132 转发到运行 Geyser 的机器。如果你使用的是主机托管服务商,这通常是在他们的面板中分配端口,而不是设置防火墙规则,你可能需要开工单来申请一个额外的端口。

从 Bedrock 端连接

在 Bedrock 客户端中,进入 Play,然后是 Servers 标签页,滚动到底部,选择 Add Server

  • Server Name:随意填写。
  • Server Address:你服务器的 IP 地址或主机名。
  • Port:19132,或你在配置中设置的端口。

注意:这对主机玩家来说会有些奇怪。PlayStation、Xbox 和 Nintendo Switch 版本不允许直接添加服务器地址,常见的解决办法是使用一种 DNS 技巧,将某个精选服务器重定向到你的服务器。这超出了本指南的范围,但如有需要,值得了解一下。

补充说明

以下是一些有用的补充说明。

较旧的 Minecraft 版本需要 ViaVersion

Geyser 面向的是当前版本的 Minecraft。如果你的 Java 服务器运行的版本低于 26.2(或最新版本的 Minecraft),你还需要 ViaVersion,以便理解旧的网络协议。我们建议查看 Geyser 自己的支持版本页面以获取更多信息。

关联 Java 和 Bedrock 账号

默认情况下,通过 Floodgate 加入的 Bedrock 玩家会在你的服务器上获得一个独立的账号,名字前会带有前缀(默认是一个点)。如果你希望玩家无论从 Java 端还是 Bedrock 端加入,都能使用相同的物品栏、权限和游戏时长,那就需要账号关联

实现方式有两种。全局关联使用 link.geysermc.org,你无需做任何设置。本地关联则将关联信息保存在你自己的数据库中,需要用到某个 Floodgate 数据库扩展,同样发布在同一下载页面上:

  • floodgate-sqlite-database.jar:最简单(本地),适合单台服务器。
  • floodgate-mysql-database.jar:用于 MySQL 数据库。
  • floodgate-mongo-database.jar:用于 MongoDB 数据库。

大多数服务器所有者会选择使用全局关联,因为它无需额外设置。请务必告知你的玩家前往 link.geysermc.org 关联账号!

Bedrock 玩家与 Java 模组

Geyser 转换的是 Minecraft 使用的原版网络协议。它不会转换模组添加的自定义方块和物品,这些内容在 Bedrock 玩家看来可能显示异常甚至不可见。Hydraulic 是 GeyserMC 自己针对这一问题推出的项目,它能将模组资源转换为 Bedrock 资源包。如果你打算在服务器上运行模组,强烈建议了解一下这个项目。

无法共用端口的东西

服务器上任何想要使用同一端口 UDP 的东西都会与 Geyser 冲突。常见的有语音聊天插件(尤其是 Simple Voice Chat)和 Minecraft Query 协议。它们必须运行在自己独立的端口上。

另请参阅

结语

跨平台联机是一项分两部分完成的工作。Geyser 打开一扇 UDP 的门,让 Bedrock 客户端得以通过;而 Floodgate 则是阻止他们在进入时被要求提供 Java Edition 账号的关键。安装好这两者,将 auth-type 设为 floodgate,以 UDP 方式开放端口,剩下的工作就是检查每个 jar 是否放在了对应平台真正会读取的文件夹里。

如果不生效,排查顺序几乎总是一样的:端口是否以 UDP 方式开放,auth-type 是否在 Geyser 的配置(而不是 Floodgate 的配置)中设为 floodgate,以及 Floodgate 是否安装在拥有玩家列表的那台服务器上,而不是代理背后的某个后端服务器上。

如果你有任何疑问,或者正在寻找一个 modding 社区加入,欢迎加入我们的 Discord 服务器!

我们创建的指南始终欢迎修改和改进,因此如果您有任何建议或发现任何问题,欢迎在我们的 GitHub 仓库上创建一个 pull request 来提供贡献!

祝改装愉快!

评论 (0)

登录后即可评论。

加载中…

发现更多

帖子动态

加载中…

最近动态

加载中…
前往社区
如何允许基岩版玩家加入你的 Minecraft Java 服务器 - Blog - The Modding Community