在B站up主Gabbie的粉丝群里帮水友们搭建了一个我的世界基岩版服务器,可以让大家的PC、手机等多个平台一起联机。
搭建这种非私人、游玩的人数稍微多一些(虽然也就十来个)的游戏服务器和私人、一两个朋友一起玩的服务器是不一样的,更需要注重性能优化、崩溃自动重启、自动备份等维护方面的工作。
这篇文章也会记录这部分。
下面记录一下搭建服务器的过程。
Minecraft Bedrock(我的世界基岩版)服务器安装
首先安装必要的工具
1 2
| sudo apt update sudo apt install wget screen unzip
|
- wget:一般 ubuntu 服务器都自带,用于下载文件。
- screen:用于后台运行服务。
- unzip:用于解压服务器文件。
接下来下载并安装服务器:
首先,进入minecraft基岩版下载官网
因为使用 Ubuntu 服务器,因此要选择右侧的下载,点击同意用户须知后 Download 按键变为绿色,
右键复制链接地址(写这篇文章时最新版本为1.18.32,因此使用该版本作为例子),然后打开服务器命令行
1 2 3 4 5 6 7 8 9 10
| # 新建服务器文件夹 mkdir Minecraft_BE
cd Minecraft_BE
# 下载服务器文件压缩包 wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.18.32.02.zip
# 解压服务器文件 unzip bedrock-server-1.18.32.02.zip
|
然后,可以选择修改文件夹内的 server.properties 文件来更改服务器的配置,这里挑选几个配置进行说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| # 服务器名,随意 server-name=The Gabbie Gang
# 游戏模式和难度 gamemode=survival difficulty=hard
# 是否允许作弊,注意一旦开启,该世界将永远不能获得成就 allow-cheats=false
# 最大玩家数 max-players=30
# 是否开启白名单模式,开启后要手动添加可加入的用户 allow-list=true
# 端口 server-port=19132
# 玩家持续挂机被踢出的时间,设置为0后可以一直挂机 player-idle-timeout=0
|
至此,服务器已经安装完成,接下来是可选的存档转移工作。
服务器文件夹内 worlds 文件夹内即为存档文件,默认名字为 “Bedrock level”,
将其他基岩版服务器的 “Bedrock level” 文件夹拷贝到该文件夹下覆盖就完成了存档转移。
服务器文件夹内的 allowlist.json 和 permissions.json 也可以一并转移,分别对应白名单和玩家权限。
自动化启动与维护
自动化启动依赖于 systemctl ,首先编写配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| sudo vim /etc/systemd/system/minecraft_BE@.service
#以下为写在 minecraft_BE@.service 文件中的内容 [Unit] Description=Minecraft Bedrock Server: %i After=network.target
[Service] WorkingDirectory=/home/xulouzhe/Minecraft_BE
User=xulouzhe Group=xulouzhe
Restart=always
ExecStart=/usr/bin/screen -L -Logfile /home/xulouzhe/Log/MC_BE.log -DmS mc_be-%i ./bedrock_server
ExecStop=/usr/bin/screen -p 0 -S mc_be-survival -X eval 'stuff "say SERVER SHUTTING DOWN IN 5 SECONDS. SAVING ALL MAPS..."\015' ExecStop=/bin/sleep 5 ExecStop=/usr/bin/screen -p 0 -S mc_be-survival -X eval 'stuff "save-all"\015' ExecStop=/usr/bin/screen -p 0 -S mc_be-survival -X eval 'stuff "stop"\015'
[Install] WantedBy=multi-user.target
|
注意!!!文件中的 /home/xulouzhe/Minecraft_BE 要改成你的服务器文件所在文件夹,
/home/xulouzhe/Log/MC_BE.log 要改成你想存储的日志文件地址;xulouzhe要改成你的用户和群组名。
然后启动服务器并配置开机自动运行
1 2 3 4 5
| # 运行服务器 sudo systemctl start minecraft_BE@survival
# 设置自动启动 sudo systemctl enable minecraft_BE@survival
|
然后就可以连接服务器游玩了!(注意关闭服务器防火墙对应端口)
接下来是自动备份和定时重启服务器的设置,需要修改具体的路径,时间配置可以自学cron命令:
1 2 3 4 5 6 7 8 9 10 11 12 13
| # 打开 Linux 定时任务编辑页面 crontab -e
# 在其中加入如下命令 # 每天凌晨3:55自动存档,具体路径和时间需要修改 55 3 * * * tar -C /home/xulouzhe/Minecraft_BE/worlds/ -zcf /home/xulouzhe/Backup/MC_BE_Backup.tar.gz 'Bedrock level/'
# 重启需要sudo权限,因此使用sudo运行 sudo crontab -e
# 在其中加入如下命令 # 周一凌晨4:00重启服务器 0 4 * * 1 systemctl restart minecraft_BE@survival
|
控制台命令使用
输入以下命令进入服务器控制台
1
| screen -r mc_be-survival
|
然后可以输入控制台命令(开头不需要斜杠),完成后按 ctrl a + d 退出控制台。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| # 添加用户为管理员 op 用户名
# 添加用户名至白名单 whitelist add 用户名
# 修改单用户游戏模式为创造,可以用用于造命令方块且成就不会无效 gamemode c 用户名
# 修改单用户游戏模式为生存 gamemode s 用户名
# 清除地上的方块 kill @e[type=item]
|
至此,服务器搭建全部完成。