* Batch files (Windows) now detect whether the server crashed, aborted or shutdown cleanly (Ctrl+C or @mapexit) and print appropriate message, instead of always assuming, that the server crashed (bugreport:3476, since r1818).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/renewal@14484 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
ai4rei 2010-11-22 12:36:39 +00:00
parent 9849471a84
commit 67820415f5
8 changed files with 72 additions and 54 deletions

View File

@ -3,6 +3,7 @@ Date Added
2010/11/22
* mail_deliveryfail no longer attempts to log (since r12910) and give items (since r11855), when there is no item attached to the mail (bugreport:3239). [Ai4rei]
* Fixed a crash when shutting down char-server (TXT only), after it failed to load storage save data (since r1275). [Ai4rei]
* Batch files (Windows) now detect whether the server crashed, aborted or shutdown cleanly (Ctrl+C or @mapexit) and print appropriate message, instead of always assuming, that the server crashed (bugreport:3476, since r1818). [Ai4rei]
2010/11/21
* Added msinttypes (rev. 26, http://msinttypes.googlecode.com/svn/trunk/) portability framework for Visual C++ compilers (related bugreport:4059). [Ai4rei]
* Added 64-bit variants of the socket and buffer I/O macros. [Ai4rei]

View File

@ -1,9 +1,2 @@
@echo off
rem Writen by Jbain
:end
char-server_sql.exe
echo .
echo .
echo Char server crashed! restarting in 15 seconds! press ctl+C to cancel restart!
PING -n 15 127.0.0.1 >nul
goto end
@ECHO OFF
CALL serv.bat char-server_sql.exe Char-Server

View File

@ -1,9 +1,2 @@
@echo off
rem Writen by Jbain
:end
char-server.exe
echo .
echo .
echo Char server crashed! restarting in 15 seconds! press ctl+C to cancel restart!
PING -n 15 127.0.0.1 >nul
goto end
@ECHO OFF
CALL serv.bat char-server.exe Char-Server

View File

@ -1,9 +1,2 @@
@echo off
rem Writen by Jbain
:end
login-server_sql.exe
echo .
echo .
echo Login server crashed! restarting in 15 seconds! press ctl+C to cancel restart!
PING -n 15 127.0.0.1 >nul
goto end
@ECHO OFF
CALL serv.bat login-server_sql.exe Login-Server

View File

@ -1,9 +1,2 @@
@echo off
rem Writen by Jbain
:end
login-server.exe
echo .
echo .
echo Login server crashed! restarting in 15 seconds! press ctl+C to cancel restart!
PING -n 15 127.0.0.1 >nul
goto end
@ECHO OFF
CALL serv.bat login-server.exe Login-Server

View File

@ -1,9 +1,2 @@
@echo off
rem Writen by Jbain
:end
map-server_sql.exe
echo .
echo .
echo Map server crashed! restarting in 15 seconds! press ctl+C to cancel restart!
PING -n 15 127.0.0.1 >nul
goto end
@ECHO OFF
CALL serv.bat map-server_sql.exe Map-Server

View File

@ -1,9 +1,2 @@
@echo off
rem Writen by Jbain
:end
map-server.exe
echo .
echo .
echo Map server crashed! restarting in 15 seconds! press ctl+C to cancel restart!
PING -n 15 127.0.0.1 >nul
goto end
@ECHO OFF
CALL serv.bat map-server.exe Map-Server

59
serv.bat Executable file
View File

@ -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 logserv.bat, charserv.bat,
ECHO mapserv.bat and their '-sql' counterparts.
GOTO END
:NOTFOUND
ECHO %1 was not found. Make sure, that you have compiled the %2.
GOTO END
:END
PAUSE