下载服务端
以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基岩版服务器搭建完毕。
Comments NOTHING