2024年12月,我们伟大的午睡千秋同志租了一台服务器来玩MC,于是一群CS转MC的人出现了。
然而,令人悲伤的是,2025年1月21日,一群从ins来的野蛮匪徒入侵了服务器,并摧毁了这个存档
沟槽的匪徒,初升东曦
而午睡千秋先生并没有定期备份,也没有写过自动备份脚本,因此这个服务器就亖了,急需新的服务器出现。
此时天空一声巨响,我应声登场(他妈的好中二)
算了正经点。
午睡千秋感到汗流浃背,于是找到我来重建新的服务器,并把自动重启备份等功能设置好。
经过一顿讨论,我们最终决定开两个新服,一个玩脆骨症整合包,一个玩1.20或者1.19的原版。
目录
- 本地准备
- MCSManager部署实例
- 自动备份
- 服务器双开
- 总结
本地准备
脆骨症是一个基于1.19.2版本的forge整合包。
众所周知,整合包一般都有专门的服务端,而不需要自己安装forge或者fabric并配上mod。同时由于服务端有自己的config文件,直接配mod会导致功能的缺失。
我们来到github上找到整合包作者做的服务端
先将其安装到本地,测试一下兼容性。
运行run.bat
,发现java没法识别文件参数
检查了一下环境变量,发现是java版本忘记切换了,1.19.2版本的MC没法在jre1.8上运行
我们把它改成jdk试试
这次好像出来了点东西,但是还是很快就寄了。
在被硬控了1小时后,我终于知道,原来是java版本的问题。
脆骨症只能在jdk17和jdk21下运行,而我的本地jdk版本是22,因此没法成功运行。
然而java官网上并没有直接的jdk-17供下载,因此我选择了Eclipse Adoptium版本的java17,成功运行。
OHHHHHHHHHHHHHH
至此,本地的准备和测试就结束了,现在只需要上传整合包到服务器即可
MCSManager部署实例
午睡千秋先生使用了MCSManger来简化操作,向午睡千秋要一份账密后登上了MCSMananger的面板。
将server包上传至MCSManager,解压后运行一下。
由于MCSManager不允许使用启动脚本,而是固定使用了内置的启动脚本,因此只能将启动脚本中的语句复制过来
发现午睡千秋先生安装的是java21,非常幸运地能够运行脆骨症。
将eula调为true
,server.properties中把online-mode
改为false
,服务器就开起来了。
开了一分钟后服务器又crash了,看一眼crash_report发现是端口冲突,于是关闭了正在占用端口的原版服。
至此,脆骨症的服务器已经完全可以玩了,剩下要解决的问题是:如何双开服务器,如何自动备份。
自动备份
前文提到过MCSManager不允许使用启动脚本,所以并没有办法能够自动在重启的时候备份。
但是MCSManager提供了定时开服和关服的功能,于是我的方案就是:在6点关服,设置一个定时的备份脚本在6:02运行,然后6:05再开服。
先设置好自动重启服务器
我不太熟悉linux的Bash命令,所以让AI帮我写了一份备份的脚本
#!/bin/bash# 定义备份源目录和目标目录
SOURCE_DIR="./world" # 替换为你的源目录
BACKUP_DIR="./backup" # 替换为你的备份目录# 获取当前日期和时间,用于生成备份文件名
DATE=$(date +"%Y%m%d_%H%M%S")# 创建备份目录(如果不存在)
mkdir -p "$BACKUP_DIR"# 使用 tar 命令进行压缩备份
tar -czf "$BACKUP_DIR/backup_$DATE.tar.gz" -C "$SOURCE_DIR" .# 输出备份完成的信息
echo "Backup completed: $BACKUP_DIR/backup_$DATE.tar.gz"
向lq要来了服务器的账密,发现ssh可以直接登上:
于是开始设置cron
指令。
设置了一个2min后的cron指令,但是发现并没有成功运行。求助互联网后发现是因为使用了相对路径,而cron指令中没有环境变量,所以相对路径没法生效。
此时cd到用户文件夹发现多了一个叫backup的文件夹,非常难蚌。
将脚本中的路径改为绝对路径,发现成功执行了。
于是这部分完结撒花
服务器双开
最后让我们在25566端口把原版服启动上。
在server.properties中把server-port
改成25566
,服务器成功启动,同时在linux设置防火墙允许25566端口的流量通过。
然而本地测试发现不能连接上。经过一番折腾发现是午睡千秋需要在京东云的面板中的防火墙开启25566端口。
开启后,原版服也正常启动。将核心修改为1.20.6的paper后再配置上自动备份脚本,至此原版服也成功启动。
总结
坐了一晚上的牢后终于是把服务器部署好了。
感觉使用云服务器是一个非常好的linux使用练习,让我成功地学会了使用cron
指令(喜。
就是这面板能不能提供一个运行脚本的功能的(恼。
哦好像有安全性的考虑,那没事了。
最后,完结撒花~