2015-02-06 50 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

相關問題