Minecraft 基岩版专用服务器搭建教程:BDS 跨平台联机完全指南

Minecraft 基岩版专用服务器搭建教程:BDS 跨平台联机完全指南

Minecraft 基岩版(Bedrock Edition)支持 iOS、Android、Xbox、Nintendo Switch 和 Windows 10/11 全平台联机,是目前玩家群体最广泛的版本。通过部署官方提供的 BDS(Bedrock Dedicated Server),你可以搭建一个供手机、主机和 PC 玩家同时游玩的跨平台服务器。本教程将详细介绍 BDS 的安装、Xbox 账号认证配置、行为包/资源包安装及 systemd 服务管理。


服务器配置

基岩版服务器相比 Java 版更轻量,2 核 4GB 内存即可流畅运行 20 人以内的服务器。推荐使用 雨云服务器 rainyun-com2 核 4GB 机型 ,注册填优惠码 2026off 领 5 折优惠券,该配置运行 BDS 游刃有余,带宽充足支持跨平台玩家稳定连接。

推荐规格:

  • CPU:2 核
  • 内存:4GB RAM
  • 硬盘:SSD 20GB+
  • 系统:Ubuntu 22.04 LTS(64位)
  • 端口:UDP 19132(默认基岩版端口,需在防火墙开放)

前置准备

1. 更新系统依赖

bash 复制代码
sudo apt update && sudo apt upgrade -y

# BDS 需要以下依赖库
sudo apt install -y libcurl4 libssl3 unzip wget screen

2. 创建服务器用户

bash 复制代码
# 创建专用用户(避免以 root 运行)
sudo useradd -m -s /bin/bash bdsserver
sudo su - bdsserver

# 创建服务器目录
mkdir ~/bedrock-server && cd ~/bedrock-server

3. 开放防火墙端口

BDS 默认使用 UDP 19132 端口(IPv4)和 UDP 19133(IPv6):

bash 复制代码
# 使用 ufw 开放端口
sudo ufw allow 19132/udp comment "Minecraft Bedrock"
sudo ufw allow 19133/udp comment "Minecraft Bedrock IPv6"
sudo ufw reload

# 验证端口开放
sudo ufw status | grep 19132

安装步骤

1. 下载 BDS

前往 Minecraft 官方下载页 获取最新 Linux 版 BDS 链接:

bash 复制代码
# 下载最新 BDS(版本号以实际为准)
BDS_VERSION="1.21.50.07"
wget "https://minecraft.azureedge.net/bin-linux/bedrock-server-${BDS_VERSION}.zip" \
  -O bedrock-server.zip

# 解压
unzip bedrock-server.zip -d ~/bedrock-server/
cd ~/bedrock-server

# 赋予执行权限
chmod +x bedrock_server

2. 首次运行测试

bash 复制代码
# 临时运行测试(Ctrl+C 退出)
LD_LIBRARY_PATH=. ./bedrock_server

# 正常输出示例:
# [2026-05-23 12:00:00] Server started.
# [2026-05-23 12:00:00] IPv4 supported, port: 19132
# [2026-05-23 12:00:00] IPv6 supported, port: 19133

3. 配置 server.properties

bash 复制代码
cat > ~/bedrock-server/server.properties << 'EOF'
# 服务器基础配置
server-name=My Bedrock Server
gamemode=survival
difficulty=normal
allow-cheats=false
max-players=20
online-mode=true

# 网络配置
server-port=19132
server-portv6=19133

# 视距配置(建议 8~12,影响性能)
view-distance=12
tick-distance=4

# 玩家权限
default-player-permission-level=member
texturepack-required=false

# 世界配置
level-name=Bedrock
level-seed=
level-type=DEFAULT

# 允许列表(白名单)
allow-list=false
EOF

核心配置

Xbox 账号认证(online-mode)

BDS 的 online-mode=true 要求玩家使用正版 Xbox 账号登录,这能有效防止盗版玩家和恶意用户。

如何开启正版验证:

确保 server.properties 中设置:

复制代码
online-mode=true

玩家连接时需在 Xbox Live 账号下登录 Minecraft,服务器会自动验证身份。

允许列表(白名单)配置

bash 复制代码
# 开启白名单(server.properties)
# allow-list=true

# 添加玩家到白名单(通过 allowlist.json)
cat > ~/bedrock-server/allowlist.json << 'EOF'
[
  {
    "ignoresPlayerLimit": false,
    "name": "玩家名1",
    "xuid": "玩家的 Xbox UID"
  },
  {
    "ignoresPlayerLimit": false,
    "name": "玩家名2",
    "xuid": ""
  }
]
EOF

也可在服务器运行时通过控制台命令添加:

复制代码
allowlist add 玩家名
allowlist remove 玩家名
allowlist list

管理员权限配置

bash 复制代码
# 编辑 ops.json(管理员列表)
cat > ~/bedrock-server/ops.json << 'EOF'
[
  {
    "permission": "operator",
    "xuid": "管理员的 Xbox UID",
    "name": "管理员名"
  }
]
EOF

运行时添加管理员:

复制代码
op 玩家名
deop 玩家名

进阶功能

安装行为包与资源包

BDS 支持行为包(Behavior Pack)和资源包(Resource Pack)来扩展游戏内容。

目录结构:

复制代码
bedrock-server/
├── behavior_packs/     # 行为包目录
├── resource_packs/     # 资源包目录
├── worlds/
│   └── Bedrock/
│       ├── world_behavior_packs.json
│       └── world_resource_packs.json

安装行为包步骤:

bash 复制代码
# 1. 解压 .mcpack 文件(实际上是 zip 格式)
cd ~/bedrock-server/behavior_packs/
unzip /path/to/your_behavior_pack.mcpack -d ./my_behavior_pack/

# 查看包信息
cat my_behavior_pack/manifest.json | python3 -m json.tool

# 2. 配置世界启用该行为包
cat > ~/bedrock-server/worlds/Bedrock/world_behavior_packs.json << 'EOF'
[
  {
    "pack_id": "行为包的UUID(来自manifest.json)",
    "version": [1, 0, 0]
  }
]
EOF

安装资源包步骤:

bash 复制代码
# 解压资源包
cd ~/bedrock-server/resource_packs/
unzip /path/to/your_resource_pack.mcpack -d ./my_resource_pack/

# 配置世界启用资源包
cat > ~/bedrock-server/worlds/Bedrock/world_resource_packs.json << 'EOF'
[
  {
    "pack_id": "资源包的UUID",
    "version": [1, 0, 0]
  }
]
EOF

# 如需强制玩家下载资源包(server.properties)
# texturepack-required=true

配置 systemd 服务

bash 复制代码
sudo tee /etc/systemd/system/bds.service << 'EOF'
[Unit]
Description=Minecraft Bedrock Dedicated Server
After=network.target

[Service]
User=bdsserver
WorkingDirectory=/home/bdsserver/bedrock-server
Environment="LD_LIBRARY_PATH=."
ExecStart=/home/bdsserver/bedrock-server/bedrock_server
Restart=on-failure
RestartSec=10
StandardInput=null

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable bds
sudo systemctl start bds

# 查看运行状态
sudo systemctl status bds

日常维护

查看服务器日志

bash 复制代码
# 实时查看日志
journalctl -u bds -f

# 查看最近 50 条日志
journalctl -u bds -n 50 --no-pager

使用 screen 控制台交互

systemd 方式无法直接输入命令,若需交互式控制台,改用 screen:

bash 复制代码
# 创建启动脚本
cat > ~/bedrock-server/start-screen.sh << 'EOF'
#!/bin/bash
cd /home/bdsserver/bedrock-server
screen -S bds -dm bash -c "LD_LIBRARY_PATH=. ./bedrock_server"
echo "BDS 已在后台启动 (screen session: bds)"
EOF

chmod +x ~/bedrock-server/start-screen.sh

# 重新连接控制台
screen -r bds

# 分离(不关闭服务器):按 Ctrl+A 然后 D

自动备份世界存档

bash 复制代码
cat > ~/backup-bedrock.sh << 'EOF'
#!/bin/bash
BACKUP_DIR="/home/bdsserver/backups"
WORLD_DIR="/home/bdsserver/bedrock-server/worlds"
DATE=$(date +%Y%m%d_%H%M%S)

mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/bedrock_world_$DATE.tar.gz $WORLD_DIR

# 保留最近 10 次备份
ls -tp $BACKUP_DIR/bedrock_world_*.tar.gz | tail -n +11 | xargs -I {} rm -- {}
echo "[$(date)] 备份完成:bedrock_world_$DATE.tar.gz"
EOF

chmod +x ~/backup-bedrock.sh

# 每天凌晨 2 点执行备份
(crontab -l 2>/dev/null; echo "0 2 * * * /home/bdsserver/backup-bedrock.sh >> /home/bdsserver/backup.log 2>&1") | crontab -

更新 BDS 版本

bash 复制代码
# 停止服务
sudo systemctl stop bds

# 备份当前配置和存档
cp ~/bedrock-server/server.properties ~/server.properties.bak
tar -czf ~/worlds-backup.tar.gz ~/bedrock-server/worlds/

# 下载新版本并解压(注意不覆盖 worlds、behavior_packs 等目录)
cd ~
wget "https://minecraft.azureedge.net/bin-linux/bedrock-server-NEW_VERSION.zip" -O bedrock-update.zip
unzip -o bedrock-update.zip -d ~/bedrock-server/ -x "worlds/*" "server.properties" "allowlist.json" "permissions.json"

# 重启服务
sudo systemctl start bds

常见问题

Q:手机玩家无法发现服务器(局域网搜索不到)?

A:基岩版移动端需要直接输入服务器 IP 和端口(19132)来添加服务器,不支持自动局域网发现。在游戏内选择"添加服务器",填写公网 IP 即可。

Q:Xbox 账号验证失败,提示 "Unable to verify game owner"?

A:确认服务器能访问 Xbox Live 认证服务器(需要境外网络或服务器本身网络畅通)。如服务器在国内,建议使用国内 CDN 加速的云服务器,减少认证延迟。

Q:行为包安装后游戏内没有生效?

A:检查 manifest.json 中的 pack_idversion 是否与 world_behavior_packs.json 完全一致(UUID 区分大小写)。

Q:服务器重启后白名单设置丢失?

A:allowlist.json 必须在停服状态下修改后重启才会生效,或在控制台使用 allowlist reload 命令重新加载。

Q:玩家连接时提示 "This server requires Xbox authentication"?

A:这是 online-mode=true 的正常行为,要求玩家使用正版账号。如需关闭验证(私服可用),将 online-mode=false,但这会允许任意玩家加入。


Minecraft 基岩版 BDS 的搭建相比 Java 版更为轻量,跨平台兼容性极强。无论是手机、Xbox 还是 Windows 玩家,都能无缝连接到同一台服务器。如果你需要一台稳定的云服务器来部署 BDS,雨云服务器 rainyun-com 的 2 核 4GB 机型非常适合,注册时使用优惠码 2026off 即可享受 5 折优惠券,让你的跨平台 Minecraft 服务器以最低成本稳定运行。