Одиночка



СТАЛКЕР!
Ну что мнёшся
регайся!
Тут много интересного
Регистрация
Вход!



Список Сталкеров
Всего на базе 1
Бродяг 1
Бойцов 0

Доброй дороги


     

         Наше
 подразделение
    играет  в

Battlefield Bad
Company 3

 


МИР ТАНКОВ



http://worldoftanks.ru/


Главная » Файлы » Мои файлы

Создание батника с автоперезапуском для сервера S.T.A.L.K.E.R.
[ · Скриншот ] 01.08.09, 11:01 PM
Создание командного файла (он же батник, он же ярлык, он же файл сценария) для запуска выделенного сервера S.T.A.L.K.E.R. Тени Чернобыля (ТЧ) и Чистое небо (ЧН).

 

Этот способ запуска сервера предназначен для решения следующих проблем:

  • пропадание из мастер-листа и невозможности подключения клиентов при подключении самого себя к серверу с компьютера на котором запущен этот сервер
  • автоматического перезапуска сервера при вылетах
  • запуска нескольких серверов

Синтаксис командного файла для ТЧ и ЧН одинаков, но имеются небольшие различия, которые будут указаны.

Командный файл это простой текстовый файл с слюбым именем расширением *.CMD, который должен находиться в каталоге установки игры в папке \bin\, например

E:\ Program Files\GSC World Publishing\STALKER\bin\myserver.cmd

Создается с помощью системного блокнота, который можно вызвать из меню Пуск>Стандартные или меню Пуск>Выполнить>notepad. При сохранении файла важно обратить внимание на кодировку, это такой выпадающий список в окне сохранения файла под именем файла, нужно выбрать ANSI. В дальнейшем для редактирования командного файла щелкните по нему правой кнопкой мыши выберите «Изменить» или открыть с помощью Блокнота. При двойном клике по файлу будет выполняться сценарий.

Сценарий в командном файле выглядит примено так:

dedicated\xrEngine.exe -i -nosound -silent_error_mode -fsltx ..\fsgame. ltx -ltx user.ltx -start server(mp_agroprom/dm/ver=1.0/параметр1=значение1 /параметр2=значение2/параметр..n=значение..n) client(localhost)
 

Здесь на сайте код сценария может отбражаться в несколько строк. В Блокноте этот код должен быть в одной строке, иначе работать не будет.

Разберем по порядку:

  • dedicated\ xrEngine.exe – относительный путь к исполняемому файлу сервера ЧН
  • dedicated\XR_3DA.exe – относительный путь к исполняемому файлу сервера ТЧ
  • -i – отменяет захват устройств ввода. Без этого параметра не будет работать мышь.
  • -nosound - отключение проигрывания звука на сервере.
  • -silent_error_mode – отключает окно сообщения об ошибке при вылете сервера, рекомендуется для сервера с автоперезапуском. В некоторых случаях при отсутствии этого параметра сервер не будет перезапущен, пока вы сами не закроете окно с сообщением об ошибке. Также рекомендуется отключить различных отладчиков, отправку отчетов в Microsoft и т.п. 

Параметры: -fsltx ..\fsgame.ltx -ltx user.ltx имеют некоторую зависимость друг от друга, и очень важно их правильно настроить.

-fsltx - это параметр, ..\fsgame.ltx - значение этого параметра, -ltx - параметр, user.ltx - значение.

Примечание: все файлы с расширением *.ltx являются простыми текстовыми файлами и открываются и редактируются с помощью Блокнота. 

Подробнее об -fsltx ..\fsgame.ltx:

Сервер при своей работе производит чтение и запись параметров из различных файлов конфигурации, которые находятся на "путях поддержки".

Настройка путей поддержки важна для запуска нескольких серверов, использующих различные списки смены карт (мапцикл) и банлисты. Тем не менее, если у вас всего один сервер, либо все серверы используют один и тот же банлист и мапцикл - следует настроить один путь поддержки, отличающийся от пути по умолчанию.

В параметре -fsltx нужно указать значение, которое является относительным путем к файлу fsgame.ltx, который находится в каталоге установки игры. Весь путь указывать не нужно, только имя файла. Создайте копию fsgame.ltx, переименуйте его и укажите измененное имя.

Например:

-fsltx ..\myserverfs.ltx


Далее все файлы, являющиеся переименованными копиями fsgame.ltx, будем называть просто fsgame, независимо от того, как вы назовете файл и сколько копий будете использовать.

Чтобы настроить путь поддержки для сервера, открываем fsgame. В первой строке вы увидите:

$app_data_root$=true|false|C:\Users\Public\ Documents\STALKER-STCS\

Как видно, в этой строке указан путь к папке, которая и является путем поддержки по умолчанию. Желательно этот путь поменять.

Например:

$app_data_root$=true|false|D:\myservers\myserverDM\

Далее папку, которую вы назначите путем поддержки для сервера, будем называть app_data, независимо от того, как вы ее назовете и сколько их будете использовать.

Если вы собираетесь запускать несколько серверов, которые будут использовать разные мапциклы и банлисты - так же создайте новый fsgame и пропишите в нем другую app_data, а в командных сценариях для запуска этих серверов в параметрах -fsltx впишите свой fsgame. Вы получите выделенные fsgame и app_data для каждого сервера.

Если вы запускаете несколько серверов, которые будут использовать общие мапцикл и банлист, вам достаточно создать один fsgame для всех серверов.

Есть еще один способ изменения app_data для сервера, отличный от предыдущего. При этом не нужно создавать копии fsgame и менять -fsltx ..\fsgame.ltx. Здесь используется дополнительный параметр -overlaypath, в значении которого нужно просто указать путь к app_data сервера.

Например:

-fsltx ..\fsgame.ltx -overlaypath D:\myservers\myserverDM

 

Примечание: имена каталогов не должны содержать пробелов, в противном случае заключайте их в кавычки.

Например:

-overlaypath "D:\my servers\my server DM"

Вы также можете заменить пробелы символом подчеркивания (_)

Параметр -overlaypath имеет более высокий приоритет подмены app_data. Это значит, что если вы используете этот параметр, уже не важно, какой fsgame вы используете и какой в нем путь к app_data.

В обоих случаях создавать саму папку app_data на диске необязательно, она будет создана автоматически при запуске сервера.

-ltx user.ltx:

Здесь нужно указать имя файла конфигурации, который лежит в папке app_data. Именно в нем записаны все параметры сервера. Имя файла - любое, набранное латинскими буквами и не содержащее пробелов, например:

-ltx myserverDM.ltx

 Далее файл, указанный в параметре -ltx будет иметь условное имя LTX, независимо от того, как вы его назовете.

Если несколько серверов используют одну app_data, для каждого сервера нужно указать различные имена файла LTX. Имя файла не имеет значения, если серверы используют разные app_data.

Сам файл ltx в app_data создавать  необязательно; если вы запустите сервер с пустой app_data, то в этот файл будут скопированы команды из оригинального user.ltx, который лежит в папке, указанной в оригинальном fsgame.ltx. В принципе, нет необходимости вписывать команды в LTX, так как все необходимые параметры и настройки игры указываются в командном сценарии, хотя некоторые необязательные параметры читаются только из LTX. В LTX нельзя указывать некоторые функциональные команды консоли, такие как бан, кик, смена карты погоды, отмена голосования и т.п.

Зачем такие сложности?

Как говорилось выше, это нужно для серверов, использующих разные мапциклы и банлисты. Также замена app_data и LTX для сервера частично решает проблему подключения себя к своему серверу. Это связано с тем, что сама игра тоже использует файлы и параметры из оригинальной app_data, путь к которой указан в оригинальном fsgame.ltx и user.ltx. В любом случае, вы можете не менять app_data, но LTX желательно сменить.


Первая часть командного файла рассмотрена.

Она может выглядеть так:

dedicated\xrEngine.exe -i -nosound -silent_error_mode -fsltx ..\myserverfs.ltx -ltx myserverDM.ltx

или так:

dedicated\xrEngine.exe -i -nosound -silent_error_mode -fsltx ..\fsgame.ltx -overlaypath D:\myservers\myserverDM -ltx myserverDM.ltx

В следующей части командного файла прописаны параметры и настройки самой игры и сетевые параметры сервера. А если быть более точным, то эти параметры являются аналогами настроек запуска сервера из интерфейса игры.

Строка командного файла в этой части выглядит примерно таким образом:

-start server (mp_agroprom/dm/ver=1.0/параметр1=значение1/параметр2=значение2/параметр..n=значение..n) client(localhost)

Все по порядку:

-start server – запускает сервер. Настроек и значений не имеет.

Первые параметры в скобках для ЧН и ТЧ различны. Они соответствуют параметрам вкладки Сервер интерфейса запуска сервера через игру.

Рассмотрим параметры для ЧН:

mp_agroprom – начальная карта при первом запуске сервера. Не имеет значений, так как параметр сам является еще и значением.

Допустимые значения для карт, поставляемых на установочном диске:


mp_agroprom – Завод «Агропром»

mp_atp - АТП

mp_autostation - Автостанция

mp_bath – Бассейн (большой)

mp_darkvalley – Темная долина

mp_factory -  Завод «Янтарь»

mp_firestation – Пожарная станция

mp_garbage - Свалка

mp_limansk - Лиманск

mp_lost_village – Заброшенная деревня

mp_military_1 – Военные склады

mp_military_2 – Старая деревня

mp_pool – Бассейн (маленький)

mp_railroad – Ж/Д станция

mp_rembasa – Ремонтная база

mp_rostok – Завод «Росток»

mp_sport_center – Спортивный центр

mp_training_camp – Тренировочный лагерь

mp_workshop – Заброшенная фабрика

 

 

dm – тип игры. Так же как и карта является значением.

Допуситые значения:

dm – Все против всех

tdm – Команда пртив команды

ah – Охота за артефактом

cta – Захват артефакта

ver=1.0 – просто ver=1.0. Указывается только в ЧН.

 

Примеры:

-start server(mp_agroprom/dm/ver=1.0/

-start server(mp_rembasa/tdm/ver=1.0/

-start server(mp_pool/ah/ver=1.0/

-start server(mp_limansk/cta/ver=1.0/

 

Параметры для ТЧ:

(testers_mp_agroprom/deathmatch

testers_mp_agroprom – начальная карта.

Допустимые значения карт поставляемых на установочном диске:


testers_mp_agroprom – Завод «Агропром»

testers_mp_atp - АТП

testers_mp_darkvalley – Темная долина

testers_mp_factory -  Завод «Янтарь»

testers_mp_lost_village – Покинутая деревня

testers_mp_military_1 - Военные склады

testers_mp_pool - Бассейн

testers_mp_railroad - Ж/Д станция

testers_mp_rostok - Завод «Росток»

testers_mp_workshop – Брошенная фабрика

mp_military_2 - mp_military_2

deathmatch – тип игры.

Допустимые значения:

deathmatch – Все против всех
teamdeathmatch – Команда против команды
artefacthunt – Охота за артефактом

Примеры:

-start server(testers_mp_agroprom/deathmatch

-start server(testers_mp_pool/teamdeathmatch

-start server(testers_mp_railroad/ artefacthunt

Чтобы организовать мапцикл (смена карт после окончания матча) нужно создать в папке app_data сервера текстовый файл maprot_list.ltx и в нем прописать карты в той последовательности, в которой они будут автоматически меняться по окончании матча.

 

Содержимое файла maprot_list.ltx с полным списком карт мапцикла для ЧН, поставляемых на установочном диске:


sv_addmap mp_agroprom/ver=1.0

sv_addmap mp_atp/ver=1.0

sv_addmap mp_autostation/ver=1.0

sv_addmap mp_bath/ver=1.0

sv_addmap mp_darkvalley/ver=1.0

sv_addmap mp_factory/ver=1.0

sv_addmap mp_firestation/ver=1.0

sv_addmap mp_garbage/ver=1.0

sv_addmap mp_limansk/ver=1.0

sv_addmap mp_lost_village/ver=1.0

sv_addmap mp_military_1/ver=1.0

sv_addmap mp_military_2/ver=1.0

sv_addmap mp_pool/ver=1.0

sv_addmap mp_railroad/ver=1.0

sv_addmap mp_rembasa/ver=1.0

sv_addmap mp_rembasa/ver=1.0

sv_addmap mp_rostok/ver=1.0

sv_addmap mp_sport_center/ver=1.0

sv_addmap mp_training_camp/ver=1.0

sv_addmap mp_workshop/ver=1.0

Содержимое файла maprot_list.ltx с полным списком карт мапцикла для ТЧ, поставляемых на установочном диске:


sv_addmap testers_mp_agroprom

sv_addmap testers_mp_atp

sv_addmap testers_mp_darkvalley

sv_addmap testers_mp_factory

sv_addmap testers_mp_lost_village

sv_addmap testers_mp_military_1

sv_addmap testers_mp_pool

sv_addmap testers_mp_railroad

sv_addmap testers_mp_rostok

sv_addmap testers_mp_workshop

sv_addmap mp_military_2

 Карты в maprot_list.ltx можно прописывать в любой последовательности и в любом количестве, также допускается повторно прописывать одну и ту же карту.

 

Если в папке app_data отсутствует maprot_list.ltx, то мапцикла на сервере не будет, но пользователи смогут переключаться на другие карты голосованием.

Если несколько серверов используют одну app_data, то соответственно они смогут использовать только один на всех мапцикл.

 

Чтобы особо не мучиться с прописыванием карт в maprot_list.ltx, создайте сервер через игровой интерфейс, на вкладке сервер укажите нужные вам карты и запустите сервер. В оригинальной app_data найдите maprot_list.ltx и скопируйте его в app_data своего сервера. Выключите сервер запущенный через интерфейс игры.

 


 

Большинство следующих параметров командного файла соответствуют тем параметрам, которые находятся на вкладке Опции интерфейса запуска.

Они имеют следующий синтаксис:

/параметр1=значение1/параметр2=значение2/параметр..n=значение..n

Значения этих параметров дублируются в файле LTX. Значения прописанные в командном файле имеют более высокий приоритет чем значения в LTX, если они различны.

Каждый режим игры имеет свои специфические параметры.

Рассмотрим эти параметры:

Общие параметры для всех типов игры:

ПараметрОписаниеЗначения Примечание
hnameИмя сервераНапример: /hname=My Server/ 
maxplayersМаксимальное количество игроков на сервере2-32 
pswПароль для входа на серверНеобязательный 
public 0 - Сервер в локальной сетиНе будет отображаться в мастер листе
1 - Интернет серверБудет отображаться в мастер листе
portsvНомер порта сервера 1-65535 Эти три параметра решают проблему выпадения сервера из мастер-листа, при подключении самого себя к серверу.

Более подробная информация дана ниже.

portgsПорт GameSpy1-65535
portclПорт клиента. Прописывается в самом конце сценария.1-65535
battleyeАнтичит1-включенРаботает, если public=1
0-выключен
estimeНачальное время суток в игре.  00:00-23:59

От времени суток зависит погода

Ясная

9:00

Облачная

13:00

Дождь16:00
Ночь01:00
etimefСкорость изменения погоды0.0-100.0Десятичное число с одним знаком после точки. Оптимальное значение 1.0
ansАномалии0-выключены 
1-включены
anslenПериод работы аномалий0-бесконечные 
1-180 - время в минутах
pdahunt+100р за поднятый рюкзак0-нет 
1-да
warmupРазогрев0-выключен 
1-3600 - время в секундах
timelimitВремя матча0-бесконечный 
1-180 - время в минутах
dmgblockВремя неуязвимости после рождения0-отключено 
1-600 время секундах
dmbiИндикатор неуязвимости0-выключен 
1-включен
fraglimitЛимит фрагов0-бесконечныеИспользуется только для режимов DM и TDM
1-100
spectrmdsНастройка режимов наблюдения

Бит

Значение

Сумма битовых флагов. Подробнее
1Свободный полет
2От 1 лица
4Свободно привязанный
8От 3 лица
16Только для команды
0Все выключены
voteВключение определенных пунктов голосования

Бит

Значение

Сумма битовых флагов. Подробнее

Аналог: команда консоли  SV_VOTE_ENABLED

0Все выключены
1Все включены
2Рестарт
4Быстрый рестарт
8Выбросить
16Заблокировать
32Изменить карту
64Изменить погоду
128Режим
frcrspwnПринудительное рождение0-выключено

Для DM и TDM

1-3600-время в секундах. Не забывайте что иногда игрокам нужно зайти в магазин

Общие настройки всех командных режимов:

ПараметрОписаниеЗначенияПримечание
abalanceАвтобаланс команд0-выключен

Производится после окончания матча за счет игроков набравших наименьшее количество очков

1-включен
aswapАвтосмена команд0-выключенПосле окончания матча игроки автоматически меняются командами
1-включен
fiИконка над головами игроков своей команды0-выключен 
1-включен
fnИмена над головами игроков своей команды0 - только тогда, когда клавиша CapsLock нажата 
1 - CapsLock действует как переключатель
ffireКоэффициент повреждения, наносимого игроками одной команды друг другу. 0.0-2.01.0 = 100%, 2.0 = 200%

Настройки только для режимов AH и CTA:

ПараметрОписаниеЗначенияПримечание
anumКоличество артефактов1-100 
astimeАртефакт лежит пока его никто не поднимет0-всегдаТолько для AH
1-180-время в минутах
ardeltaЗадержка артефакта. Время до появления нового0-выключенТолько для AH
1-600-время в секундах
reinfРождение игроков-1 - когда артефакт принесен на базу или одна из команд польностью уничтожена 
0-игроки рождаются когда захотят
1-3600-время через которое игроки будут принудительно рождены.
artrettimeВремя через которое артефакт вернётся на вашу базу , если противник его потерял0-сразуТолько для CTA
1-300 время в секундах
actretАртефакт нужно взять в руки и нажать огонь0-нетТолько CTA
1-да

Настройки клиента:

К серверу, всегда, даже если на нем никого нет, подключен некий виртуальный игрок. Никто о нем не знает, никто его не видит, но он есть.

Параметры подключения такого скрытного игрока прописываются в самом конце строки сценария.

client(localhost/portcl=4554/name=admin)

 

client(localhost – обязательная запись.

portcl – описание в таблице выше

name – любой набор буквенно-цифровых символов. Необязательный параметр. Может быть опущен.

 

 

Все особенности создания командного файла здесь разобраны. Подведем итог.

 

Вот один из примеров запуска сервера DM.

 dedicated\xrEngine.exe -i –nosound -silent_error_mode -fsltx ..\myserverfs.ltx -ltx myserver.ltx -start server(mp_agroprom/dm/ver=1.0/public=1/hname=first_dm_server/portsv=4554/portgs=4556/battleye=1/estime=9:00/spectrmds=0/fraglimit=0/timelimit=30/dmgblock=3/dmbi=0/ans=1/anslen=3/warmup=60/pdahunt=1) client(localhost/portcl=4557)
 В эту строку можно добавить любые параметры из таблицы выше. Все зависит от вашего вкуса и предпочтений.

Автоперезапуск сервера

Пример:

:load

dedicated\xrEngine.exe -i –nosound -silent_error_mode -fsltx ..\myserverfs.ltx -ltx myserver.ltx -start server(mp_agroprom/dm/ver=1.0/public=1/hname=first_dm_server/portsv=4554/portgs=4556/battleye=1/estime=9:00/spectrmds=0/fraglimit=0/timelimit=30/dmgblock=3/dmbi=0/ans=1/anslen=3/warmup=60/pdahunt=1) client(localhost/portcl=4557)

goto load

Если добавить строчку из примера перед строкой сценария и соответствующую строчку после, то ваш сервер будет автоматически перезапускаться после вылета.

Помешать перезапуску сервера может системная служба отправки отчетов в Microsoft, и различные системные отладчики которые пред тем как закрыть приложение сообщают о вылете пользователю. Отключите эти функции в операционной системе.

 

Как командный файл может решить проблему выпадения сервера из мастер-листа, при подключении самого себя к серверу? 

Очень просто:

Надо указать серверу правильные порты.

Для этого нужно в параметрах portsv portgs portcl прописать значения НЕ! равные 5445 5446 5447 и не равные между собой. Если эти параметры в строке сценария вовсе не указывать, то сервер будет по умолчанию использовать значения 5445 5446 5447. При подключении с локального компьютера на этих портах возникают конфликты, так как игра по умолчанию тоже использует несовместимые порты.

Если выразиться проще, то порты 5445 5446 5447 предназначены только! для подключения с удаленных компьютеров.

Если вы запускаете несколько серверов, то значения этих параметров должны различаться не только между собой, но еще и в разных командных файлах. Если выразиться проще, то сервера не должны использовать одинаковые порты.

А если уж совсем копнуть глубже, то сервера не должны использовать порты занятые другими приложениями.

На просторах интернета можно найти очень много статей о том, как добавить сервер в мастер-лист, наш сайт не исключение. Везде обычно рекомендуют открыть именно порты 5445 5446 5447. Парадокс. Нет. Просто все везде имеют ввиду, что вы будете запускать сервер из интерфейса игры, а игра использует эти порты по умолчанию. Соответственно если вы прописали в командном файле во всех трех параметрах порты не по умолчанию, то доступ вы должны открыть по указанным вами портам, а не 5445 5446 5447.

Что такое сумма битовых флагов?

 Это целое число, являющееся суммой битов включенных элементов. Элементы, биты которых не участвуют в сумме, будут выключены.

Рассмотрим на примере включения выключения пунктов голосования:

Например нам надо выключить пункты Изменить погоду и Рестарт. Для составления суммы лучше всего эту ситуацию рассматривать с другой стороны - нужно не выключить эти пункты, а включить все другие кроме этих пунктов.

Смотрим биты всех других пунктов кроме  Изменить погоду и Рестарт. Такие пункты как Все выключены и Все включены в суммах никогда не участвуют.

Бит

Значение

0Все выключены
1Все включены
2Рестарт
4Быстрый рестарт
8Выбросить
16Заблокировать
32Изменить карту
64Изменить погоду
128Режим

 В итоге vote=4+8+16+32+128=188

Пункты голсования будут выглядеть вот таким образом:

vote=188
 
Включение выключение других пунктов голосования, а так же режимов наблюдения производится аналогичным способом.

 


 

К сожалению не все не все важные параметры можно прописать в командном файле, в нем прописываются только жизненно важные. Все остальные пишутся в LTX. Более подробную информацию о командах вы можете узнать в соответствующей теме.

 

И в заключение

Размышления на тему:

Опять же на просторах интернета можно найти информацию о том, что, не модно нынче в батнике

Категория: Мои файлы | Добавил: Tecktonik
Просмотров: 4104 | Загрузок: 0 | Комментарии: 7 | Рейтинг: 0.0/0 |
Всего комментариев: 6
Ник: Hogaerorm

Hi!
Happy New Year!
Health, luck and love!


Ник: Deresmaps

Summerinaskinalk


Ник: Jeep

zahar Че ты ругаешься? Если у тебя не получается то автор не виноват в этом, у меня все нормально работает просто разобраться нужно во веи этои писанине =) Вот поделюсь своим батником для ТЧ :load
start /wait dedicated\xr_3da.exe -i -nosound -silent_error_mode -ltx myserver.ltx-$sv_status -start server(l01_escape/artefacthunt/hname=Њ®© бҐаў Є /portsv=5445/portgs=5447/public=1/battleye=1/maxplayers=12/estime=9:00/etimef=0.0/ans=0/anslen=3/pdahunt=1/warmup=0/timelimit=0/dmgblock=5/dmbi=1/fraglimit=0/spectrmds=31/vote=64/frcrspwn=0/abalance=0/aswap=0/fi=0/fn=1/ffire=0.1/anum=30/astime=3/ardelta=10/reinf=0/artrettime=3/actret=0) client(localhost/portcl=4646/name=player)
goto load

имя сервера и параметры настоете сами, поизучаите пост. Я учился именно по такому материалу =)))



Ник: zahar

вашу матььььььь!Неужели кроме ЭТОЙ статьи в инете ничего нет?Задрали копировать одно и тоже!Я ищу батник для Теней,здесь написано,что при небольших изменениях подходит на Тени.Прежде чем копировать-проверь!Мать твою!!!!!!


Ник: MPN.Flammable

Где ссылка на источник? Вы вообще читаете то, что копируете? При копировании статьи прямая активная ссылка обязательна. Уважайте себя и тех, кто писал эту статью.


Ник: Джагер

ктонибуть помогите!
почему когда я создаю выделеный сервер в чн уменя вылетает с такой ошибкой
"xrEngine.exe перестал отвечать и был отключон
Поиск решений в интернете
Закрыть програму"
ктонить помогите пожалуста!
(если чо знаете пишите тут или на имейл stasyan_ermak@mail.ru)


Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]