以下教程将带你从零开始,分别在 Docker 容器环境 和 物理机环境 下部署 Minecraft Bedrock(基岩版)服务器,并给出常用运维技巧。所有步骤均已在 Debian/Ubuntu 20+ 测试通过,可放心照做。
一、准备工作(两种部署方式通用)
- 一台 2 vCPU / 4 GB RAM / 5 Mbps 以上带宽的云主机或本地机器(约可承载 5–15 人)。
- 开放 UDP 19132 端口(安全组 + 系统防火墙都要放行),若是ipv6,则开放UDP 19133。
- 确保你拥有服务器 root/sudo 权限,并记住公网 IP。
二、Docker 部署(推荐,跨平台一致、易迁移)
1. 一键安装 Docker-ce
export DOWNLOAD_URL="https://mirrors.bfsu.edu.cn/docker-ce"
# 如您使用 curl
curl -fsSL https://raw.githubusercontent.com/docker/docker-install/master/install.sh | sh
# 如您使用 wget
wget -O- https://raw.githubusercontent.com/docker/docker-install/master/install.sh | sh2. 创建持久化目录
mkdir -p ~/mcbedrock/{data,backups}
cd ~/mcbedrock3. 一键启动容器
docker run -d --name mcbedrock \
-p 19132:19132/udp \
-v "$PWD/data":/data \
-e EULA=TRUE \
-e VERSION=LATEST \
--restart unless-stopped \
itzg/minecraft-bedrock-server参数说明-e EULA=TRUE:自动接受 Mojang EULA;-e VERSION=LATEST:自动拉取官方最新稳定服务端;-v:把存档、配置全部映射到宿主机,方便备份与修改。
4. 查看日志 / 关闭 / 重启
docker logs -f mcbedrock # 实时日志
docker stop mcbedrock && docker start mcbedrock5. 修改 server.properties
nano data/server.properties # 修改游戏模式、难度、最大玩家数等
docker restart mcbedrock # 改完重启生效6. 备份脚本(可 crontab 定时)
#!/bin/bash
docker exec mcbedrock rcon-cli save hold # 暂停写入
tar -czf backups/bedrock-$(date +%F-%H%M).tar.gz data/worlds
docker exec mcbedrock rcon-cli save resume三、物理机部署(无 Docker,适合极简或低内存场景)
1. 下载并部署官方服务端
也可以自行在官网下载Minecraft bedrock server。
cd /opt
curl -L -o bedrock-server.zip \
https://minecraft.net/en-us/download/server/bedrock
unzip bedrock-server.zip -d bedrock && cd bedrock
chmod +x bedrock_server3. 首次启动(生成配置文件)
./bedrock_server
# 看到 “Server started.” 后 Ctrl+C 先停掉4. 调优 server.properties
nano server.properties
# 推荐修改项:
server-name=MyDockerWorld
gamemode=survival
difficulty=normal
max-players=10
online-mode=true
white-list=false5. 创建 systemd 守护(开机自启)
sudo nano /etc/systemd/system/mcbedrock.service写入:
[Unit]
Description=Minecraft Bedrock Server
After=network.target
[Service]
User=user #可选,忽略则为root用户运行
WorkingDirectory=/opt/bedrock
ExecStart=/opt/bedrock/bedrock_server
Restart=on-failure
User=root
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now mcbedrock
sudo systemctl status mcbedrock至于user,可以使用服务器上其他非root用户,更安全。
6. 日常运维
# 查看实时日志
journalctl -u mcbedrock -f
# 平滑关机(在服务器控制台)
say Server will restart in 10s
stop7. 备份
sudo systemctl stop mcbedrock
tar -czf /root/bedrock-$(date +%F-%H%M).tar.gz /opt/bedrock/worlds
sudo systemctl start mcbedrock四、客户端连接测试
- 打开 Minecraft 基岩版 →「游戏」→「服务器」→「添加服务器」
输入
- 服务器名称:任意
- 地址:你的公网 IP
- 端口:19132
- 保存后点击进入,若显示 “正在连接…” → 成功!
五、常见问题速查
| 现象 | 排查要点 |
|---|---|
| 客户端搜不到服务器 | 检查安全组/防火墙 UDP 19132 是否放行;确认 docker/物理机监听 0.0.0.0。 |
| 进去后提示“版本不兼容” | 客户端升级或与 VERSION 变量保持一致。 |
| 容器反复重启 | docker logs 看是否未接受 EULA;确认 /data 目录权限 755 以上。 |
| 物理机启动报 “libc6:i386” 缺失 | 确认已添加 32 位架构并安装依赖。 |
六、进阶玩法
- Geyser + Floodgate:让 Java 版与基岩版同服联机,仅需在 Java 服务端装插件,再把 19132/udp 映射出来即可。
- MCSManager 面板:Web 可视化管理多个 Docker/物理机实例,支持文件管理、自动备份、多用户权限。
- Docker Compose 多容器网络:把 Nginx 反向代理、RCON Web 管理、备份容器编排在一起,实现一键启停。
- 自动启停以节省服务器资源: