From e35044d26d45bf7e9a4acc357be3738e3379f3e3 Mon Sep 17 00:00:00 2001 From: ultramage Date: Thu, 9 Aug 2007 18:56:27 +0000 Subject: - stable -> trunk sync - battle.c and pc.c formatting - fixed one badly defined npc shop format string - removed the "selling item for no buying price" warning when the item has a buying price of 20 (see topic:157465) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10971 54d463be-8e91-2dee-dedb-b68131a5f0ec --- runserver.bat | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 74 insertions(+), 7 deletions(-) (limited to 'runserver.bat') diff --git a/runserver.bat b/runserver.bat index 8432a7f84..4fc66edc9 100644 --- a/runserver.bat +++ b/runserver.bat @@ -1,8 +1,75 @@ @echo off -rem This is and auto-restart script for the eAthena Ragnarok Online Server Emulator. -rem It will also keep the map server OPEN after it crashes to that errors may be -rem more easily identified -rem Writen by Jbain -start cmd /k logserv.bat -start cmd /k charserv.bat -start cmd /k mapserv.bat + +rem ----- Configuration ----- + rem Defines the server type (txt or sql). + set SERVER_TYPE=txt + rem Defines how long to wait before restarting (in seconds). + set SLEEP_TIME=15 + rem Defines whether to run all servers in one window (yes or no). + set SINGLE_WINDOW=no +rem ----- ------------- ----- + +:L_Init + set this=%0 + if %SERVER_TYPE% == txt set suffix= + if %SERVER_TYPE% == sql set suffix=_sql + if %SINGLE_WINDOW% == yes set wndswitch=/B + +:L_Main + set command=%1 + if "%command%" == "" goto L_DefaultAction + + if %command% == exec goto L_ExecServerExe + if %command% == start goto L_StartServerExe + if %command% == stop goto L_StopServerExe + if %command% == restart echo "TODO" + goto L_EOF + +:L_DefaultAction +:L_StartServer + call %this% start login-server%suffix%.exe + call %this% start char-server%suffix%.exe + call %this% start map-server%suffix%.exe + goto L_EOF + +:L_StopServer + call %this% stop login-server%suffix%.exe + call %this% stop char-server%suffix%.exe + call %this% stop map-server%suffix%.exe + goto L_EOF + +:L_StartServerExe + set filename=%2 + if "%filename%" == "" goto L_StartServer + if exist %filename% goto L_HaveExe + echo Cannot start '%filename%' because the file is missing! + goto L_EOF + + :L_HaveExe + echo Starting %filename%... + start "%filename%" %wndswitch% %this% exec %filename% + goto L_EOF + +:L_StopServerExe + set filename=%2 + if "%filename%" == "" goto L_StopServer + if exist %windir%\system32\taskkill.exe goto L_HaveTaskKill + echo The 'stop' command is not available on your system. + exit + + :L_HaveTaskKill + rem CAUTION! This will kill all processes called %filename%. + echo Stopping '%filename%'... + taskkill /F /FI "WINDOWTITLE eq %filename% - %this% exec %filename%" + taskkill /F /IM "%filename%" + goto L_EOF + +:L_ExecServerExe + %filename% + echo . + echo . + echo Server exited, restarting in %SLEEP_TIME% seconds! Press CTRL+C to abort! + ping.exe -n %SLEEP_TIME% 127.0.0.1 > nul + goto L_ExecServerExe + +:L_EOF -- cgit v1.2.3-60-g2f50