想让Windows、Android、iOS等基岩版玩家共享一个长期在线的世界,正确的服务端是Minecraft Bedrock Dedicated Server(BDS),不是Java版JAR,也不是Paper。本文给出一条可维护的Ubuntu部署路线,重点讲清UDP端口、allowlist.json、permissions.json、世界目录、更新和备份。
先说明证据边界:本文已在2026年8月3日核对Minecraft官方BDS下载页和Microsoft Learn当前配置文档,但没有启动BDS,也没有用基岩版客户端进服或恢复世界。下面的命令是按官方文档整理的实施步骤,不是“本轮已实测成功”。
先判断:你要的是基岩版还是Java版
两个版本看起来都是Minecraft,但服务端、客户端、端口和扩展体系不同。
| 项目 | 基岩版BDS | Java版/Paper |
|---|---|---|
| 常见客户端 | Windows版、Android、iOS及部分主机平台 | Windows、macOS、Linux Java版 |
| 官方服务端 | bedrock_server |
server.jar |
| 默认入口 | UDP 19132,IPv6默认19133 | TCP 25565 |
| 扩展 | Add-On、行为包、资源包 | 插件、数据包、模组加载器 |
| 世界目录 | worlds/<level-name>/ |
按服务端版本确定 |
Java客户端不能直接加入纯BDS,基岩版客户端也不能直接加入纯Java服。存在第三方跨版本代理,但它会增加认证、协议和更新故障点,不应把它当作官方兼容能力。
主机平台还要多做一步确认:即使基岩版支持跨平台,也不代表每个主机客户端都提供“添加任意服务器IP”的相同入口。正式购买前,应先用目标设备确认加入方式。
配置怎么选:先按世界和玩法留余量
Minecraft官方下载页列出BDS主机要求:4GB RAM、宽带网络以及Ubuntu 22.04 LTS+或受支持Windows系统。这是官方运行要求,不是“4GB一定能带多少人”。
可以把以下规格作为采购测试起点,而不是承载承诺:
| 场景 | 测试起点 | 重点观察 |
|---|---|---|
| 2–4人原版私人世界 | 2核4GB、40GB SSD | 峰值内存、探索新区块时CPU、世界增长 |
| 5–10人长期世界 | 4核8GB、60GB+ SSD | 视距、实体、行为包、夜间备份耗时 |
| 多行为包或多人社区 | 从4核8GB以上试运行 | 单核占用、世界写入、包兼容和晚高峰网络 |
不要只按在线人数选。view-distance、tick-distance、持续探索新区块、实体数量和Add-On比“登记人数”更能改变负载。磁盘也要给更新目录、压缩备份和至少一个回退副本留空间。
地域应按主要玩家位置选,而不是按运营者位置选。购买前让不同地区玩家测试候选节点IP的延迟、抖动和丢包,再决定地域。
还不确定配置?先整理玩家所在国家/地区、同时在线、世界是否已有存档、视距和行为包清单,再到萤光云VPS配置页核对实时系统镜像、地域、价格与库存。页面配置不是本文实测结果。
推荐生产结构

建议把程序与业务数据分开:
/opt/minecraft-bedrock/current/ # 当前程序目录
/opt/minecraft-bedrock/releases/ # 各版本解压目录
/srv/minecraft-bedrock/data/ # 世界、配置、权限与包
/srv/minecraft-bedrock/backups/ # 本机临时备份,不是唯一备份
官方ZIP默认把程序和数据放在同一目录。小规模使用可以直接运行,但更新时不要把新ZIP覆盖到唯一生产目录。更稳妥的方式是每个版本独立解压,停服后复制或链接经过核对的数据,再切换current。
Ubuntu 22.04部署步骤
1. 创建普通系统用户
不要用root长期运行游戏服务端:
sudo adduser --system --home /srv/minecraft-bedrock --group minecraft-bedrock
sudo install -d -o minecraft-bedrock -g minecraft-bedrock \
/opt/minecraft-bedrock/releases /srv/minecraft-bedrock/data /srv/minecraft-bedrock/backups
2. 从官方下载当前ZIP
进入Minecraft官方BDS下载页,接受当前条款后下载Ubuntu版本。不要从不明网盘复制旧包。
cd /tmp
sha256sum bedrock-server-*.zip
unzip -t bedrock-server-*.zip
把文件名、字节数、下载日期和SHA-256写进维护记录。官方下载页使用动态链接,所以发布很久后的读者不应照抄本文中的历史版本号。
3. 解压到新的版本目录
sudo -u minecraft-bedrock mkdir -p /opt/minecraft-bedrock/releases/CURRENT
sudo -u minecraft-bedrock unzip bedrock-server-*.zip \
-d /opt/minecraft-bedrock/releases/CURRENT
sudo ln -sfn /opt/minecraft-bedrock/releases/CURRENT /opt/minecraft-bedrock/current
把CURRENT换成包内真实版本或发布日期,便于回退。首次启动前先阅读包内说明和Minecraft EULA。
4. 配置server.properties
下面是一份私人世界起点。配置字段以你下载包内文件为准:
server-name=Private Bedrock World
gamemode=survival
difficulty=normal
allow-cheats=false
max-players=8
online-mode=true
allow-list=true
server-port=19132
server-portv6=19133
enable-lan-visibility=false
view-distance=20
tick-distance=4
player-idle-timeout=30
level-name=private-world
关键点:
online-mode=true用于在线账号验证,不要为了绕过登录问题关闭。- 公网私服应启用
allow-list=true,不只依赖服务器名称或隐藏IP。 - 多实例或自定义端口时,核对
enable-lan-visibility,否则可能额外绑定默认端口。 view-distance和tick-distance先保守,再根据真实世界和玩家反馈调整。level-name必须与worlds/中的目录名完全匹配,包含大小写。
5. 启动服务端
官方Linux启动形式是:
cd /opt/minecraft-bedrock/current
sudo -u minecraft-bedrock env LD_LIBRARY_PATH=. ./bedrock_server
第一次启动后应检查:
sudo ss -lunp | grep -E '19132|19133'
这里只能确认进程和UDP监听。真正的验收还需要一台当前基岩版客户端从外网加入。
安全组和防火墙怎么开
默认只需要:
- UDP 19132:IPv4游戏端口;
- UDP 19133:确实使用IPv6时开放;
- SSH 22:只允许管理员固定来源IP,不对全球开放。
Ubuntu UFW示例:
sudo ufw allow 19132/udp
sudo ufw allow 19133/udp
sudo ufw reload
sudo ufw status numbered
如果只使用IPv4,可以不开放19133。不要把19132错误写成TCP,也不要因为暂时连不上就开放全部端口。先检查安全组、主机防火墙、实际监听、客户端地址和协议版本。
白名单和管理员权限
设置allow-list=true后,优先在服务端控制台管理:
allowlist add PlayerName
allowlist remove PlayerName
allowlist reload
allowlist list
玩家名包含空格时要加引号。allowlist.json保存允许名单,permissions.json保存玩家权限。不要把所有熟人都设为operator;普通玩家、成员、管理员应分层。
白名单通过不等于主机安全。服务器仍需及时更新、限制SSH来源、使用密钥登录、关闭不必要服务,并监控磁盘空间和异常登录。
世界、行为包和资源包怎么管理
BDS首次启动后会出现:
worlds/
behavior_packs/
resource_packs/
单个世界放在worlds/<level-name>/。世界内自己的行为包和资源包只对该世界生效;顶层共享目录可被多个世界引用。引入第三方包前至少检查:
- 来源和授权;
- 支持的基岩版版本;
- 是否依赖实验功能;
- 是否修改世界数据;
- 删除包后能否正常加载;
- 是否能在世界副本通过升级测试。
Marketplace内容、第三方包和下载得到的世界不一定允许任意服务器分发。公开运营前应核对各内容许可。
备份与恢复:不能只复制一个worlds目录
至少备份:
worlds/
server.properties
allowlist.json
permissions.json
behavior_packs/
resource_packs/
valid_known_packs.json(若当前包存在)
推荐顺序:
通知玩家 → 控制台stop → 确认进程退出 → 归档数据 → 生成SHA-256清单
→ 上传服务器外存储 → 恢复到全新目录 → 当前客户端进服验收
不要在服务端持续写入世界时直接压缩唯一数据。云盘快照可以作为一层保护,但应用级归档更便于跨主机恢复;两者都需要真正做恢复演练。

更新时避免世界被覆盖
- 记录当前BDS包、配置和世界备份;
- 通知并正常停服;
- 把新ZIP解压到新版本目录;
- 比较新旧默认配置,不盲目覆盖自定义文件;
- 在世界副本启动;
- 用与目标玩家相同的基岩版客户端进服;
- 验证allowlist、权限、行为包、保存和重连;
- 通过后切换生产,失败就恢复旧程序与旧世界组合。
如果看到“Outdated Client”或“Outdated Server”,先同步客户端和服务端版本。协议可能在补丁版本之间变化,不能只看大版本号相同。
常见故障排查
服务端启动,但客户端连接超时
按顺序检查:
ps -ef | grep '[b]edrock_server'
ss -lunp | grep 19132
sudo ufw status numbered
再核对云平台安全组是否开放UDP而非TCP、客户端输入的公网IP和端口、路由器NAT(家庭自建时)以及server-port实际值。
出现Outdated Client或Outdated Server
这是协议不匹配,不是带宽不足。更新落后的客户端或服务端;Preview客户端必须配Preview服务端。
白名单玩家仍无法加入
检查allow-list=true、Gamertag拼写与空格、allowlist reload是否执行。不要把显示名、平台账号名和旧缓存混为一谈。
换世界后生成了新地图
通常是level-name与世界目录名不一致。停服后检查大小写和路径,不要在错误新世界继续写入后覆盖原备份。
服务器卡顿
先看CPU单核、内存交换、磁盘空间和新区块生成,再逐步降低view-distance或排除行为包。不要一次同时改十个参数,否则无法判断根因。
FAQ
基岩版和Java版能直接一起玩吗?
不能直接互通。第三方代理可提供部分桥接,但需要单独验证账号、协议、插件和更新兼容。
默认端口是TCP还是UDP?
BDS默认IPv4端口19132和IPv6端口19133都是UDP。
4GB服务器能带多少人?
官方把4GB列为系统要求,但实际人数受视距、实体、世界、行为包和同时活动影响。先用真实世界试运行,再按峰值扩容。
备份worlds目录就够了吗?
只能保住主要世界数据。可维护恢复还应保留配置、allowlist、permissions和实际使用的行为包/资源包,并在新目录验证。
可以用Debian或AlmaLinux吗?
可能有人通过兼容方式运行,但官方下载页当前只正式支持Ubuntu 22.04 LTS+。生产环境优先选官方支持系统。
购买前检查清单
- 所有玩家是否确定为基岩版,而不是Java版;
- 主机平台是否允许按计划加入第三方服务器;
- 主要玩家地域、晚高峰延迟和丢包;
- Ubuntu 22.04+或受支持Windows镜像是否实时可选;
- 公网IPv4、UDP 19132策略和DDoS处理;
- 目标世界、Add-On、人数、视距和备份保留期;
- 磁盘扩容、服务器外备份、退款和迁移条件。
可继续阅读:服务器配置怎么选、海外服务器地域怎么选、安全组端口怎么放行和云服务器数据备份方法。最后再进入萤光云VPS产品页核对实时地域、系统、配置、价格与库存。







