Minecraft
基岩版服务器(BDS)
新版基岩版服务端(NetherNet 传输)的隧道与 server.properties 配置
本教程适用于使用 NetherNet 传输的新版基岩版服务端。旧版服务端请参考 旧版基岩版(RakNet)。
如果这里面没有说明哪些要动,就不需要动,本教程基于默认情况下的 BDS 配置文件,如果您自行修改了哪些部分,我们相信您知道您在做什么,否则应该改回去。
一、准备服务端
- 从 Minecraft 官方网站 下载 BDS。此处的教程使用 Windows 版本,Linux 版本差异不大
- 解压形如
bedrock-server-1.26.61.1.zip的压缩包
二、修改 server.properties
server-port=19132
online-mode=true
server-port:服务器的本地端口,下面两条隧道都要填写这个数值online-mode=true:保留账号验证,您和朋友使用自己的 Microsoft/Xbox 账号登录游戏
默认情况下
allow-list=true,即白名单处于打开状态,如果不希望打开白名单可以改为false;在控制台命令使用 allowlist add 朋友的名字 添加白名单保存后重新启动服务器,先在本机或局域网加入一次,确认能正常进入世界。
三、创建两条隧道
NetherNet 把一次连接拆成两步,所以需要一条 TCP 隧道和一条 UDP 隧道:
| 步骤 | 作用 | 协议 |
|---|---|---|
| 信令 | 客户端先问「这个服务器要怎么连」 | TCP,HTTP(S) |
| 游戏 | 按信令给出的地址建立连接 | UDP,WebRTC |
两者端口号不需要相同:客户端只填写信令的地址,游戏地址由信令下发。
3.1 信令隧道
注意 Lolia FRP 目前尚未对 BDS NetherNet 联机进行优化,故您需要准备一个已备案的域名,如果没有备案,则可以使用海外节点创建信令隧道,由于游戏实际传输内容走webrtc,因此可以创建国内节点隧道。
| 字段 | 填写 |
|---|---|
| 隧道类型 | HTTPS |
| 本地 IP | 127.0.0.1 |
| 本地端口 | 19132 |
| 域名 | 绑定自己的域名,例如 mc.example.com |
| AutoTLS | 开启 |
HTTPS 隧道必须使用客户端信任的证书。自签名证书会被 Minecraft 拒绝并回落到 HTTP,Lolia 的 HTTPS 隧道不接受 HTTP 请求,所以必须启用 AutoTLS 或改用 HTTP 隧道,这里使用 HTTPS + AutoTLS 的方案。
3.2 游戏隧道
| 字段 | 填写 |
|---|---|
| 隧道类型 | UDP |
| 本地 IP | 127.0.0.1 |
| 本地端口 | 19132 |
| 远程端口 | 留空自动生成 |
记下 UDP 隧道的远程端口,下一步要写进服务端配置。
四、填写公网地址
打开 server.properties,把 UDP 隧道的公网地址写进去:
server-udp-ports=远程地址:远程端口:本地端口
填写格式形如cn-frp-1.qwq.fan:14514:19132
保存后重新启动服务器。
五、加入服务器
- 打开 Minecraft 基岩版,在「服务器」页面点击「添加服务器」
- 服务器名称自行填写,服务器地址填
mc.example.com,端口填443 - 点击「添加并开始」加入
地址要填域名,不要填 IP,否则一定会弹出「是否信任此服务器」的提示。
六、常见问题
服务器能显示,但进不去
先检查 UDP 隧道是否开启,再核对 server-udp-ports 里的远程地址、远程端口与本地端口是否都填对。服务器能显示信息,不代表游戏连接已经正常。
进服时提示「是否信任此服务器」
说明信令没有走 HTTPS,检查信令隧道是否绑定了域名并开启了 AutoTLS,以及玩家填写的是不是域名。
域名和证书都正确,仍无法连接
确认玩家填写的是信令隧道的域名与端口,隧道日志里已经加载证书,并且两条隧道都处于启动状态。