前言:这是一个基于我上一个帖子发布的 服务器自动检测重启脚本 配合学长的另一个帖子 CS2 AutoUpdate 中提到的检测cs2更新并且关闭服务器的插件而开发的一个强化自动化重启更新脚本,可以单独拿出来使用
简介:
由于CS2 AutoUpdate插件只能通过API自动检测新版本,然后重启服务器,不能自主更新,所以我决定结合插件,配合外部脚本检测,来达到自动化处理的效果,插件配置上只需要定时检测,每天凌晨定时关服,然后接下来的逻辑由脚本处理即可,同时也可以在服务器内由管理员手动检查更新来手动更新服务器,避免远程的复杂性,以及V社更新的不确定性
该脚本的作用是在保持基本脚本功能不变,即检测cs2程序是否存在并且在消失时自动执行服务器运行脚本,添加了当插件检测到cs2有版本更新会自动关闭服务器时,在重新启动运行脚本时额外运行一次服务器更新脚本,并且等待更新结束后再自动运行启动脚本的功能,来帮助插件完善更新功能(脚本路径完全可自定义化,详情看下列介绍)
目前已经在本人的服务器上实现基本功能测试,如果遇到问题请留言
注意:该脚本仅适用于windows服务器


使用方法:
如果需要配合插件使用,需要先安装插件:【CS2】CS2 AutoUpdate CS2 自动更新-CS2专区-CSGO插件分享-CSGO资料库,具体不多赘述,按照帖子中的教程或者原仓库中的教程部署即可
1. 将该脚本文件夹放于服务器上任意位置,并且编辑“服务器自动重启.ps1”文件,找到以下内容:

2. 编辑 $launchBatPath 部分为服务器的启动脚本路径,如 C:\steam\...\start.bat
3. 编辑 $updateScriptPath 部分为服务器的更新脚本路径,如 C:\steam\update.bat
4. 一切就绪,直接启动脚本中的 "启动监控.cmd" 即可

5. 额外说明,进程名不需要带.exe但是脚本需要携带完整后缀.bat,并且如果你想用该脚本检测其他程序并自动运行其他脚本也是可行的,需要更换进程名和脚本路径,另外,既然是开设服务器的服主,那么应该知道我这里分开执行脚本的意思是什么,启动脚本和更新脚本是两个东西,当然也可以将两个脚本整合在一起,在启动服务器的同时更新steamcmd和服务器,我的服务器没有进行整合所以分开来执行,如果你的服务器是整合在一起的脚本则只用填写 $launchBatPath 部分!
该脚本配合插件使用可以达到游戏内定期检测更新或者管理员手动检测更新并远程关服,然后脚本再自动执行更新脚本并且启动服务器的流程,大大降低了维护周期和V社更新的不确定性带来的麻烦程度,如果你有更好的办法可以留言讨论也可以自行修改脚本,我只是给自己的服务器做了一个自动化处理,可能无法顾及所有服务器情形,如果遇到问题请留言!
项目仓库:CS2-AutoUpdateReboot-PoweshellScript