前言
方案:Fabric 服务端 + Fabric API + Geyser-Fabric + Floodgate-Fabric 实现:
Java Edition版本玩家正常进入服务器Minecraft Bedrock Edition(移动&主机&Windows端) 均可进入基岩版玩家无需购买 Java 版账号Java与基岩玩家可以在同一个 世界/存档 联机- 支持 部分
FabricMod
本教程适用范围基于 GeyserMC 与 Fabric 官方资料整理,以
Windows+Fabric为例(Linux 等系统步骤相近)。当前 Geyser-Fabric / Floodgate-Fabric 面向 Minecraft 26.2 server,并需要匹配的 Fabric Loader、Fabric API 与Java (JDK 25+)。不要把最新构建丢进任意旧版 Fabric 服务器;若目标是1.21.x或其他版本,先选对应兼容构建或换部署方式。
你还需要准备:
- Windows / Linux / VPS / 云服务器
- Java
- Minecraft Java 服务端
- Fabric Loader
- Fabric API
- Geyser-Fabric
- Floodgate-Fabric
其中:
| 组件 | 作用 |
|---|---|
| Fabric | Minecraft Java 服务端 Mod Loader |
| Fabric API | Fabric Mod 的基础 API |
| Geyser | 将 Bedrock Edition 协议转换为 Java Edition |
| Floodgate | 允许 Bedrock 玩家直接使用 Microsoft 基岩账号进入 Java 服务器 |
Geyser 本身负责协议转换,而 Floodgate 是 Geyser 的扩展认证系统。Floodgate 可以让 Bedrock 玩家无需拥有 Java Edition 账号即可进入服务器,并支持 基岩版皮肤、账号关联等功能。
资源获取
1. 第一步:确认 Minecraft 与 Java 版本
首先确认你准备开的 Minecraft 版本。
例如当前 Fabric 官方服务器下载页会提供对应版本的 Fabric Server Launcher,例如:
Minecraft 26.2Fabric Loader 0.19.3适用于终端启动示例:
java -Xmx2G -jar fabric-server-mc.26.2-loader.0.19.3-launcher.1.1.1.jar noguiFabric 官方提供了直接下载 Fabric Server Launcher 的方式,不一定需要使用图形化安装器。
推荐 Java 版本
不同 Minecraft 版本需要不同 Java。
例如:
Minecraft 1.20.x → Java 17Minecraft 1.21.x → 通常 Java 21较新的 Minecraft 26.x → 按官方要求使用对应 Java启动报错 UnsupportedClassVersionError通常意味着当前 Java 版本过低。执行
java -version核对版本后,按 Minecraft 版本要求安装对应 JDK。对于26.2版本,个人推荐 Eclipse Temurin JDK 25(Windows x64)。
可以执行:
java -version查看当前 Java 后,从官方页下载对应 JDK:
Windows x64 官方下载页(Eclipse Adoptium)

如图载入后选择:
-
Version:
JDK 25 - LTS -
Operating
System:Windows -
Architecture:
x64 -
Package Type:
JDK下载
.msi傻瓜式安装程序 (可选Zip格式)
2. 第二步:下载 Fabric Server
打开 Fabric 官方服务器页面:
选择:
Minecraft Version↓Fabric Loader Version↓Installer / Server Launcher下载完成后放入 服务器目录 :
MinecraftServer/└─ fabric-server-mc.xxx.jar3. 第三步:首次启动服务器
Windows 可以创建:
start.bat内容:
@echo off
java -Xms2G -Xmx4G -jar fabric-server.jar nogui
pause请将:
fabric-server.jar修改成你的 真实文件名。
例如:
@echo off
java -Xms2G -Xmx4G -jar fabric-server-mc.26.2-loader.0.19.3-launcher.1.1.1.jar nogui
pause第一次启动后通常会生成:
eula.txt打开:
eula.txt将:
eula=false修改为:
eula=true然后在终端中输入 stop 之后 重新启动服务器。
4. 第四步:安装 Fabric API
Geyser 官方的 Fabric 安装说明明确指出:
Fabric 服务器除了 Geyser Mod 之外,还需要 Fabric API。
下载 Fabric API 后,将:
fabric-api-xxx.jar放入:
MinecraftServer/└─ mods/ └─ fabric-api-xxx.jar最终:
MinecraftServer/│└─ mods/ └─ fabric-api-xxx.jar版本必须匹配Fabric API 必须与 Minecraft / Fabric Loader 版本兼容。Geyser-Fabric / Floodgate-Fabric 也要与对应 Minecraft / Fabric 版本匹配,不要直接把最新构建丢进任意旧版 Fabric 服务器。
5. 第五步:下载 Geyser-Fabric
打开 Geyser 官方下载页面:
选择:
Geyser↓Fabric↓Geyser-Fabric.jar下载后放入:
MinecraftServer/└─ mods/ ├─ fabric-api-xxx.jar └─ Geyser-Fabric.jar官方当前安装方式就是将 Geyser-Fabric Mod 放入 mods 目录后启动服务器。
6. 第六步:下载 Floodgate-Fabric
再次打开:
选择:
Floodgate↓Fabric↓floodgate-fabric.jar下载后放入:
MinecraftServer/└─ mods/ ├─ fabric-api-xxx.jar ├─ Geyser-Fabric.jar └─ floodgate-fabric.jar最终目录:
MinecraftServer/│├─ mods/│ ││ ├─ fabric-api-xxx.jar│ ├─ Geyser-Fabric.jar│ └─ floodgate-fabric.jar│├─ config/│├─ world/│├─ server.properties│├─ eula.txt│└─ fabric-server.jarGeyserMC 官方 Floodgate 的 Fabric 安装流程同样要求将 Floodgate Mod 放入 mods,并在 Geyser 配置中将认证方式改为 floodgate。
7. 第七步:启动服务器生成配置
现在启动服务器:
@echo off
java -Xms2G -Xmx4G -jar fabric-server.jar nogui
pause成功启动后应该生成:
config/Geyser-Fabric 的配置通常位于:
config/Geyser-Fabric/config.yml官方文档同样说明 Fabric 版配置文件位于:
/config/Geyser-Fabric/config.ymlFloodgate 也会生成对应配置和密钥文件。
8. 第八步:配置 Geyser
打开:
config/Geyser-Fabric/config.yml找到:
bedrock: address: 0.0.0.0 port: 19132推荐:
bedrock: address: 0.0.0.0 port: 19132 clone-remote-port: false含义:
| 配置 | 说明 |
|---|---|
address | Geyser 监听地址 |
0.0.0.0 | 接受所有网络接口连接 |
port | Bedrock 玩家连接端口 |
clone-remote-port | 是否复制 Java 服务端端口 |
Geyser 官方推荐的默认 Bedrock 端口为:
19132并且强调 Bedrock 使用 UDP,因此该端口必须允许 UDP 流量。
9. 第九步:配置 Floodgate 登录
继续打开:
config/Geyser-Fabric/config.yml找到类似:
remote: auth-type: online修改为:
remote: auth-type: floodgate必须改 auth-typeFloodgate 官方 Fabric 安装步骤要求将
remote.auth-type设为floodgate。保持online时,没有 Java 账号的基岩版玩家无法按预期进服。改完后重启服务器。
10. 完整核心配置示例
下面是核心配置结构示例:
bedrock:
address: 0.0.0.0
port: 19132
clone-remote-port: false
remote:
auth-type: floodgate一般情况下:
address保持:
0.0.0.0即可。
11. Java 玩家如何进入
Java Edition 玩家使用:
服务器 IP例如:
192.168.1.100或者公网:
example.com默认 Java 服务端端口:
25565即:
IP:25565例如:
123.123.123.123:25565Java 使用:
TCP12. Bedrock 玩家如何进入
Bedrock 玩家使用:
服务器地址:你的服务器 IP
端口:19132例如:
123.123.123.123端口:
19132协议与端口不同Java 玩家走 TCP 25565,Bedrock 玩家走 UDP 19132。只开放 TCP 25565 时,手机版通常连不上。Windows 防火墙、路由器端口转发、云服务器安全组三处都必须允许 UDP 19132。
可以理解为:
Java 玩家TCP 25565 │ ▼Fabric Server ▲ │UDP 19132Bedrock 玩家13. Windows 防火墙开放端口
如果你使用 Windows 开服,需要允许:
TCP 25565UDP 19132PowerShell 管理员运行:
New-NetFirewallRule `-DisplayName "Minecraft Java TCP 25565" `-Direction Inbound `-Protocol TCP `-LocalPort 25565 `-Action Allow开放 Bedrock UDP:
New-NetFirewallRule `-DisplayName "Minecraft Bedrock UDP 19132" `-Direction Inbound `-Protocol UDP `-LocalPort 19132 `-Action Allow检查:
Get-NetFirewallRule |Where-Object DisplayName -Like "*Minecraft*"14. 路由器端口映射
如果朋友从外网连接,你需要进行端口转发。
Java Edition
协议:TCP
外部端口:25565
内部 IP:192.168.1.xxx
内部端口:25565Bedrock Edition
协议:UDP
外部端口:19132
内部 IP:192.168.1.xxx
内部端口:19132推荐:
TCP 25565UDP 19132Geyser 官方说明,外网 Bedrock 连接必须将 Geyser 使用的 UDP 端口暴露到互联网;如果不方便端口映射,也可以使用支持 UDP 的隧道服务。
15. 如何检查端口是否真的监听
Windows:
netstat -ano | findstr 25565检查 Java:
netstat -ano | findstr 19132注意:
由于 Bedrock 是 UDP,因此可以使用:
netstat -ano -p UDP | findstr 19132正常情况下应该看到:
UDP 0.0.0.0:19132Java 应该看到:
TCP 0.0.0.0:2556516. Geyser 官方连接测试
服务器控制台可以使用:
geyser connectiontest <IP> <端口>例如:
geyser connectiontest example.com 19132Geyser 官方推荐使用该命令验证连接是否正常。
17. 手机版无法连接的常见原因
原因 1:没有开放 UDP
最常见问题。
很多人只开放:
TCP 25565但是 Bedrock 需要:
UDP 19132必须确保:
Windows Firewall+Router Port Forwarding+Cloud Security Group全部允许:
UDP 1913218. Java 可以进,Bedrock 不能进
检查:
Geyser 是否启动服务器日志应该出现类似:
Geyser is listening on UDP port 19132然后执行:
netstat -ano -p UDP | findstr 19132如果没有:
19132说明 Geyser 没有正常监听。
检查:
mods/├─ Geyser-Fabric.jar├─ floodgate-fabric.jar└─ fabric-api.jar19. Floodgate 没有效果
先确认 floodgate-fabric.jar 已放入 mods/,且第 9 步已将 auth-type 改为 floodgate。改完后必须重启服务器。
官方流程也是:
安装 Floodgate↓修改 auth-type↓重启服务器20. 基岩版玩家名字为什么带前缀
Floodgate 玩家通常会使用特殊前缀来避免与 Java 玩家名称冲突。
例如:
.JavaPlayer和:
*BedrockPlayer实际前缀取决于 Floodgate 配置。
这可以避免:
Java 玩家:
Steve与:
Bedrock 玩家:
Steve产生 UUID / 名称冲突。
21. 重要:不要泄露 Floodgate 密钥
Floodgate 会生成:
key.pem不要泄露 Floodgate 密钥
key.pem非常重要。官方明确警告,泄露 Floodgate 密钥可能导致攻击者利用该密钥绕过 Java Edition 身份验证。不要上传 GitHub、发送给陌生人、公开在网站或上传公开图床,建议加入.gitignore。
建议 .gitignore:
key.pem22. Fabric Mod 是否都支持 Bedrock 玩家?
并非所有 Fabric Mod 都支持基岩玩家Geyser 只能处理纯服务端 Mod,并不能让 Bedrock 客户端直接运行 Java Mod。要求 Java 客户端安装的 Mod 通常无法直接工作,需要逐个测试。
可以正常工作的情况
Server Side Mod例如:
性能优化 Mod管理 Mod领地 Mod经济系统部分服务端玩法 Mod可能无法工作的情况
需要 Java 客户端安装的 Mod新增复杂 GUI新增大量特殊物品新增复杂模型新增客户端协议因为:
Java Mod Client≠Minecraft Bedrock Client23. 如果你的 Fabric 服务器有大量 Mod
如果是:
纯 Fabric 服务端 Mod一般兼容性最好。
例如:
LithiumFerriteCoreNoisiumChunkyLuckPerms FabricLedgerSimple Voice Chat但是涉及:
CreateOrigins大型 RPG Modpack自定义生物复杂 GUI自定义方块自定义物品则需要逐个测试。
对于较复杂的 Modded Server,可以关注 GeyserMC 生态中的 Hydraulic 等项目,它用于帮助 Bedrock 玩家连接部分 Modded Java 服务器。
官方资源
Fabric
Geyser
Floodgate
Geyser / Floodgate API
如果你后续需要开发 Fabric Mod,通过 API 判断玩家是否为 Bedrock 玩家,可以参考:
例如 Floodgate API 可以判断:
FloodgateApi api = FloodgateApi.getInstance();
boolean isBedrockPlayer = api.isFloodgatePlayer(playerUuid);Geyser API 也可以通过 UUID 查询对应的 Geyser 连接。
If this article helped you, please share it with others!
Some information may be outdated