Minexa说明书
进阶APP 使用说明

官方基岩版(BDS):初始化环境、装版本、开服

用 Mojang 官方 bedrock_server 在手机上开基岩服:环境初始化、选版本、启动、连服与最常见的启动失败原因。

你已经用 PowerNukkitX 开过服,但朋友要的是「和官方一模一样」的基岩服——区块格式、红石行为、官方更新节奏都对得上。Minexa 里那条路叫 BDS:Mojang 官方发布的基岩版专用服务器 bedrock_server。

它和别的核心不一样的地方只有一个,但这个差别决定了全部操作顺序:官方只发布 Linux x86_64 构建,而手机是 arm64。应用的做法是在 PRoot Ubuntu 容器里用 box64 把 x86_64 指令转译成 arm64 执行。所以 BDS 不是「选个版本点下载就能跑」,它有一份需要单独初始化的运行环境。

这一页按顺序走一遍:装环境 → 装核心 → 启动 → 让朋友进来 → 出问题怎么看。

本页要点
  • BDS 的运行环境独立于 Java:不要去找 JDK,也不在 Java 版本列表里。

  • 初始化只能手动点:「依赖与环境管理 → BDS → 初始化环境」,约 32MB 下载,占用约 380MB 磁盘。

  • 端口是 UDP 19132,不是 Java 的 TCP 25565。

  • 转译运行比原生慢,性能约为原生一半,这是预期不是故障。

  • 离线模式(online-mode=false)下 必须关掉白名单,否则 BDS 会拒绝启动。

BDS 在手机上是怎么跑起来的#

先把链路说清,后面报错才知道该看哪一层。BDS 启动要经过四层:

层是什么出问题时的表现
Ubuntu 容器(PRoot)提供 glibc 环境,box64 自己是 glibc 程序初始化阶段报「容器」类错误
box64把 x86_64 指令翻译成 arm64初始化阶段报「box64」类错误
x86_64 运行库bedrock_server 依赖的 7 个基础库 + 历史版本兼容库启动即 Error loading needed libs
bedrock_server 本体官方可执行文件,约 244MB启动后立刻退出、或一直不出就绪日志

box64 与基础运行库都随 APK 内置,所以初始化只需要下载容器(约 32MB),不用联网装转译器。这是 1.4.1 之后的设计:早期版本要从 .deb 里解包,在 Android 14 上会直接失败。

为什么不能直接跑官方包

官方 bedrock_server 是动态链接的 x86_64 程序,DT_NEEDED 里有 libc、libpthread、libm 等 7 个库。box64 只翻译指令,不提供这些库。库必须自己给,而且不能放进 box64 自己的库路径——那份 libc.so.6 是 x86_64 的,会顶掉 box64 需要的 aarch64 版本,直接 wrong ELF class。

第一步:初始化 BDS 环境#

入口在「更多 → 依赖与环境管理」,切到 BDS 那一栏(它和 Java、依赖、Termux 环境、PHP 并列,不在 Java 分组里)。

  1. 确认存储权限:BDS 的容器和核心都落在应用私有目录,但服务器目录在公共存储,先确保已经授予「所有文件访问」。

  2. 点「初始化环境」:这是唯一入口。点启动不会临时帮你装——首次要下几十兆、耗时几分钟,塞进启动路径只会让你以为卡死。

  3. 看三段进度:容器(0–60%)→ box64(60–92%)→ 实测(92–100%)。进度是真实阶段,不是假滚动条。

  4. 等「已就绪」:卡片显示就绪后,环境才算可用。

初始化过程中控制台会持续输出 [bds] … 开头的日志:阶段切换、每 10% 进度、每一次换源都会写一行。如果卡住,先看控制台最后一行停在哪一段,而不是猜。

失败了不用重装整个应用。卡片会按类型给原因,并且可以原地重试:

错误类型意思怎么办
空间不足私有目录放不下容器清出至少 1GB 再试
容器 / 下载失败rootfs 六个镜像都连不上换网络(关代理或换 Wi-Fi)后重试
包损坏下载内容校验不过直接点重试,会重新下
解压失败rootfs 解压中断重试;连续失败就「移除并重装」
实测失败环境装好了但跑不起来先跑一次「环境体检」,看是 DNS、TCP、TLS 还是 CA 证书

「环境体检」查四件事:容器内能否解析 DNS、能否连通 TCP、TLS 是否可用、CA 证书是否齐全。这一步的价值是:能直接看出卡在哪一层,而不是对着一个「初始化失败」反复重试。

已经给 Java 版装过 Ubuntu 容器的话

容器是发行版级共享资源,BDS 会直接复用它,不用再下一份 rootfs。反过来说,「移除」BDS 环境时只删 box64 和就绪标记,不会删容器——Java 版 PRoot 还在用。

第二步:装 BDS 核心#

去底部「下载」页,核心家族里选 基岩版,然后选 BDS。BDS 有两条通道:

  • 稳定版(Stable):正式发布版本,日常开服选这个;

  • 预览版(Preview):官方实验通道,客户端也必须是预览版才能进。

1.5.0 起多了历史版本:点版本区的「历史版本」,可以选任何一个旧构建。弹窗里能搜索、按稳定/预览筛选、看到哪些已经装过,每条还带一个校验等级徽标。完整说明见 BDS 版本、升级与降级。

下载完成后,服务器目录里是官方那一整套:bedrock_server、若干 .so、server.properties、behavior_packs/、resource_packs/、definitions/。BDS 没有 eula.txt,不需要同意任何协议。

第三步:启动,认准就绪信号#

在概览页点「启动服务端」。第一次启动会做几件事:把 244MB 的主程序复制到私有目录(公共存储是 noexec,不能就地执行)、准备运行目录、铺回配置与资源链接。这一段比后面每次启动都慢。

启动成功的判据有两条,看到任意一条就说明服务端在收连接:

日志
[INFO] Server started.
[INFO] IPv4 supported, port: 19132
[INFO] IPv6 supported, port: 19132
[INFO] Accepting clients on [::]:19132

Accepting clients on [::]:19132 才是最终判据。1.26 之后的版本不一定打印 Server started.,只等那一行会让你白等五分钟。

界面上「运行中」的状态由应用自己判定,不用你去对日志。真正确认能连,还是让朋友进来试。

第四步:让朋友进服#

基岩版走 UDP,默认端口 19132。三种情况:

  • 同一个 Wi-Fi:概览页会显示手机局域网 IP,朋友在「服务器 → 添加服务器」里填 <手机IP>:19132;

  • 不在同一个网络:需要隧道或端口映射。注意 STUN 直连只支持 TCP,基岩服走不通;EasyTier 组网和 frp 类隧道可以,前提是隧道协议支持 UDP。选隧道前先确认这一点,否则会白折腾;

  • 客户端版本:基岩版对协议版本比 Java 版更严,客户端和服务端版本必须对得上,不匹配时客户端直接显示「无法连接」。

配置与玩家管理:和 Java 版不一样的地方#

BDS 读的也是 server.properties,但键不一样。配置页对基岩专属键做了中文化:禁止飞行、方块哈希校验、压缩算法、RakNet / NetherNet 传输、内容日志、脚本监听等。

两个必须知道的坑:

离线模式和白名单不能同时开

online-mode=false(不验证正版)时,如果 allow-list=true,BDS 会打印 Using an allowlist without online authentication ... is not allowed 然后立刻 Quit correctly——表现就是「一直启动中」。

所以 离线模式下白名单必须关。想让指定的人进来,用 EasyTier 组网或隧道侧做访问控制,不要指望白名单。

正版验证打开可能连不上

online-mode=true 需要连微软的 Minecraft 服务。国内网络经常不通,症状是启动约 75 秒后出现 Could not connect to Minecraft services,紧接着 Server stop requested——看起来像「刚开就停」。

应用读到 online-mode=true 只会打一条警告,不会替你改。如果网络确实连不上微软,把它改回 false,并按上一条关掉白名单。

玩家管理在「玩家」页:白名单、OP、踢出都支持,数据来自 allowlist.json 与 permissions.json。三点如实说明:

  • permissions.json 只存 xuid 不存名字,应用额外记了一份 xuid → 玩家名映射,重启后仍显示真名;

  • BDS 没有封禁命令,也没有封禁列表。想禁止某人进服,只能把他移出白名单并开启白名单;

  • 基岩版没有离线玩家数据,切游戏模式只能对在线玩家生效。

性能预期:慢是正常的#

同一台手机上,BDS 的启动比原生核心慢一截,TPS 上限也低:

场景大致表现
首次启动复制 244MB 主程序 + 初始化运行目录,明显比后续慢
之后每次启动通常几十秒内出就绪日志
2~5 人原版生存可用;视距与模拟距离别开满
10 人以上或大型红石不建议,转译开销会顶到天花板

把视距调低、减少实体与掉落物、关掉不用的内容日志,比换核心更有效。具体数值见 性能优化。

启动失败先看这四种#

现象最可能的原因处理
点启动直接提示「请先初始化 BDS 环境」环境没装或就绪标记失效(升级过应用)去「依赖与环境管理 → BDS」重新初始化;文案可能写「重新初始化」,容器和 box64 都还在
一直「启动中」,控制台没有新日志离线模式 + 白名单组合被 BDS 拒绝打开 server.properties,把 allow-list 改 false
启动后约 75 秒自动停止online-mode=true 连不上微软服务改成 false,并关白名单
Error loading needed libs in elfx86_64 库缺失或名字对不上环境体检 → 重新初始化;不要手动往服务器目录塞 .so

如果都不对,把终端里最后 30 行发出来再看。日志里 [bds] 前缀的行是应用写的,其余是 bedrock_server 自己的输出。

上机自查
  • 「依赖与环境管理 → BDS」显示环境已就绪,没有橙色的「需要重新初始化」。

  • 服务器目录里有 bedrock_server 和一批 .so,且没有 eula.txt。

  • 终端里能看到 Accepting clients on [::]:19132。

  • 手机和朋友的设备在同一个 Wi-Fi,朋友填的是 <手机IP>:19132。

  • 如果 online-mode=false,allow-list 也是 false。

下一步#

读到这儿了,给你点个赞。如果这页内容帮你解决了问题,说明说明书的方向是对的;如果发现错误、过时信息或看不懂的地方,欢迎到 GitHub Issues 告诉我们。

⚡ 回到极速开服 📖 查术语表