mobile wallpaper 1
mobile wallpaper 2
mobile wallpaper 3
mobile wallpaper 4
2104 words
6 minutes
Minecraft Java + Bedrock 互通服开服保姆级教程
2026-08-22

前言#

方案:Fabric 服务端 + Fabric API + Geyser-Fabric + Floodgate-Fabric 实现:

  • Java Edition 版本玩家正常进入服务器
  • Minecraft Bedrock Edition (移动&主机&Windows端) 均可进入
  • 基岩版 玩家无需购买 Java 版账号
  • Java 与 基岩 玩家可以在同一个 世界/存档 联机
  • 支持 部分 Fabric Mod
本教程适用范围

基于 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

其中:

组件作用
FabricMinecraft Java 服务端 Mod Loader
Fabric APIFabric 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.2
Fabric Loader 0.19.3

适用于终端启动示例:

java -Xmx2G -jar fabric-server-mc.26.2-loader.0.19.3-launcher.1.1.1.jar nogui

Fabric 官方提供了直接下载 Fabric Server Launcher 的方式,不一定需要使用图形化安装器。

推荐 Java 版本#

不同 Minecraft 版本需要不同 Java。

例如:

Minecraft 1.20.x → Java 17
Minecraft 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 官方服务器页面:

Fabric Server 官方下载页

选择:

Minecraft Version
↓
Fabric Loader Version
↓
Installer / Server Launcher

下载完成后放入 服务器目录 :

MinecraftServer/
└─ fabric-server-mc.xxx.jar

3. 第三步:首次启动服务器#

Windows 可以创建:

start.bat

内容:

Terminal window
@echo off
java -Xms2G -Xmx4G -jar fabric-server.jar nogui
pause

请将:

fabric-server.jar

修改成你的 真实文件名。

例如:

Terminal window
@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 官方下载页面:

GeyserMC 官方下载页面

选择:

Geyser
↓
Fabric
↓
Geyser-Fabric.jar

下载后放入:

MinecraftServer/
└─ mods/
├─ fabric-api-xxx.jar
└─ Geyser-Fabric.jar

官方当前安装方式就是将 Geyser-Fabric Mod 放入 mods 目录后启动服务器。


6. 第六步:下载 Floodgate-Fabric#

再次打开:

GeyserMC Floodgate 官方下载页面

选择:

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.jar

GeyserMC 官方 Floodgate 的 Fabric 安装流程同样要求将 Floodgate Mod 放入 mods,并在 Geyser 配置中将认证方式改为 floodgate。


7. 第七步:启动服务器生成配置#

现在启动服务器:

Terminal window
@echo off
java -Xms2G -Xmx4G -jar fabric-server.jar nogui
pause

成功启动后应该生成:

config/

Geyser-Fabric 的配置通常位于:

config/Geyser-Fabric/config.yml

官方文档同样说明 Fabric 版配置文件位于:

/config/Geyser-Fabric/config.yml

Floodgate 也会生成对应配置和密钥文件。


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

含义:

配置说明
addressGeyser 监听地址
0.0.0.0接受所有网络接口连接
portBedrock 玩家连接端口
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-type

Floodgate 官方 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:25565

Java 使用:

TCP

12. 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 19132
Bedrock 玩家

13. Windows 防火墙开放端口#

如果你使用 Windows 开服,需要允许:

TCP 25565
UDP 19132

PowerShell 管理员运行:

Terminal window
New-NetFirewallRule `
-DisplayName "Minecraft Java TCP 25565" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 25565 `
-Action Allow

开放 Bedrock UDP:

Terminal window
New-NetFirewallRule `
-DisplayName "Minecraft Bedrock UDP 19132" `
-Direction Inbound `
-Protocol UDP `
-LocalPort 19132 `
-Action Allow

检查:

Terminal window
Get-NetFirewallRule |
Where-Object DisplayName -Like "*Minecraft*"

14. 路由器端口映射#

如果朋友从外网连接,你需要进行端口转发。

Java Edition#

协议:TCP
外部端口:25565
内部 IP:
192.168.1.xxx
内部端口:
25565

Bedrock Edition#

协议:UDP
外部端口:19132
内部 IP:
192.168.1.xxx
内部端口:
19132

推荐:

TCP 25565
UDP 19132

Geyser 官方说明,外网 Bedrock 连接必须将 Geyser 使用的 UDP 端口暴露到互联网;如果不方便端口映射,也可以使用支持 UDP 的隧道服务。


15. 如何检查端口是否真的监听#

Windows:

Terminal window
netstat -ano | findstr 25565

检查 Java:

Terminal window
netstat -ano | findstr 19132

注意:

由于 Bedrock 是 UDP,因此可以使用:

Terminal window
netstat -ano -p UDP | findstr 19132

正常情况下应该看到:

UDP 0.0.0.0:19132

Java 应该看到:

TCP 0.0.0.0:25565

16. Geyser 官方连接测试#

服务器控制台可以使用:

geyser connectiontest <IP> <端口>

例如:

geyser connectiontest example.com 19132

Geyser 官方推荐使用该命令验证连接是否正常。


17. 手机版无法连接的常见原因#

原因 1:没有开放 UDP#

最常见问题。

很多人只开放:

TCP 25565

但是 Bedrock 需要:

UDP 19132

必须确保:

Windows Firewall
+
Router Port Forwarding
+
Cloud Security Group

全部允许:

UDP 19132

18. Java 可以进,Bedrock 不能进#

检查:

Geyser 是否启动

服务器日志应该出现类似:

Geyser is listening on UDP port 19132

然后执行:

Terminal window
netstat -ano -p UDP | findstr 19132

如果没有:

19132

说明 Geyser 没有正常监听。

检查:

mods/
├─ Geyser-Fabric.jar
├─ floodgate-fabric.jar
└─ fabric-api.jar

19. 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.pem

22. 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 Client

23. 如果你的 Fabric 服务器有大量 Mod#

如果是:

纯 Fabric 服务端 Mod

一般兼容性最好。

例如:

Lithium
FerriteCore
Noisium
Chunky
LuckPerms Fabric
Ledger
Simple Voice Chat

但是涉及:

Create
Origins
大型 RPG Modpack
自定义生物
复杂 GUI
自定义方块
自定义物品

则需要逐个测试。

对于较复杂的 Modded Server,可以关注 GeyserMC 生态中的 Hydraulic 等项目,它用于帮助 Bedrock 玩家连接部分 Modded Java 服务器。


官方资源#

Fabric#

Fabric 官方服务器下载与安装

Geyser#

GeyserMC 官方下载页

Geyser 官方安装教程

Floodgate#

Floodgate 官方安装教程

Floodgate Fabric / Modded Server 教程

Geyser / Floodgate API#

如果你后续需要开发 Fabric Mod,通过 API 判断玩家是否为 Bedrock 玩家,可以参考:

GeyserMC API Getting Started

例如 Floodgate API 可以判断:

FloodgateApi api = FloodgateApi.getInstance();
boolean isBedrockPlayer = api.isFloodgatePlayer(playerUuid);

Geyser API 也可以通过 UUID 查询对应的 Geyser 连接。

Share

If this article helped you, please share it with others!

Minecraft Java + Bedrock 互通服开服保姆级教程
https://blog.aegisr.xyz/posts/mc-beje-server/
Author
Aegisir
Published at
2026-08-22
License
CC BY-NC-SA 4.0

Some information may be outdated

Table of Contents