diff --git a/.gitignore b/.gitignore index 6a28df5..a67177c 100644 --- a/.gitignore +++ b/.gitignore @@ -8,8 +8,11 @@ !/.gitattributes !/z_server.bat +!/z_server_watchdog.bat !/z_server_pvbrust.bat +!/z_server_pvbrust_watchdog.bat !/z_server_pvbvote.bat +!/z_server_pvbvote_watchdog.bat # Folder to not ignore !/userraw diff --git a/z_server_pvbrust_watchdog.bat b/z_server_pvbrust_watchdog.bat new file mode 100644 index 0000000..b9dab1b --- /dev/null +++ b/z_server_pvbrust_watchdog.bat @@ -0,0 +1,30 @@ +@echo off +::Name of the server's title +set name=IW4x Bot Warfare Server +::Only change this when you don't want to keep the bat files in the game folder. MOST WON'T NEED TO EDIT THIS! +set gamepath=%cd% +::Rate to check if server is hung +set check_rate=300 +::Server log location +set log_path=%gamepath%\userraw\logs +set log_file=console_mp.log + +title IW4x MP - %name% - Server watchdog +echo Visit plutonium.pw / Join the Discord (a6JM2Tv) for NEWS and Updates! +echo (%date%) - (%time%) %name% server watchdog start. + +::https://superuser.com/questions/699769/batch-file-last-modification-time-with-seconds +for /f "delims=" %%i in ('"forfiles /p "%log_path%" /m "%log_file%" /c "cmd /c echo @ftime" "') do set modif_time_temp=%%i + +:Server + set modif_time=%modif_time_temp% + + timeout /t %check_rate% /nobreak > nul + + for /f "delims=" %%i in ('"forfiles /p "%log_path%" /m "%log_file%" /c "cmd /c echo @ftime" "') do set modif_time_temp=%%i + + if "%modif_time_temp%" == "%modif_time%" ( + echo "(%date%) - (%time%) WARNING: %name% server hung, killing server..." + taskkill /FI "WINDOWTITLE eq %name%" /F + ) +goto Server diff --git a/z_server_pvbvote_watchdog.bat b/z_server_pvbvote_watchdog.bat new file mode 100644 index 0000000..b9dab1b --- /dev/null +++ b/z_server_pvbvote_watchdog.bat @@ -0,0 +1,30 @@ +@echo off +::Name of the server's title +set name=IW4x Bot Warfare Server +::Only change this when you don't want to keep the bat files in the game folder. MOST WON'T NEED TO EDIT THIS! +set gamepath=%cd% +::Rate to check if server is hung +set check_rate=300 +::Server log location +set log_path=%gamepath%\userraw\logs +set log_file=console_mp.log + +title IW4x MP - %name% - Server watchdog +echo Visit plutonium.pw / Join the Discord (a6JM2Tv) for NEWS and Updates! +echo (%date%) - (%time%) %name% server watchdog start. + +::https://superuser.com/questions/699769/batch-file-last-modification-time-with-seconds +for /f "delims=" %%i in ('"forfiles /p "%log_path%" /m "%log_file%" /c "cmd /c echo @ftime" "') do set modif_time_temp=%%i + +:Server + set modif_time=%modif_time_temp% + + timeout /t %check_rate% /nobreak > nul + + for /f "delims=" %%i in ('"forfiles /p "%log_path%" /m "%log_file%" /c "cmd /c echo @ftime" "') do set modif_time_temp=%%i + + if "%modif_time_temp%" == "%modif_time%" ( + echo "(%date%) - (%time%) WARNING: %name% server hung, killing server..." + taskkill /FI "WINDOWTITLE eq %name%" /F + ) +goto Server diff --git a/z_server_watchdog.bat b/z_server_watchdog.bat new file mode 100644 index 0000000..b9dab1b --- /dev/null +++ b/z_server_watchdog.bat @@ -0,0 +1,30 @@ +@echo off +::Name of the server's title +set name=IW4x Bot Warfare Server +::Only change this when you don't want to keep the bat files in the game folder. MOST WON'T NEED TO EDIT THIS! +set gamepath=%cd% +::Rate to check if server is hung +set check_rate=300 +::Server log location +set log_path=%gamepath%\userraw\logs +set log_file=console_mp.log + +title IW4x MP - %name% - Server watchdog +echo Visit plutonium.pw / Join the Discord (a6JM2Tv) for NEWS and Updates! +echo (%date%) - (%time%) %name% server watchdog start. + +::https://superuser.com/questions/699769/batch-file-last-modification-time-with-seconds +for /f "delims=" %%i in ('"forfiles /p "%log_path%" /m "%log_file%" /c "cmd /c echo @ftime" "') do set modif_time_temp=%%i + +:Server + set modif_time=%modif_time_temp% + + timeout /t %check_rate% /nobreak > nul + + for /f "delims=" %%i in ('"forfiles /p "%log_path%" /m "%log_file%" /c "cmd /c echo @ftime" "') do set modif_time_temp=%%i + + if "%modif_time_temp%" == "%modif_time%" ( + echo "(%date%) - (%time%) WARNING: %name% server hung, killing server..." + taskkill /FI "WINDOWTITLE eq %name%" /F + ) +goto Server