E:\IDLER\ROTATOR>REM TF2 ROTATOR CONFIG FILE.
E:\IDLER\ROTATOR>REM For version 8.0 RC3 FIX_4 (18.06.2012) and higer versions.
E:\IDLER\ROTATOR>REM Изменить обязательно пункты, обозначенные как [R].
E:\IDLER\ROTATOR>REM Остальные - только в случае необходимости (если компоненты находятся в другом месте).
E:\IDLER\ROTATOR>REM [R] Путь к установленному Sandboxie.
E:\IDLER\ROTATOR>set sandbox_dir=C:\Program Files\Sandboxie
E:\IDLER\ROTATOR>REM [R] Корневой (самый верхний) каталог Фермы.
E:\IDLER\ROTATOR>set idler_dir=E:\IDLER
E:\IDLER\ROTATOR>REM Каталог Ротатора (подкаталог Фермы).
E:\IDLER\ROTATOR>set rotator_dir=E:\IDLER\ROTATOR
E:\IDLER\ROTATOR>REM Каталог выделенного сервера (подкаталог Фермы).
E:\IDLER\ROTATOR>set srcds_dir=E:\IDLER\SERVER\SRCDS
E:\IDLER\ROTATOR>REM Путь к утилите обновления сервера hldeupdatetool.
E:\IDLER\ROTATOR>set hldstool_dir=E:\IDLER\SERVER\hldsupdatetool
E:\IDLER\ROTATOR>REM Путь к лог-файлу Ротатора.
E:\IDLER\ROTATOR>set rotator_log=E:\IDLER\ROTATOR\logs\rotator_log.html
E:\IDLER\ROTATOR>REM Строка запуска бокса.
E:\IDLER\ROTATOR>set sandbox=C:\Program Files\Sandboxie\Start.exe
E:\IDLER\ROTATOR>REM Путь к отдельному фермерскому steam.exe (подкаталог Фермы).
E:\IDLER\ROTATOR>set steam=E:\IDLER\Steam\Steam.exe
E:\IDLER\ROTATOR>REM Путь к отдельному фермерскому каталогу steamapps (подкаталог Фермы).
E:\IDLER\ROTATOR>set steamapps=E:\IDLER\STEAM\steamapps
E:\IDLER\ROTATOR>REM Строка запуска rcon.
E:\IDLER\ROTATOR>set rcon=E:\IDLER\SERVER\RCON\rcon.exe
E:\IDLER\ROTATOR>REM [R] Выделенный ip-адрес для запуска клиентов.
E:\IDLER\ROTATOR>set client_ip=10.100.1.135
E:\IDLER\ROTATOR>REM [R] Выделенный ip-адрес для запуска сервера.
E:\IDLER\ROTATOR>set server_ip=10.100.1.135
E:\IDLER\ROTATOR>REM [R] Порт сервера. Порты диапазона 27XХХ использовать нельзя!
E:\IDLER\ROTATOR>set server_port=28015
E:\IDLER\ROTATOR>REM Карта по умолчанию.
E:\IDLER\ROTATOR>set server_map=cp_towdar
E:\IDLER\ROTATOR>REM Имя бокса выделенного сервера.
E:\IDLER\ROTATOR>set server_box=srcds
E:\IDLER\ROTATOR>REM [R] Rcon-пароль выделенного сервера.
E:\IDLER\ROTATOR>set rcon_password=MY_RCON_PASSWORD
E:\IDLER\ROTATOR>REM Время между проверками Фермы: 600 = 10 минут, 1800 = 30 минут, 3600 = 1 час, 7200 = 2 часа, 21600 = 6 часов,43200 = 12 часов.
E:\IDLER\ROTATOR>set delay_value=600
E:\IDLER\ROTATOR>REM Количество проверок Фермы. Фактически, поределяет сумму, при достижении которой производится перезагрузка текущей карты.
E:\IDLER\ROTATOR>REM Если delay_value=600 (т.е. 10 минут) и delays_counter_max=6, то 10 минут х 6 раз = 60 минут (рестарт карты будет производиться каждый час).
E:\IDLER\ROTATOR>set delays_counter_max=6
E:\IDLER\ROTATOR>REM Сколько пользователей должно находиться на сервере, чтобы статус Фермы считался 'OK'? Поддерживается от 2 до 24.
E:\IDLER\ROTATOR>REM [R] Цифру нужно указывать в зависимости от кол-ва аккаунтов, перечисленных в teams.list.
E:\IDLER\ROTATOR>set must_be_in_game=5
E:\IDLER\ROTATOR>REM State detector - после скольких проверок статус проверяемого определяется как совсем нерабочий?
E:\IDLER\ROTATOR>set state_counter_threshold=6
E:\IDLER\ROTATOR>REM [R] Какой класс идлит?
E:\IDLER\ROTATOR>REM Список доступных классов: demoman, engineer, heavyweapons, medic, pyro, scout, sniper, soldier, spy
E:\IDLER\ROTATOR>set today_idle_class=heavyweapons
E:\IDLER\ROTATOR>REM [R] Приставка (идёт перед уникальным идентификатором) ник-имени игрока. Если нет - оставить параметр пустым.
E:\IDLER\ROTATOR>REM Использование пробелов между приставкой и идентификатором запрещено: ник должен быть слитным!
E:\IDLER\ROTATOR>set user_nick_begin=
E:\IDLER\ROTATOR>REM [R] Окончание (идёт после уникального идентификатора) ник-имени игрока. Если нет - оставить параметр пустым.
E:\IDLER\ROTATOR>REM Использование пробелов между идентификатором и окончанием запрещено: ник должен быть слитным!
E:\IDLER\ROTATOR>set user_nick_end=
E:\IDLER\ROTATOR>REM Строка запуска выделенного сервера.
E:\IDLER\ROTATOR>set srcds_start_string=-console -game tf +replay_enable 0 -tickrate 33 -ip 10.100.1.135 -port 28015 +maxplayers 24 +map cp_towdar -autoupdate
E:\IDLER\ROTATOR>REM Выбор нужного timeout.exe в зависимости от битности ОС.
E:\IDLER\ROTATOR>if "C:\Program Files (x86)" EQU "C:\Program Files (x86)" (set wait_time=E:\IDLER\bin\timeout_64.exe ) else set wait_time=E:\IDLER\bin\timeout_32.exe
E:\IDLER\ROTATOR>goto :eof
E:\IDLER\ROTATOR>if "" EQU ""
E:\IDLER\ROTATOR>REM About Rotator...
TF2 ROTATOR (ACTIVE IDLE SERVER EDITION)
Version 8.0 RC3 FIX_4 (18.06.2012)
Author: Mad.Eagle (ICQ 2505832)
http://www.dedicated-server.ru/vbb/show ... p?p=255856
E:\IDLER\ROTATOR>"E:\IDLER\bin\timeout_64.exe" /T 5 1>NUL
E:\IDLER\ROTATOR>cls
E:\IDLER\ROTATOR>call :CORE-DAY
E:\IDLER\ROTATOR>REM Get day number by WMI call
E:\IDLER\ROTATOR>for /F "tokens=1 delims=" %i in ('wmic path win32_localtime get dayofweek|findstr /R [0-6]') do set day_today_number=%i
E:\IDLER\ROTATOR>set day_today_number=3
E:\IDLER\ROTATOR>REM Fix wmic formatting problem (clean spaces)
E:\IDLER\ROTATOR>set day_today_number=3
E:\IDLER\ROTATOR>REM Get current time.
E:\IDLER\ROTATOR>for /F "tokens=1 delims=" %i in ('time /t') do set current_time=%i
E:\IDLER\ROTATOR>set current_time=19:15
E:\IDLER\ROTATOR>set current_time=19
E:\IDLER\ROTATOR>REM Define 12h day splitter.
E:\IDLER\ROTATOR>if "19" GEQ "12" (set day_today_number=3-2 ) else if "19" GEQ "0" set day_today_number=3-1
E:\IDLER\ROTATOR>REM +++ TEAM CHANGE DEBUG START +++
E:\IDLER\ROTATOR>REM set day_today_number=5-2
E:\IDLER\ROTATOR>REM +++ TEAM CHANGE DEBUG END +++
E:\IDLER\ROTATOR>if "" EQU "" (
set day_prev_number=3-2
)
E:\IDLER\ROTATOR>goto :eof
E:\IDLER\ROTATOR>REM Detect already started games and kill it.
E:\IDLER\ROTATOR>call :USERS-STOP-INIT
E:\IDLER\ROTATOR>REM Quit current users from server: shutdown their 'games' and shutdown their 'steam' clients.
E:\IDLER\ROTATOR>REM Check if steam.exe is started. If not found any process in memory - skip shutdown procedure.
E:\IDLER\ROTATOR>tasklist /V | find /i "steam.exe"
E:\IDLER\ROTATOR>if 1 EQU 1 (
goto :eof
)
E:\IDLER\ROTATOR>call :SERVER-STOP
E:\IDLER\ROTATOR>REM Shutdown and Cleanup - detect and delicate shutdown dedicated server.
E:\IDLER\ROTATOR>tasklist /V /FI "IMAGENAME eq srcds.exe" | find /i "srcds.exe"
E:\IDLER\ROTATOR>if 1 NEQ 0 (
REM Cleanup all sandboxie processes, all boxes must be cleaned before start!
"C:\Program Files\Sandboxie\Start.exe" /terminate_all
"E:\IDLER\bin\timeout_64.exe" /T 10
goto :eof
)
9 8 7 6 5 4 3 2 1 0
E:\IDLER\ROTATOR>goto SWITCH
E:\IDLER\ROTATOR>REM If server is 'alive', day is 'not changed', but 'update' was detected.
E:\IDLER\ROTATOR>if "" EQU "alive" if "" NEQ "changed" if "" EQU "true" (
REM Simulate first clean start for correct 'SERVER_INIT' function executing after Farm update.
set server_state_is=
call :USERS-STOP-INIT
call :SERVER-STOP
goto SERVER_INIT
)
E:\IDLER\ROTATOR>REM If server is 'alive' but day is 'changed'.
E:\IDLER\ROTATOR>if "" EQU "alive" if "" EQU "changed" (
call :USERS-STOP-INIT
goto SERVER_INIT
)
E:\IDLER\ROTATOR>REM If dedicated server is 'dead'.
E:\IDLER\ROTATOR>if "" EQU "dead" (
call :USERS-STOP-INIT
call :SERVER-STOP
REM Reset dedicated server state to default empty value.
set server_state_is=
goto SERVER_INIT
)
E:\IDLER\ROTATOR>REM If 'first clean start' detected and dynamic values still not set.
E:\IDLER\ROTATOR>if "" EQU "" if "" EQU "" (
goto SERVER_INIT
)
E:\IDLER\ROTATOR>REM Apply settings only if day changed.
E:\IDLER\ROTATOR>if "" EQU "alive" if "" NEQ "true" (
call :CORE-PARAMS-RESET
goto USERS_INIT
)
E:\IDLER\ROTATOR>REM Update and starting dedicated server if 'first clean' start (or after 'update' restarting sequence).
E:\IDLER\ROTATOR>if "" EQU "" (
call :CORE-PARAMS-RESET
call :SERVER-UPDATE
call :SERVER-START
call :SERVER-GET-STATUS
) else if "" EQU "true" (
call :CORE-PARAMS-RESET
call :SERVER-UPDATE
call :SERVER-START
call :SERVER-GET-STATUS
)
E:\IDLER\ROTATOR>REM DON'T MODIFY THIS SECTION!
E:\IDLER\ROTATOR>REM Set default delay counter value.
E:\IDLER\ROTATOR>set delay_counter=0
E:\IDLER\ROTATOR>set server_state_counter_is=0
E:\IDLER\ROTATOR>set rcon_state_counter_is=0
E:\IDLER\ROTATOR>set server_state_is=
E:\IDLER\ROTATOR>set day_state_is=
E:\IDLER\ROTATOR>set offline_user=
E:\IDLER\ROTATOR>goto :eof
E:\IDLER\ROTATOR>REM Detect updates and if found - update dedicated server files.
E:\IDLER\ROTATOR>set update_status=
E:\IDLER\ROTATOR>if NOT EXIST "E:\IDLER\SERVER\hldsupdatetool\ClientRegistry.blob" set update_status=first_run
E:\IDLER\ROTATOR>REM Detect 'first' Rotator using.
E:\IDLER\ROTATOR>if "" EQU "first_run" (
"E:\IDLER\SERVER\hldsupdatetool"\hldsupdatetool.exe 1>"E:\IDLER\SERVER\hldsupdatetool\update.log"
"E:\IDLER\bin\timeout_64.exe" /T 30
goto SERVER-UPDATE
)
E:\IDLER\ROTATOR>REM Detect 'boot time' updating.
E:\IDLER\ROTATOR>if "" NEQ "false" (
"E:\IDLER\SERVER\hldsupdatetool"\hldsupdatetool.exe -command update -game tf -dir "E:\IDLER\SERVER\SRCDS" 1>"E:\IDLER\SERVER\hldsupdatetool\update.log"
set farm_restart_required=false
"E:\IDLER\bin\timeout_64.exe" /T 5
goto :eof
)