我有一个 Steam 游戏的专用服务器在我的 Windows 机器上运行,我想保持它是最新的。
我想定期检查是否有可用的更新,如果有,请安装它,通知用户服务器正在重新启动,然后重新启动服务器。
问题是,我不知道如何检查更新是否可用。
有一个名为 SteamCMD 的命令行实用程序,但尚不清楚如何使用它来检查服务器是否需要更新 - 它似乎只能告诉某些内容要更新,而不是检查是否需要更新。
我怎样才能通过命令行做这些事情?
- 检查 Steam 应用是否需要更新,或
- 更新 Steam 应用程序,然后知道是否发生了更新
这个批处理脚本对我很有用。它使用 curl 查询服务器以了解构建是否更改,并使用 steamapp 安装新版本。如果有新的 beta 版本或其他东西,这将是过于热心的安装,但我并不真正关心我的目的 - 如果需要,可以做更多的工作来提取所需的精确构建 ID。
它需要传递 AppID(可从 Steam 中游戏的属性,右键菜单中获得)以及安装目录。
调用该脚本时,如果需要更新,则返回 1,如果不需要更新,则返回 0,如果出现错误,则返回 -1。它要求 steamapp/steamapp.exe 相对于批处理脚本存在。
我可以在一个单独的批处理脚本中使用它,定期运行,检查是否有新的更新,如果有,倒计时并执行重启。