求生之路吧 关注:549,570贴子:7,435,883
  • 6回复贴,共1

求生之路2服务器 Java看门狗程序

只看楼主收藏回复

上次发的贴被吞了,再发一次。
楼主开了个求生之路2的服务器,放了一些三方图,平时自己玩玩或匹配路人玩,但是发现这个服有时候会闪退,尤其是打三方图的时候,有时候会自动闪退。很多时候都是服被别人引用了,然后别人玩的时候闪退了,等之后我自己要玩的时候才发现服宕机了,只能再手动连上远程服务器,再重新手动启动求生之路2服务器。
最近工作不是很忙,于是想着能不能自己开发一套检测游戏服务器运行状态的小程序,只要检测到服宕了,就自动重启。
本程序使用Java编写,使用Spring Boot框架。求生之路2服务器就支持2个端,Windows和Linux,因此只要装了Java就能使用这个小程序。
没有什么技术含量,主要的原理就是检测指定UDP端口是否存活,30秒检测一次,如果发现端口不存活,就认为服务器已经闪退了,然后会自动根据配置文件里给定的启动命令重启服务器,就是这么个简单的逻辑。
理论上所有Valve的Source Dedicated Server(Srcds) 都能使用这个,前提是这些服务器都是使用UDP协议的,求生之路2服务器、csgo服务器、半条命服务器、gmod服务器 理论上 都能使用。
楼主已在Windows服务器上试了求生之路2服务器能完美运行,Linux上没部署过求生服务器,所以虽然理论上可以,但实际我没试过,所以不一定能用,各位Linux腐竹如想折腾可以试试。
Linux用户需要安装screen,(如果已安装则跳过)
Debian/Ubuntu系统使用apt install screen
CentOS用户使用yum -y install screen
资源链接:
网页链接


IP属地:上海来自Android客户端1楼2022-11-18 15:48回复
    使用方法:
    解压后,共有4个文件,
    jar文件为主程序文件,
    start.sh文件为Linux启动文件,
    start.bat为Windows启动文件,
    application.yml文件为程序配置文件,
    配置文件其中:
    ports参数为您要监控的服务器端口,如只开一个节点则只输入一个端口即可,如开多个节点则输入多个端口(注意使用英文逗号分割,不是中文逗号)
    path参数为您的求生服务器文件夹绝对路径,注意必须以/结尾
    command参数为您的服务器启动命令,注意Linux用户的srcds_run启动命令前不要加 "./" 或 "sh "


    IP属地:上海来自Android客户端2楼2022-11-18 15:49
    回复
      2025-05-19 03:24:30
      广告
      资源链接好像不太对劲,补:
      网页链接
      提取码:14ta


      IP属地:上海来自Android客户端3楼2022-11-18 15:51
      回复
        运行需要有Java,如果没安装的话安装一下,要配环境变量。Minecraft腐竹应该都很清楚(因为minecraft需要Java)
        推荐用Azul Zulu发行的OpenJDK,当然你要用Oracle的JDK也没问题。
        最好下载JDK 17的版本,因为现在minecraft服务器就是要至少jdk17才能运行


        IP属地:上海来自Android客户端4楼2022-11-18 15:55
        回复
          Azul Zulu OpenJDK:
          网页链接
          进页面后往下滑就是各版本JDK的下载了,注意对应操作系统和CPU架构别下错了,x86的是32位系统用的,x86_64(或叫AMD64)是64位系统用的,ARM是专门给ARM架构CPU的系统用的。
          下完之后怎么配置环境变量自己搜吧,上次发个配置环境变量的教程都能吞,累了


          IP属地:上海来自Android客户端5楼2022-11-18 15:57
          回复
            linux自带炸服重启


            IP属地:广西来自Android客户端6楼2022-11-18 18:03
            收起回复