2015-02-06 51 views
0

我和我的朋友玩未经管理并且每天都有其他人托管服务器。 我想制作批处理文件,检查服务器是否已经在某人的电脑上运行。 我们使用Dropbox(实时)同步我们的服务器文件, 如果有2个正在运行的服务器 - 文件可能会损坏。批量 - 如何检测游戏服务器是否在机器上运行

程序结构:

@echo off 
//check if server is already hosted on my friend's PC (There are 4 of us) 
if already hosted 
    echo Server is already hosted on "IP" PC. 
else 
    start server.exe 
+0

服务器在监听什么端口?你的朋友有静态IP地址吗? – npocmaka 2015-02-06 15:43:11

+0

端口:27015,但我只需要想法,也许我会改变端口,我们有静态IP,我们正在使用hamachi。 – TypicalHog 2015-02-06 15:45:49

+0

check portqry - https://www.microsoft.com/en-us/download/details.aspx?id=17148。在Windows上没有可靠的本地方式来检查端口是否打开并正在监听。 – npocmaka 2015-02-06 15:50:09

回答

1

我会用netstat -na |findstr ":27015.*LISTEN"如果错误级别是0,这意味着它的运行,如果它不是0就意味着它没有运行。你不需要任何外部程序不是Windows附带的,甚至不需要像portqry那样的CLI。

netstat -na |findstr ":27015.*LISTEN" 
if errorlevel 1 start server.exe 
+0

我不确定这是否可以检测到在我的朋友PC上运行的服务器。 – TypicalHog 2015-02-06 18:17:54

+0

你说得对,我没有仔细阅读这个问题。对于那个很抱歉。然后我同意那个说portqry应该工作的人。 :) – theglossy1 2015-02-06 18:29:09

+0

好的,谢谢:D – TypicalHog 2015-02-06 18:33:32

相关问题