免责声明

这是一个早期版本(alpha),我们尚不完全支持。它可能包含严重的问题,我们可以随时停止支持它。

推荐硬件

我们建议在至少具有 2 个内核和 1 Gb RAM 的 64 位 Intel 或 AMD 处理器计算机上运行 Bedrock Minecraft Server。

平台

Linux目录

Bedrock Server 的 Linux 版本需要 Ubuntu 18 或更高版本。不支持其他发行版。
将容器文件解压缩到空文件夹中。使用以下命令启动服务器:

LD_LIBRARY_PATH=。./bedrock_server

窗户

Windows 版本的 Bedrock Server 需要:

  • Windows 10 版本 1703 或更高版本
  • Windows Server 2016 或更高版本

将容器文件解压缩到空文件夹中。通过执行文件启动服务器。bedrock_server.exe

在某些系统上,当您希望使用与
服务器正在运行,您需要将 Minecraft 客户端从 UWP 环回限制中免除:

CheckNetIsolation.exe LoopbackExempt –a –p=S-1-15-2-1958404141-86561845-1752920682-3514627264-368642714-62675701-733520436

.

配置

服务器将尝试读取名为 的文件。其中一些选项仅在创建新世界时读取,而其他一些选项则在每次启动时读取。该文件应包含一个列表,其中键和值用等号分隔,每行一个。server.properties

以下选项可用。如果值作为括号中的数字,则可以使用该数字代替文本值。

选项名 可填的值 默认值 什么时候用它 解释
gamemode 生存模式 (0), 创造模式 (1), 冒险模式 (2) survival Always or only for new players 游戏模式
force-gamemode true, false false Always force-gamemode=false(或 force-gamemode 未在服务器中定义。属性文件)阻止服务器向客户端发送游戏模式值,而不是服务器在创建世界时保存的游戏模式值,即使这些值已在服务器中设置。创建世界后的属性文件。
force-gamemode=true  
强制服务器向客户端发送游戏模式值,而不是服务器在创建世界时保存的游戏模式值,如果这些值在服务器中设置。创建世界后的属性文件。
difficulty 和平 (0), 简单 (1), 普通 (2), 困难 (3) easy Always 游戏难度
level-type FLAT, LEGACY, DEFAULT DEFAULT World creation
server-name 任何字符串 Dedicated Server Always 游戏内服务器列表中显示的名称
max-players 任何字符串 10 Always能够在服务器上玩游戏的最大玩家数量。设置较高的值对性能有影响
server-port 任何字符串 19132 Always 服务器端口
server-portv6 任何字符串 19133 Always 服务器IPv6端口
level-name 任何字符串 level Always 要使用/生成的级别的名称。每个级别都有自己的文件夹/worlds
level-seed 任何字符串 World creation 用于随机化世界的种子。如果留空,将随机选择一个种子
online-mode true, false true Always如果为true,那么所有连接的玩家都必须通过Xbox Live认证。无论此设置如何,连接到远程(非局域网)服务器的客户端始终需要Xbox Live身份验证。如果服务器接受来自Internet的连接,那么强烈建议启用联机模式。
allow-list true, false false Always 如果为真,那么所有连接的玩家必须在单独的文件中列出。请参阅Allowlist部分 allowlist.json
allow-cheats true, false false Always
view-distance 任意整数 10 Always允许的最大可视距离。较高的值对性能有影响
player-idle-timeout Any integer 30 Always 当一个玩家挂机了这么长的分钟后,他们将被踢出。如果设置为0,则玩家可以无限期挂机
max-threads Any integer 8 Always 服务器将尝试使用的最大线程数
tick-distance 范围内的整数 [4, 12] 4 Always 世界将从任何玩家的视线中移开这么多块。设置较高的值对性能有影响
default-player-permission-level 游客, 成员, 操作者 member Always 当新玩家第一次加入时,他们将拥有更高的权限级别
texturepack-required true, false false Always如果世界使用任何特定的材质包,那么这个设置将强制客户端使用它
content-log-file-enabled true, false false Always 启用将内容错误记录到文件中
compression-threshold 范围内的整数 [0-65535] 1 Always 确定要压缩的原始网络有效负载的最小大小。可以用来进行cpu带宽权衡的实验
server-authoritative-movement true, false true Always启用服务器授权移动。如果为true,服务器将在服务器上重播本地用户输入,并在客户端的位置与服务器的位置不匹配时发送更正。修正只会在correct-player-movement设置为true时发生。
player-movement-score-threshold 任意正数 20 Always 在异常行为被报告之前需要的不一致时间间隔的数量。换句话说,在我们采取行动之前,玩家做了多少次可疑的事情。仅与服务器-权威-移动相关
player-movement-action-direction-threshold Any positive float in the range of [-1, 1] 0.85 Always 玩家所攻击的方向可能与玩家所看到的方向不同,即cos(x) (x是两个向量之间的夹角)。1表示两个向量必须是平行的,0表示玩家面前的任何向量,-1表示任何向量
player-movement-distance-threshold 任意正浮点数 0.3 Always 在注册异常行为之前需要超过的服务器和客户端位置之间的差值。仅与server-authoritative-movement相关
player-movement-duration-threshold-in-ms 任意正数 500 Always 在异常移动得分增加之前,服务器和客户端位置不同步的持续时间(由player-movement-distance-threshold定义)。该值以毫秒为单位定义。仅与server-authoritative-movement相关
correct-player-movement true, false false Always 如果为true,当移动分数超过阈值时,客户端位置将被修正为服务器位置。仅与server-authoritative-movement相关。我们还不建议启用这个功能;工作仍在进行中
disable-player-interaction true, false false Always
如果为true,服务器将通知客户端,当他们与世界互动时,他们应该忽略其他玩家。这不是服务器授权的。

文件夹

解压缩时,您将看到几个文件夹和二进制可执行文件。首次启动服务器时,将创建一堆新的(空)文件夹。您应该关注的文件夹如下:

文件夹名称 目的
behavior_packs 这是可以安装新行为包的地方。目前无法激活
他们在关卡中。
resource_packs 这是可以安装新资源包的地方。目前无法激活
他们在关卡中。
world 如果此文件夹尚不存在,则将在启动时创建。创建的每个世界都会有一个根据它们在文件内部命名的文件夹。level-nameserver.properties

允许列表

如果启用了该属性,则服务器将仅允许选定的用户进行连接。要允许用户连接,您需要知道他们的 Xbox Live 玩家代号。将用户添加到允许列表的最简单方法是使用命令(例如:)。注意:如果玩家代号中有空格,则需要用双引号将其括起来:allow-listserver.propertiesallowlist add <Gamertag>allowlist add ExampleNameallowlist add "Example Name"

如果以后要从列表中删除某人,可以使用命令 。allowlist remove <Gamertag>

允许列表将保存在名为 的文件中。如果您想自动执行添加或删除玩家的过程,您可以这样做。修改文件后,您需要运行命令以确保服务器知道您的新更改。allowlist.jsonallowlist reload

注意:此文件以前名为 。为了向后兼容,如果文件也存在,则将使用该文件代替 . 要迁移,请删除默认文件,重命名为 ,然后重新启动服务器。whitelist.jsonwhitelist.jsonallowlist.jsonallowlist.jsonwhitelist.jsonallowlist.json

该文件包含一个 JSON 数组,其中包含包含以下键/值的对象。

关键字 类型
name 字符串 用户的玩家代号。
xuid 字符串 自选。用户的 XUID。如果未设置,则当具有匹配名称的人连接时,将填充它。
ignorePlayerLimit 布尔 如果此用户不应计入最大玩家限制,则为 True。目前,即使玩家使用此选项,连接玩家的数量也为 30 个(或比指定的最大玩家数高 1 个)的另一个软限制。这样做的目的是让一些玩家即使服务器已满也能加入。

示例文件:allowlist.json

[
    {
        "ignoresPlayerLimit": false,
        "name": "MyPlayer"
    },
    {
        "ignoresPlayerLimit": false,
        "name": "AnotherPlayer",
        "xuid": "274817248"
    }
]

权限

您可以通过在与服务器可执行文件位于同一目录中分配角色来调整玩家的特定权限。该文件包含一个具有 XUID 和权限的简单 JSON 对象。有效权限为:、、。每个与这些帐户连接的玩家都将根据设定的前提进行处理。如果在服务器运行时更改此文件,请运行该命令以确保服务器知道您的新更改。您还可以使用 列出当前权限。请注意,需要启用此功能才能正常工作,因为 xuid 需要在线验证用户帐户。如果此列表中未列出的新玩家连接,则该选项将适用。permissions.jsonoperatormembervisitorpermission reloadpermission listonline-modedefault-player-permission-level

示例文件:permissions.json

[
    {
        "permission": "operator",
        "xuid": "451298348"
    },
    {
        "permission": "member",
        "xuid": "52819329"
    },
    {
        "permission": "visitor",
        "xuid": "234114123"
    }
]

崩溃报告

如果服务器崩溃,它将自动向我们发送各种信息,以帮助我们将来解决问题。

命令

您可以通过在控制台中键入内容向服务器发出命令。以下命令可用。< > 表示参数是必需的,[ ] 表示它是可选的,并且|表示不同的允许值。字符串可以括在双引号 “中,如果它们包含空格。

命令语法 描述
kick<玩家名称或 xuid> <原因> 立即踢出玩家。原因将显示在被踢的玩家屏幕上。
stop 正常关闭服务器。
save<保留|简历|查询> 用于在服务器运行时进行原子备份。有关详细信息,请参阅备份部分。
allowlist<on|off|list|reload>

on,然后打开和关闭允许列表。请注意,这不会更改文件中的值!offserver.properties

list打印服务器使用的当前允许列表

reload使服务器从文件重新加载允许列表。

有关详细信息,请参阅允许列表部分。

allowlist<add|del> <名称> 在允许列表文件中添加或删除播放器。name 参数应为要添加或删除的玩家的 Xbox 玩家代号。您不需要在此处指定 XUID,它将在播放器首次连接时解析。

有关详细信息,请参阅允许列表部分。
权限<list|reload>

list打印当前使用的运算符列表。

reload使服务器从 ops 文件重新加载操作员列表。

有关详细信息,请参阅权限部分。

操作<玩家名>

将玩家提升为 .如果播放器通过 XBL 身份验证,这也将持续存在。如果缺少,则将创建它。如果播放器未连接到 XBL,则会针对当前服务器会话升级播放器,并且不会将其保留在磁盘上。服务器重新启动后,将向玩家分配明确的服务器权限级别。operatorpermissions.jsonpermissions.json

德奥普<玩家名>

将玩家降级为 .如果播放器通过 XBL 身份验证,这也将持续存在。如果缺少,则将创建它。memberpermissions.jsonpermissions.json

更改设置<设置> <值> 更改服务器设置,而无需重新启动服务器。目前仅支持更改两个设置:(真或假)和(0、1、2、3 )。它们不会修改 中指定的值。allow-cheatsdifficultypeacefuleasynormalhardserver.properties

备份

服务器支持在服务器运行时备份坐标文件。它对于手动备份不是特别友好,但在自动化时效果更好。备份(从服务器角度)由三个命令组成。

命令 描述
save hold 这将要求服务器准备备份。它是异步的,会立即返回。
save query 调用后,应反复调用此命令以查看准备是否已完成。当它返回成功时,它将返回您需要复制的文件的文件列表(每个文件的长度)。发生这种情况时,服务器不会暂停,因此可以在备份过程中修改某些文件。只要您只复制给定文件列表中的文件并将复制的文件截断为指定的长度,那么备份应该是有效的。save hold
save resume 复制完文件后,您应该调用它来告诉服务器可以再次删除旧文件。