该专栏同时在我的网站 https://heykero.top/article/how-to-run-Minecraft-Bedrock-Edition-servers-on-your-Linux-or-Windows-computers/ 上发布
本文原版 cv4246984 写于 2019-12-29
本文为该篇的重制版,修正了许多错误以及更新了一些地方
为什么会有这篇文章
很多人想开服,但是网上绝大多数的教程都是 Java 版的,很少有基岩版的。一方面是现在网上的基岩版服务端很少,只有像官方的 Bedrock Dedicated Server(https://minecraft.net/download/server/bedrock/), PocketMine-MP, NukkitX(而且第三方服务端的地形生成和特性和原版不一致,不适合作为生存服务器)之类的(更多可以在Wiki上看到);而Java版就多了:除了官方的还有 Bukkit, Spigot, Paper 等等(不仅这样还有大量插件支持)
还有就是一年前写的那篇太烂了我看不下去
准备工作
这篇文章我们将使用官方的 Bedrock Dedicated Server(以下称为 BDS) 来开服,版本是 1.16.201.02
下载及解压
从官方网站依据阁下的操作系统下载对应的压缩包

注:如果中文(zh-hans)网站加载不出来就换成英文(en-xx,例如en-us)试试,原因未知(2020.01.30 14:07)
注2: 如果下载缓慢可以看看文末的办法
并解压

阁下应该会见到如下的文件结构
-
behavior_packs/ 行为包
-
definitions/ 游戏内容之类的
-
resource_packs/ 材质包
-
structures/ 结构,就是村庄之类的建筑
-
bedrock_server(.exe) 可执行文件
-
(bedrock_server.pdb) 好像是代码编译库,我不搞开发我也不清楚
-
bedrock_server_how_to.html 自带的说明文件,说的也十分详细
-
permissions.json 记录着权限,例如管理员
-
release-notes.txt 更新笔记
-
server.properties 服务器配置文件
-
whitelist.json 白名单
配置
主要的配置都在 server.properties
里,详细请见文末以及 bedrock_server_how_to.html

开服
Windows 下请双击 bedrock_server.exe
,Linux 请在终端进入bedrock_server
二进制可执行文件所在的目录后输入 LD_LIBRARY_PATH=. ./bedrock_server
如果提示

请根据实际情况允许或拒绝;
如果阁下出现了 缺少 xxx.dll
或类似的提示窗口,请确保阁下的 Windows 是 Windows10 1904 或 Windows Server 2019 及以上(而且没有被魔改或安装流氓软件),并安装了 Microsoft Visual C++ 2015-2019 x64 版本运行库
接着阁下应该会看到这样或类似的窗口:

那么恭喜,阁下已经成功了一小半了
加入服务器
如果阁下没有更改配置,阁下应该会可以看到
NO LOG FILE! – setting up server logging…
[2021-01-30 14:25:25 INFO] Starting Server
[2021-01-30 14:25:25 INFO] Version <verison>
[2021-01-30 14:25:25 INFO] Session ID <uuid>
[2021-01-30 14:25:25 INFO] Level Name: Bedrock level
[2021-01-30 14:25:25 INFO] Game mode: 0 Survival
[2021-01-30 14:25:25 INFO] Difficulty: 2 NORMAL
[INFO] opening worlds/Bedrock level/db
[INFO] IPv4 supported, port: 19132
[INFO] IPv6 supported, port: 19133
[INFO] IPv4 supported, port: 55874
[INFO] IPv6 supported, port: 55875
[INFO] Server started.
从 [INFO] IPv4 supported, port: 19132
我们可以知道服务器在 19132 UDP 端口监听,我们可以试着加入服务器
如果开启了白名单,请先使用命令
whitelist add <player name>
添加白名单
如果阁下是在本机开启的服务器,请使用 localhost
或 127.0.0.1
作为 IP 加入服务器,并解除 UWP 应用的 App Container 换回限制
请在 PowerShell 或 cmd.exe 使用命令
CheckNetIsolation LoopbackExempt -a -p=S-1-15-2-1958404141-86561845-1752920682-3514627264-368642714-62675701-733520436
或
CheckNetIsolation LoopbackExempt -a -n="Microsoft.MinecraftUWP_8wekyb3d8bbwe"
;如果阁下是使用云服务器服务商提供的服务器,请查看他们给的IP;如果阁下是使用的局域网电脑(比如我),阁下在阁下局域网内的电脑的命令行或终端上输入 ipconfig
(Windows) ifconfig
(Linux) 或查看设置,寻找 以太网适配器 以太网


例如我这边是 192.168.1.11
打开 Minecraft > 游戏 > 服务器 > 添加服务器,输入服务器名称(随意),IP,端口


阁下应该就可以进入服务器了
如何让他人能够访问阁下的服务器
到这里,阁下的服务器已经可以在本地访问了
不在阁下局域网的其他人该如何进入阁下的服务器呢
请阁下依据情况选择
云服务器
例如 Aliyun、Tencent Cloud
请遵守服务器所在国家或区域的法律法规
有独立公网 IP
如果阁下使用的是云服务器运行的 BDS,请到阁下的云服务提供商处获取阁下的 IP(一般情况下,阁下用于连接服务器 RDP 或 SSH 的 IP 便是) 阁下只需要将阁下服务器的 IP 以及您服务器的端口(默认 19132
)发给阁下想要给的人即可
PS: 大部分云服务器都会有防火墙,请到云服务器提供商的面板开启,详细请看云服务供应商的帮助文档
PS2: 部分服务器系统还会有防火墙,例如iptables
ufw
没有独立 IP,但有端口
和有独立 IP 的步骤一致,不过服务器端口只可设置为云服务提供商给阁下的端口范围之内
自托管
即电脑/服务器在阁下家中
请注意相关法律法规
无公网 IP
Sakura Frp
有公网 IP
IPv4
IPv6
下载缓慢
使用例如 Internet Download Manager 等多线程下载软件(或者迅雷)
我不是特别确定重新分发服务端是否违反协议,所以不给网盘了(
配置文件及翻译
server.properties: 汉化 https://assets.heykero.top/post/how-to-run-Minecraft-Bedrock-Edition-servers-on-your-Linux-or-Windows-computers/server.properties
bedrock_server_how_to.html: 汉化(在线预览) https://assets.heykero.top/post/how-to-run-Minecraft-Bedrock-Edition-servers-on-your-Linux-or-Windows-computers/bedrock_server_how_to.html