MC-BE基岩版的私服搭建与日常维护
前些天不小心买了个ecs的服务器,又是活动期不能退款,没办法用来搭了个mc基岩版的服务器玩玩。拥有自己的服务器,不仅可以备份世界存档,作为管理员,甚至还可以“滥权”一下,与小伙伴玩点恶作剧。 选择基岩版的原因不仅是c++开发导致的运行效率高更流畅,更是可以跨平台联机。
搭建环境
由于我们要搭建一个24小时不中断的mc基岩版服务器,因此需要一个低延迟的服务器,国内优先推荐阿里云和腾讯云,我现在用的是阿里的轻量ECS,趁活动一个月也就几块钱。这里复现一下就用国外的vultr演示一下,过程几乎是一模一样的。
注意在安装操作系统时务必使用 ubuntu ,版本推荐 20.04 。
利用ssh进行连接
开始部署
接着我们打开如下网站:https://www.minecraft.net/en-us/download/server/bedrock
搭建服务器有两种方式,一种是架设在windows一种是架设在linux上,为了更好的稳定性和占用更少的资源,我们使用右边的linux方案。点击download下载服务端文件。
下载下来是这样一个文件
1 | bedrock-server-1.17.11.01.zip |
通过 ftp 传到 linux 上
对其进行解压提示没有安装 unzip
1 | apt install unzip |
现在我们的服务器已经做好了开服的准备,但是在此之前必须要对其配置文件进行必要的调整。(当然也可以在本地调整完毕后再上传)
1 | vi server.properties |
server name –> 服务器名字
max-players –> 服务器最大人数
online-mode –> 强制正版验证
server-port –> 服务器ipv4端口号,默认即可
view-distance –> 最大视距
texturepack-required –> 强制材质包
配置好这些就可以准备开服了。为了能让我们断开ssh连接后服务器仍能运行,我们需要使用screen这个工具
1 | apt install screen |
此时服务器就已经开启,可以尝试连接了。
之后当我们断开ssh重新连接进行管理时,可以通过screen -r mcserver 切换到我们的服务器管理后台。
日常维护
服务器的白名单机制
我们在日常的服务器运营过程中,为了防止一些熊孩子破坏,需要使用白名单机制过滤。白名单文件就在我们解压出来的文件里面的 whitelist.json
对于白名单文件的设置,格式如下即可:
1 | [ |
保存重启服务端即可。
定时备份
作为一个需要长期稳定运行的服务器,我们必须有一个定时备份的设定。其实这就是利用linux本身的备份机制,通过定时运行一个事先写好的脚本,对指定文件进行整体备份。
首先新建一个备份脚本 autoDayBackup.sh
1 | touch autoDayBackup.sh |
粘贴如下内容:
1 | #!/bin/sh |
验证这个脚本文件生效,直接运行该脚本
1 | ./autoDayBackup.sh |
进入/home/backup
发现整个mcserver文件被成功打包成了 .tar.gz ,可以进行下一步操作了,定时运行这个脚本。
1 | crontab -e |
在最下面一行添加如下
1 | 00 3 * * * /root/autoDayBackup.sh |
意思是每天的凌晨3点执行root目录下的脚本文件
至此每日自动备份已经设置完毕。
详细的contab使用方法点此
服务端升级
主要思路是在服务端发布网页下载新的服务端,然后使用同样的部署方法部署到服务器上,将旧的服务器的关键文件进行覆盖,即可完成服务端的升级。
主要备份文件:
对新的服务端中的这些文件进行完全覆盖即可。
服务器模组安装
在本地安装mod非常简单,大多数的模组文件后缀是 .mcpack 和 .mcaddon ,无论是移动端还是桌面端双击即可调起安装。
但是在服务器上安装我们需要对这个模组文件进行解压缩,解压出来一般会有两个文件夹(也可能只有一个),资源包和行为包,我们将整个资源包文件夹放入服务器的 resource_packs ,行为包文件夹放入服务器的 behavior_packs。
并且修改如下目录的如下文件(如没有则新建)
用记事本分别打开要安装的资源包的两个文件夹中的 manifest.json
关注下图中第六、第七行的 uuid 和 version (是 head 下的)。
我们以修改 resource_packs 为例,behavior_packs 同理。将uuid填入 pack_id,version 填入version。
1 | [ |
最后可在 server.properties 中设置强制使用材质包。