基岩版专用服务器(Bedrock Dedicated Server/BDS)允许Minecraft的玩家在家里安装有Windows或Ubuntu(Linux)的电脑亦或使用云服务托管搭建自己的服务器。[1]该软件现处于早期开发阶段,因此与任何处于早期开发的软件一样可能存在严重问题,且软件的更新与维护可能会随时停止。
配置
BDS是一个类似于Java版服务器的服务器托管工具。和Java版一样,它有一个server.properties和whitelist.json文件。不过服务器的管理员清单存储在permissions.json文件中,而不是ops.json。资源包和行为包分别存储于世界中的resource_packs和behavior_packs文件夹。存储世界的文件夹中的JSON文件可配置要使用的包。第一次启动时,如果worlds文件夹中没有server.properties配置中的世界,将会由BDS随机生成一个世界。新生成的世界能在服务端文件夹中新出现的worlds文件夹找到,新生成的世界默认文件夹名为Bedrock level,可在server.properties中修改。BDS生成的地图文件可以导入单机客户端中使用,同时单机客户端生成的世界也可以迁移到BDS服务器中,但是玩家背包数据不兼容。BDS与Realms使用的服务器软件相同。[2]BDS支持在后台使用所有在基岩版单机客户端可以使用的命令。使用Windows版本的BDS开服的过程中若提示缺少dll,请将你的Windows版本更新至Windows10 1904或Windows Server 2019及以上并安装Microsoft Visual C++ 2015-2019 的x64版本运行库。
连接
BDS允许除了来自Nintendo Switch的玩家加入服务器。Xbox One用户只能通过LAN连接方式加入服务器。与使用TCP协议的Java版不同,BDS使用UDP协议。其IPv4的默认端口为19132,IPv6的默认端口为19133。这些可以在server.properties中更改。
默认情况下,Windows 10版Minecraft并不支持连接至同一机器上运行的服务器(即连接至127.0.0.1或localhost)。欲修复此问题,以管理员身份运行 PowerShell 并执行以下命令:[3]
CheckNetIsolation LoopbackExempt -a -n="Microsoft.MinecraftUWP_8wekyb3d8bbwe"
或者,您可以通过安全标识符授予回环豁免(如与服务器下载捆绑的 bedrock_server_how_to.html文件中的建议)。以管理员身份启动 PowerShell 并运行以下内容:[4]
CheckNetIsolation LoopbackExempt -a -p=S-1-15-2-1958404141-86561845-1752920682-3514627264-368642714-62675701-733520436
白名单
要启用白名单需要修改server.properties文件。启用后,服务器将只允许指定的玩家加入游戏,您需要知道所有想要加入服务器的玩家的Xbox Live玩家代号,Xbox Live玩家代号未被添加至服务器白名单中的玩家将无法进入服务器。无法在不开启白名单且未安装黑名单插件的服务器里封禁玩家。
要了解有关白名单的更多信息,请查看服务端压缩文件内附带的bedrock_server_how_to.html。如果您在自己的服务器上遇到了熊孩子,开启白名单可能是解决问题的好方法。
启动、维护服务器的脚本和添加功能的插件加载器
该段落的内容不代表Mojang Studios或Minecraft Wiki的官方意见。
Native加载器
- LiteLoaderBDS [GPLv3]轻量化的Bedrock Dedicated Server插件加载器,基于BedrockX二次开发。
- ElementZeroRedesigned [WIP]EZ的续更作品,主体使用Nim语言编写
- BDLauncher 灵活,简单并且易于安装的第三方Bedrock Server插件加载器,自带一些实用插件(如AntiCheat、Land、Teleport),仅支持运行在Linux发行版中,现已停止更新。另外一个继续更新的分支: VectorLab/bdlauncher
- ElementZero 灵活,简单的第三方BDS服务端的插件加载器,自带一些功能插件,支持强制开启实验玩法和教育版,在Windows系统下运行,同时可利用Wine在Linux系统运行(仅支持Wine5+),最后版本兼容基岩版1.16.201,已停更。
- BedrockX 和BDLauncher相似,均为第三方Bedrock Server插件加载器。适用于Windows版本的BDS服务端,但也可以通过Wine在Linux发行版上运行(仅支持Wine5+)。由BDLauncher开发者Sysca11编写,自带一些实用插件,最后的开源版本兼容基岩版1.14.60,已停更。
- BDXCore 一个轻量的插件加载器,开发者为Sysca11。它通过库劫持实现dll插件的加载,支持Windows,Linux(Wine环境),并且封装了Hook API,大大减少了插件体积。还能通过动态符号查找,使单一插件支持多个版本的BDS,并在开发者不更新的情况下,大概率可以小版本自动适配,支持注入非BDXCore插件。
Script/虚拟机语言加载器
注意,这些加载器有可能会相互冲突,为了保证稳定性,请不要混合使用。
- BDSX 可通过node.js编写插件,继承官方Scripts引擎。
- BDSNetRunner 这是一个可以让用户运行.Net framework插件的一个插件运行平台。用户可采用多种语言(VB/C#/C++等)编写基于.Net平台的插件。基于JSR机制,用户可较容易地转移自己的js功能到.Net平台上。已提供hook接口,参考范例使用即可。本插件开发采用启动器加载framework并调用指定入口方法启动。基本运作机制同JSR。
- NetJSRunner .Net版JS插件加载平台。依赖于BDSNetRunner。
- PFJSR NetJSRunner衍生版本,使用Jint解释器,F#编写。依赖于BDSNetRunner。
- BDSPyRunner 这是一个可以让用户运行Python脚本插件的一个插件运行平台,由twoone3制作,Fishing和LiuXiaohua提供部分技术支持。此插件使用了CPython的api来实现Python解释。
- BDSJSRunner 梦之故里提供的JS插件运行平台,为BDS服务器提供了一个稳定安全的跨版本插件开发解决方案。基于谷歌V8虚拟机运行的JS插件,具有线程安全的稳定性。所有事件驱动接口使用标准Json字符串传输,符合工业标准规范,易于上手,操作简单。可以解决BDS开发难度高、C++/.Net系写dll类插件安全性差等问题。[5]由LiuXiaoHua主要开发,Player提供技术支持,已停更。
- IronPythonRunner BDS下IronPython扩展插件运行平台,由Sbaoor开发。该平台依赖于BDSNetRunner,采用Apache 2.0协议。
- IronLuaRunner BDS下IronLua扩展插件运行平台,由Sbaoor独立开发。该平台依赖于BDSNetRunner,采用GPL 3.0协议。
- IronLuaLoader BDS下IronLua扩展插件运行平台,由Sbaoor独立开发,旨在取代IronLuaRunner。该平台依赖于BDSNetRunner,采用AGPL 3.0协议。
- BDSJavaRunner LiuXiaohua编写的Jar加载器,使用JRE1.8。目前只发布了1.16.201版本。
辅助脚本/软件
- BDSAddonInstaller 用于自动安装、更新和卸载Add-on/资源包的node.js工具。
- MCscripts 用于备份、自动更新、安装和关机警告的系统单元、bash脚本和聊天机器人。
- MinecraftBedrockServer 在Ubuntu/Debian/Raspbian/Armbian上设置BDS,提供自动更新、备份和启动时自动运行的选项。
- MCBEPlay MCBEPlay是BDS的WinGUI,它使您能够在对服务器系统知之甚少或一无所知的情况下控制和管理您的BDS。它还具有自动备份,可以自动保存,并具有自动重新启动功能。
- WinMSSScripts WinMSSScripts是一个基本的批处理文件,用于帮助在Win环境上运行BDS时创建世界备份和日志文件。
问题
由于此服务器软件仍处于Alpha阶段,因此仍然缺少Java版服务端中许多的自带功能。
- 一个类似Java版的
/reload命令用于重载服务器以防止服务器崩溃。 - 一个类似于LifeBoat的传送世界系统,能在不同世界传送的命令。(有相关函数,但未注册命令,可使用第三方启动器启用)
- 一个类似于Realms的,允许Xbox One和Nintendo Switch用户连接服务器的邀请系统。
- 不能像MacOS之类的系统上运行Lifeboat使用的Steadfast 2服务器软件一样运行服务器。
- 默认无法使用类似于
/wsserver的websocket服务器。(但可以通过在服务器配置文件修改参数来支持) - 不支持直接开启实验性玩法,需要使用第三方应用修改地图数据,也可使用第三方启动器开启。
- 经常会有和单机一样的刷物品漏洞,且在不使用第三方插件的情况下难以应对使用第三方软件作弊的玩家扰乱服务器秩序甚至破坏服务器的威胁,因此原版的未添加保护性第三方插件的BDS并不适合用于开大型的开放加入的服务器。
- BDS在某些多核低频率的服务器CPU上的性能表现不佳,反而单核性能更强的顶级家用CPU更适合使用BDS。
- 在未打更新补丁的Windows Server 2016上运行1.16版本以上的BDS会报错且无法正常开服。
- 在高负载的情况下(例如大量生物实体堆积/加载复杂区块),有时会出现服务器突然CPU占用率很低但是整个服务器卡死的情况。
- 无法在低于Windows Server 2016或Windows 10的设备上正常开启原版BDS服务器,必须添加chakara.dll(可由BDSLiteloader/BedrockX/ElementZero/EZR/bdxcore等提供)。
历史
BDS的发布遵循客户端的发布周期。[6]
外部链接
参考
- ↑ https://help.mojang.com/customer/portal/articles/2954250-dedicated-servers-for-minecraft
- ↑ https://twitter.com/_b4njo/status/1039495573089542145
- ↑ Can't connect to localhost Win10 server with Minecraft Win10 Edition
- ↑ Bedrock Dedicated Server Tutorial
- ↑ 梦之故里JSRunner开发文档:http://game.xiafox.com/jsrdevdoc.htm?tdsourcetag=s_pctim_aiomsg#t_prefacce
- ↑ https://discordapp.com/channels/302094807046684672/489043421072195585/489067565843349504
- ↑ https://twitter.com/Minecraft/status/1039527221835309058
- ↑ https://twitter.com/jeb_/status/1039483667515625472
| 版本 |
| ||||||
|---|---|---|---|---|---|---|---|
| 开发 |
| ||||||
| 技术性 | |||||||
| 多人游戏 | |||||||
| 特色功能 | |||||||