根据 ping 响应重启服务器
Restart server based on ping response
我根据本网站上其他 questions/answers 的混搭以及 ss64.com
中的内容创建了此内容
我已经把它敲定成了我想要的,现在它只是一个关键的缺失细节,它将使它一遍又一遍地循环,直到建立连接,同时 不断避免在每个周期启动服务器。
它的设计过度,制作也非常糟糕,但它基本上是我所学知识的结晶,只是以我能理解的方式解决它。
现在的主要问题是,如果丢包率低于 100%,它会启动服务器,即使丢包率为 80%,这对任何连接或运行来说都太高了。
我正在寻找关键命令以确保服务器仅在有 100% 连接时启动,并确保它 不会 在有 100 个连接时继续启动服务器持续循环中的连接百分比(这种情况发生了太多次,服务器的 50 个实例 运行 确实是 PC 杀手)。
这是我的(别笑得太厉害)
@echo off
title Server Restart
color 0A
cls
:start
Cls
set ip=xxx.xx.xxx.xx
:ping
ping %ip% -n 5 || goto PingFail
timeout /t 8
cls
echo Ping was Successful to %ip% at %date% %time%
timeout /t 10
ping %ip% -n 5 -w 5000 && goto start
echo Moving To PingFail...
goto PingFail
:Starting
Echo Connection Established... Starting server
**Start Server.bat**
Echo Start Successful
goto start
:PingFail
cls
Echo Connection Has Failed.. looping.
timeout /t 3
goto Pingloop
:Pingloop
echo PINGLOOPING
ping %ip% -n 5 || goto Pingloop
timeout /t 15
goto Starting
我们在谈论什么样的服务器?你知道大多数防火墙默认阻止 ping 请求吗?
您可以使用:https://uptimerobot.com/ 并使用他们的 API 来获取有效信息。
如果你想确定你与外界有连接,你可以像这样检查 0% 丢失:
ping -n 1 -4 www.google.com | grep "0% loss"
我从未见过 80% 或 60% 的损失,但当然你可以将 0% 更改为任何百分比。虽然 ping 你自己的 public IP 并不意味着你有一个有效的互联网连接。您需要 ping 'world' 而不是您的家。
我根据本网站上其他 questions/answers 的混搭以及 ss64.com
中的内容创建了此内容我已经把它敲定成了我想要的,现在它只是一个关键的缺失细节,它将使它一遍又一遍地循环,直到建立连接,同时 不断避免在每个周期启动服务器。
它的设计过度,制作也非常糟糕,但它基本上是我所学知识的结晶,只是以我能理解的方式解决它。
现在的主要问题是,如果丢包率低于 100%,它会启动服务器,即使丢包率为 80%,这对任何连接或运行来说都太高了。
我正在寻找关键命令以确保服务器仅在有 100% 连接时启动,并确保它 不会 在有 100 个连接时继续启动服务器持续循环中的连接百分比(这种情况发生了太多次,服务器的 50 个实例 运行 确实是 PC 杀手)。
这是我的(别笑得太厉害)
@echo off
title Server Restart
color 0A
cls
:start
Cls
set ip=xxx.xx.xxx.xx
:ping
ping %ip% -n 5 || goto PingFail
timeout /t 8
cls
echo Ping was Successful to %ip% at %date% %time%
timeout /t 10
ping %ip% -n 5 -w 5000 && goto start
echo Moving To PingFail...
goto PingFail
:Starting
Echo Connection Established... Starting server
**Start Server.bat**
Echo Start Successful
goto start
:PingFail
cls
Echo Connection Has Failed.. looping.
timeout /t 3
goto Pingloop
:Pingloop
echo PINGLOOPING
ping %ip% -n 5 || goto Pingloop
timeout /t 15
goto Starting
我们在谈论什么样的服务器?你知道大多数防火墙默认阻止 ping 请求吗? 您可以使用:https://uptimerobot.com/ 并使用他们的 API 来获取有效信息。
如果你想确定你与外界有连接,你可以像这样检查 0% 丢失:
ping -n 1 -4 www.google.com | grep "0% loss"
我从未见过 80% 或 60% 的损失,但当然你可以将 0% 更改为任何百分比。虽然 ping 你自己的 public IP 并不意味着你有一个有效的互联网连接。您需要 ping 'world' 而不是您的家。