# 下载服务端
以 Ubuntu 为例,目前 Minecraft 基岩版服务端仅支持 x86 架构。
-
先自行到
这里
找到最新版下载链接。 -
点击 “我同意
Minecraft最终用户许可协议
和隐私政策
”。 -
右键点击下载按钮,选择 “复制链接地址”。(手机用户长按下载按钮)。
# 连接服务器 SSH
mkdir Minecraft //创建Minecraft文件夹 | |
cd Minecraft/ | |
wget {你复制的下载链接} | |
unzip bedrock-server-{你下载的版本号}.zip //使用ls命令查看 | |
rm bedrock-server-{你下载的版本号}.zip |
# 编辑 server.properties
vim server.properties |
# 可根据以下注释自行编写
server-name=Dedicated Server | |
# 用作服务器名称 | |
# 允许的值:任何不带分号的字符串。 | |
gamemode=survival | |
# 为新玩家设置游戏模式。 | |
# 允许的值:"生存"、"创造" 或 "冒险" | |
force-gamemode=false | |
# force-gamemode=false(或 server.properties 中未定义 force-gamemode)服务端不会强制发送 server.properties 中设置的游戏模式值。 | |
# | |
# force-gamemode=true 服务端将会强制发送 server.properties 中设置的游戏模式值。 | |
difficulty=easy | |
# 设置世界的难度。 | |
# 允许的值 "和平"、"简单"、"正常" 或 "困难" | |
allow-cheats=false | |
# 如果为 true,则可以使用作弊命令。 | |
# 允许的值 "true" 或 "false" | |
max-players=10 | |
# 可在服务器上玩游戏的最大玩家人数。 | |
# 允许的值: 任意正整数 | |
online-mode=true | |
# 如果为 true,则所有连接的玩家都必须通过 Xbox Live 认证。 | |
# 无论设置与否,连接到远程(非局域网)服务器的客户端始终需要 Xbox Live 身份验证。 | |
# 如果服务器接受来自互联网的连接,则强烈建议启用在线模式。 | |
# 允许的值 "true" 或 "false" | |
allow-list=false | |
# 开启白名单 | |
# 如果为 true,则所有连接的玩家都必须在单独的 allowlist.json 文件中列出。 | |
# 允许的值: "true" 或 "false" | |
server-port=19132 | |
# 服务器应该监听哪个 IPv4 端口。 | |
# 允许的值: 范围 [1, 65535] 内的整数 | |
server-portv6=19133 | |
# 服务器应该监听哪个 IPv6 端口。 | |
# 允许的值: 范围 [1, 65535] 内的整数 | |
enable-lan-visibility=true | |
# 监听并响应正在局域网内寻找服务器的客户端。这将导致服务器 | |
# 绑定到默认端口(19132、19133),即使 `server-port` 和 `server-portv6` 的值为非默认值。 | |
# 具有非默认值。如果不希望服务器在局域网内被发现,或在同一台服务器上 | |
# 运行多个服务器时,请考虑关闭此选项。 | |
# 在同一主机上运行多个服务器可能导致端口冲突时,请考虑关闭此选项。 | |
# 允许的值: "true" 或 "false" | |
view-distance=32 | |
# 以区块数为单位的最大允许视距。 | |
# 允许的值: 等于或大于 5 的正整数。 | |
tick-distance=4 | |
# 世界将加载以任何玩家为中心的此范围内的区块。 | |
# 允许的值: 范围为 [4, 12] 的整数 | |
player-idle-timeout=30 | |
# 当玩家发呆了这么多分钟后,就会被踢出游戏。如果设置为 0,则玩家可以无限期发呆。 | |
# 允许的值: 任何非负整数。 | |
max-threads=8 | |
# 服务器尝试使用的线程数上限。如果设置为 0 或删除,则会尽可能多地使用线程。 | |
# 允许的值: 任何正整数。 | |
level-name=Bedrock level | |
# 允许的值: 任何不含分号符号或非法文件名符号的字符串:/\n\r\t\f`?*\\<>|\": | |
level-seed= | |
# 用来随机化世界 | |
# 允许的值: 任意字符串 | |
default-player-permission-level=member | |
# 首次加入的新玩家的权限级别。 | |
# 允许的值: "游客"、"会员"、"操作员" | |
texturepack-required=false | |
# 强制客户端使用当前世界的纹理包 | |
# 允许的值: "true" 或 "false | |
content-log-file-enabled=false | |
# 启用将内容错误记录到文件的功能 | |
# 允许的值: "true" 或 "false | |
compression-threshold=1 | |
# 确定要压缩的原始网络有效载荷的最小尺寸 | |
# 允许的值: 0-65535 | |
compression-algorithm=zlib | |
# 确定网络使用的压缩算法 | |
# 允许的值 "zlib"、"snappy" | |
server-authoritative-movement=server-auth | |
# 允许的值: "client-auth", "server-auth", "server-auth-with-rewind" | |
# 启用服务器授权移动。如果使用 "server-auth",服务器将重放本地用户在服务器上的输入,并在客户端位置与服务器位置不一致时发送修正信息。 | |
# 如果启用了 "server-auth-with-rewind" 功能,并且服务器发送了修正信息,客户端就会收到指令,将时间倒退回修正时间,应用修正信息,然后重放玩家从那时起的所有输入。这将使修正更流畅、更频繁。 | |
# 只有当 correct-player-movement 设置为 true 时,才会进行修正。 | |
player-movement-score-threshold=20 | |
# 报告异常行为前所需的不一致时间间隔数。 | |
# 因 server-authoritative-movement 禁用。 | |
player-movement-action-direction-threshold=0.85 | |
# 玩家的攻击方向和视线方向的差异量。 | |
# 允许的值:[0、1] 范围内的任意值,其中 1 表示玩家视角的方向和玩家攻击的方向必须完全一致,0 表示两个方向可以相差 90 度(含 90 度)。 | |
player-movement-distance-threshold=0.3 | |
# 在检测到异常行为之前,服务器和客户端位置之间的差值。 | |
# 因 server-authoritative-movement 而禁用。 | |
player-movement-duration-threshold-in-ms=500 | |
# 在异常移动距离递增之前,服务器和客户端位置不同步的持续时间(由 player-movement-distance-threshold 定义)。该值以毫秒为单位。 | |
# 因 server-authoritative-movement 而禁用。 | |
correct-player-movement=false | |
# 如果为 true,如果移动距离超过阈值,客户端位置将被修正为服务器位置。 | |
server-authoritative-block-breaking=false | |
# 如果为 "true",服务器将与客户端同步计算方块挖掘操作,以便验证客户端是否能在它认为可以时破坏方块。 | |
chat-restriction=None | |
# 允许的值:"None", "Dropped", "Disabled" | |
# 这表示对每个加入服务器的玩家的聊天限制程度。 | |
# "None" 是默认设置,代表普通无限制聊天。 | |
# "Dropped" 意味着聊天信息被丢弃,不会发送到任何客户端。玩家会收到一条信息,让他们知道该功能已被禁用。 | |
# "Disabled" 意味着除非玩家是操作员,否则聊天界面甚至不会出现。不会向玩家显示任何信息。 | |
disable-player-interaction=false | |
# 如果为 "true",服务器将通知客户端在与世界交互时应忽略其他玩家。这不是服务器认可的。 | |
client-side-chunk-generation-enabled=true | |
# 如果为 "true",服务器将通知客户端,他们有能力在玩家交互距离之外生成可视化区块。 | |
block-network-ids-are-hashes=true | |
# 如果为 "true",服务器将发送散列区块网络 ID 的,而不是从 0 开始向上的 ID。 这些 ID 是稳定的,不会因其他区块的变化而改变。 | |
disable-persona=false | |
# 仅供内部使用 | |
disable-custom-skins=false | |
# 如果为 "true",则禁用在 Minecraft 商店资产或游戏资产之外定制的玩家自定义皮肤。 这用于禁用玩家制作的可能具有攻击性的自定义皮肤。 | |
server-build-radius-ratio=Disabled | |
# 允许的值: "Disabled" 或范围 [0.0, 1.0] 内的任何值 | |
# 如果 "Disabled",服务器将动态计算生成多少玩家视图,并将其余视图分配给客户端创建。 | |
# 否则,在不考虑客户端硬件能力的情况下,服务器会根据值生成玩家视图。 | |
# 仅当启用了 client-side-chunk-generation-enabled 时有效 | |
allow-outbound-script-debugging=false | |
# 允许脚本调试器 'connect' 命令和 script-debugger-auto-attach=connect 模式。 | |
allow-inbound-script-debugging=false | |
# 允许脚本调试器 'listen' 命令和 script-debugger-auto-attach=listen 模式。 | |
#force-inbound-debug-port=19144 | |
# 锁定入站(监听)调试器端口,如果未设置,则使用默认的 19144。使用 script-debugger-auto-attach=listen 模式时必须设置. | |
script-debugger-auto-attach=disabled | |
# 尝试在世界加载时附加脚本调试器,需要设置入站端口或连接地址,并启用入站或出站连接。 | |
# "disabled" 不会自动附加。 | |
# "connect" 服务器将尝试以监听模式连接指定端口上的调试器。 | |
# "listen" 服务器将在指定端口上以连接模式监听来自调试器的入站连接尝试。 | |
#script-debugger-auto-attach-connect-address=localhost:19144 | |
# 当自动连接模式设置为 'connect' 时,请使用 host:port 格式的地址。script-debugger-auto-attach=connect 模式必须使用此地址。 |
# 输入完毕后 :wq
退出编辑器,执行以下命令启动服务端
LD_LIBRARY_PATH=. ./bedrock_server |
# 设置开机自启动
# 配置 systemctl 进行开机启动,创建 minecraft.service 服务
vim /lib/systemd/system/minecraft.service |
[Unit] | |
Description=Minecraft Server | |
After=network.target | |
Wants=network.target | |
[Service] | |
WorkingDirectory=服务端的目录,例如/opt/minecraft | |
ExecStart=输入服务端的绝对路径,例如/opt/minecraft/opt/Minecraft/bedrock_server | |
Restart=on-abnormal | |
RestartSec=5s | |
KillMode=mixed | |
StandardOutput=journal | |
StandardError=syslog | |
[Install] | |
WantedBy=multi-user.target |
# 执行以下命令重载 systemctl,启动服务端
systemctl daemon-reload | |
sudo systemctl start minecraft | |
sudo systemctl status minecraft | |
sudo systemctl enable minecraft |
Minecraft 基岩版服务器搭建完毕。