diff options
Diffstat (limited to 'runtime/serv.bat')
-rw-r--r-- | runtime/serv.bat | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/runtime/serv.bat b/runtime/serv.bat new file mode 100644 index 000000000..cc7d37e20 --- /dev/null +++ b/runtime/serv.bat @@ -0,0 +1,59 @@ +@ECHO OFF +IF "%1"=="" GOTO DIRECT +IF "%2"=="" GOTO DIRECT +IF NOT EXIST "%1" GOTO NOTFOUND +GOTO START + +REM == How RESTART_9X and RESTART_NT works ========================= +REM On Windows 9x only the first 8 characters are significant for +REM labels, and the first matching one is called (RESTART_(9X)). +REM Windows NT calls the exact named label (RESTART_NT). +REM Separation between 9X and NT is required, because CHOICE has +REM different syntax on these platforms or does not exist as all. +REM ================================================================ + +REM Windows 95, 98, ME +:RESTART_9X +REM Old Ctrl+C in PING does not work, because that only stops ping, +REM not the batch file. +CHOICE /C:rc /N /T:R,15 Restarting in 15 seconds, press 'C' to cancel. +IF NOT ERRORLEVEL 2 GOTO START +GOTO END + +REM Windows 2000, XP, Vista, 7 +:RESTART_NT +REM There is no CHOICE in 2000 and XP, but you get asked whether to +REM abort the batch file, when pressing Ctrl+C in PING. +ECHO Restarting in 15 seconds, press Ctrl+C to cancel. +PING -n 15 127.0.0.1 > NUL + +:START +%1 +ECHO. +REM Return value > 1 is exception&~0xC0000000 +IF ERRORLEVEL 2 GOTO CRASHED +REM Return value 1 is EXIT_FAILURE +IF ERRORLEVEL 1 GOTO EXIT1 +REM Return value 0 is EXIT_SUCCESS +ECHO %2 has shutdown successfully. +GOTO RESTART_NT + +:EXIT1 +ECHO %2 has terminated abnormally. +GOTO RESTART_NT + +:CRASHED +ECHO %2 has crashed! +GOTO RESTART_NT + +:DIRECT +ECHO Do not run this file directly. It is used by login-server.bat, char-server.bat, +ECHO and map-server.bat +GOTO END + +:NOTFOUND +ECHO %1 was not found. Make sure, that you have compiled the %2. +GOTO END + +:END +PAUSE |