有部分内容被csdn和谐,强烈建议移步我的个人博客以获得更好的排版和阅读体验: xzajyjs.cn

目录

搭建环境

由于我们要搭建一个24小时不中断的mc基岩版服务器,因此需要一个低延迟的服务器,优先推荐阿里云和腾讯云,我现在用的是阿里的轻量ECS,趁活动一个月也就几块钱。这里用vultr演示一下,过程几乎是一模一样的。
注意在安装操作系统时务必使用 ubuntu ,版本推荐 20.04 。
利用ssh进行连接

开始部署

接着我们打开如下网站:点击打开
搭建服务器有两种方式,一种是架设在windows一种是架设在linux上,为了更好的稳定性和占用更少的资源,我们使用右边的linux方案。点击download下载服务端文件。

下载下来是这样一个文件

bedrock-server-1.17.11.01.zip

通过 ftp 传到 linux 上
对其进行解压提示没有安装 unzip

apt install unzip
mkdir mcserver
mv bedrock-server-1.17.11.01.zip ./mcserver
cd mcserver
unzip bedrock-server-1.17.11.01.zip
rm bedrock-server-1.17.11.01.zip -f

现在我们的服务器已经做好了开服的准备,但是在此之前必须要对其配置文件进行必要的调整。(当然也可以在本地调整完毕后再上传)

vi server.properties

server name --> 服务器名字
max-players --> 服务器最大人数
online-mode --> 强制正版验证
server-port --> 服务器ipv4端口号,默认即可
view-distance --> 最大视距
texturepack-required --> 强制材质包

配置好这些就可以准备开服了。为了能让我们断开ssh连接后服务器仍能运行,我们需要使用screen这个工具

apt install screen
screen -S mcserver
LD_LIBRARY_PATH=. ./bedrock_server

此时服务器就已经开启,可以尝试连接了。

之后当我们断开ssh重新连接进行管理时,可以通过screen -r mcserver 切换到我们的服务器管理后台。

日常维护

服务器的白名单机制

我们在日常的服务器运营过程中,为了防止一些熊孩子破坏,需要使用白名单机制过滤。白名单文件就在我们解压出来的文件里面的 whitelist.json
对于白名单文件的设置,格式如下即可:

[
{
"name":"haha123",
"xuid":"xxxxxxx" //设置时可忽略
}, {
"name":"haha234"
}
...
]

保存重启服务端即可。

定时备份

作为一个需要长期稳定运行的服务器,我们必须有一个定时备份的设定。其实这就是利用linux本身的备份机制,通过定时运行一个事先写好的脚本,对指定文件进行整体备份。
首先新建一个备份脚本 autoDayBackup.sh

touch autoDayBackup.sh
chmod +x autoDayBackup.sh
vi autoDayBackup.sh

粘贴如下内容:

#!/bin/sh
# 备份会储存到 /home/backup 目录,文件夹格式为日期 如2021年3月2日的备份储存在 /home/backup/20210302/File.tar.gz
mkdir -p /home/backup
find /home/backup -mtime +14 -name "*.tar.gz" -exec rm -rf {} \; # 清理14天以前的备份,修改 [+14] 可以修改备份储存天数
sleep 2
find /home/backup -maxdepth 1 -type d -empty -exec rm -rf {} \; # 清理空文件夹
mkdir -p /home/backup/temp # 新建临时目录
echo 'mkdir done'
# 自动保存服务端
screen -xU mcserver -p 0 -X stuff "save-all\n"
sleep 1 # 复制保存后的服务器文件至临时目录
mkdir -p /home/backup/temp/mcserver
cp -r /root/mcserver/* /home/backup/temp/mcserver
sleep 1
echo 'copy done' # 打包并压缩
mkdir -p /home/backup/$(date +%Y%m%d)
tar -zcf /home/backup/$(date +%Y%m%d)/mcserver$(date +%Y%m%d).tar.gz /home/backup/temp/mcserver
sleep 1
echo 'zip done' # 清理临时文件并退出
rm -rf /home/backup/temp
echo 'all done'
exit 1

验证这个脚本文件生效,直接运行该脚本

./autoDayBackup.sh


进入/home/backup

发现整个mcserver文件被成功打包成了 .tar.gz ,可以进行下一步操作了,定时运行这个脚本。

crontab -e

在最下面一行添加如下

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。

[
{
"pack_id" : "6f383eac-b7ae-48f1-a5aa-b702343a65d4",
"version" : [1,0,0]
},
{
...
}
]

最后可在 server.properties 中设置强制使用材质包。

最新文章

  1. iOS-网络基础
  2. mysql配置远程连接方法之一(改表法)
  3. 论文阅读(Zhuoyao Zhong——【aixiv2016】DeepText A Unified Framework for Text Proposal Generation and Text Detection in Natural Images)
  4. java后台调用url无协议
  5. 关于mysql数据库字符集优先级问题
  6. Docker 有什么优势?
  7. swift学习笔记之-高级运算符
  8. PHP环境搭建——Apache、Mysql、PHP单独安装(for Windows)
  9. spring+quartz报错:Table 'BANKSTEELERP_OLD.QRTZ_TRIGGERS' doesn't exist
  10. Web开发中运行环境的配置:(Tomcat7.0.59)和开发环境的配置
  11. mysql特有语法
  12. MySQL 5 绿色版(BAT版本) mysql50green转自http://hi.baidu.com/dburu/blog/item/e753fcc4362458aa8226accb.htmlMySQL 5 绿色版(BAT版本) By )
  13. MySQL自用脚本(不定期更新)
  14. Busybox支持中文的解决办法
  15. Android中ContentProvider的简单使用
  16. C++中的虚函数总结
  17. OAuth2.0认证介绍
  18. .NET 发布网站步骤
  19. Spring详解(五)------AOP
  20. 小黄衫 Get

热门文章

  1. MySQL修改配置文件 避免中文乱码
  2. android kotlin 子线程中调用界面UI组件崩溃
  3. Aggressor Script 开发-Powershell 免杀
  4. Redis的读写分离
  5. Appium问题解决方案(6)- Java堆栈错误:java.lag.ClassNotFoundException:org.eclipse.swt.widets.Control
  6. 知乎大佬图文并茂的epoll讲解,看不懂的去砍他
  7. 推荐一款编程字体:Iosevka
  8. Linux从头学12:读完这篇【特权级】文章,你就比别人更“精通”操作系统!
  9. python库--flask--创建嵌套蓝图
  10. rune和byte在处理字符/字符串中的应用.