Мануал по созданию сервера для игры Чистое Небо.
Начнем с азов.
Пункт 1: Создание выделенного сервера.
Во первых чтобы создать свой сервер надо:
1) Иметь выделенный IP адрес (Обращаться к своему провайдеру)
2) Иметь лицензионную версию игры сталкер ЧН, пропатченную до 10-ой версии.
3) Прямые руки и свежую голову)).
Стандартно сервер можно создать так:
1) Заходим в игру.
2) Сетевая игра
3) Перед вами появляется список серверов, в верху 3 вкладки: Клиент, Сервер, Опции.
4) Заходим в клиент. Тут мы видим следующие графы: Имя сервера, пароль (если надо), режим игры. Заполняем все эти графы по своему усмотрению
5) Чтобы ваш сервер был виден в интернете, тебе надо нажать на кнопку выделенный сервер.
6) Далее выбираем нужную карту из списка в левом нижнем углу экрана.
2)
Итак со вкладкой сервер покончено, теперь идем во вкладку опции.
1) Ставим галки рядом с Интернет сервер и BattlEye.
2) Настраиваем опции по своему усмотрению. Подробно расписывать не буду.
3) Переходим во вкладку Сервер и тыкаем в низу создать.
Игра думает, сворачивается на рабочий стол и появляется черное окошко с разноцветными письменами)).
Это ваш сервер. В этом окошке расписаны: имя сервера, порт, пароль, кол-во игроков и т.д. Для начала мы смотрим чтобы у нас не было текста написанного красным цветом. Если такой имеется, то сервак не создался.
Причины:
- Несоблюдение 1-го пункта
- У вас стоит файрвол который блокирует сталкера.
Лечение:
- обратиться к провайдеру. (Только не надо звонить и говорить ему, что у меня проблема с инетом не запускается сталкер. Скорее всего вас пошлют на ***. Вам надо сказать, что хотите чтобы вас перевели на выделенный IP адрес).
- Вырубить брендмауэр виндовс совсем (не забыть убрать флажки с соединений инета (самая последняя вкладка)), добавить сталкер в список исключений файрвола, если таковой имеется. Добавить сталкера в список исключений Антивируса.
Если ничего не помогло:
- Это по причине несоблюдения последнего пункта
3)Иметь прямые руки и свежую голову)).
Тут уже не ко мне.)))
Если все работает и нет красного цвета в окне чата сервера, то поздравляю, вы создали свой сервер, теперь его видит весь интернет. Чтобы поиграть на своем серваке, надо запустить ВТОРОЙ РАЗ СТАЛКЕРА, не закрывая окно СЕРВЕРА.
Пункт 2: Создание сервера с помощью батника.
Здесь все страшно запутанно, по этому будем считать что это все аномалия)))
И так, начнем с кодинга. Открываем блокнот и начинаем писать ниже приведенную муру:
dedicated\xrEngine.exe -i -nosound -fsltx ..\fsgame.ltx -svcfg user_ah.ltx -start server(ваше_имя_сервера /public=1/portgs=5476/portsv=5477/maxplayers=16/anum=5/fraglimit=0/timelimit=0/ardelta=30/astime=3/ans=1/anslen=3/pdahunt=1/reinf=1/fn=1/aswap=0/dmbi=0/dmgblock=0/estime=07:00/estimef=0/vote=1/ffire=0.1/warmup=0) client(localhost/portcl=2337/name=Ваш_ник_admin) @echo off echo avtorestart %DATE% %TIME% mkdir crash\%DATE% echo STALKER restart %DATE% %TIME% >> crash\%DATE%\ah.log :RESTART dedicated\xrEngine.exe -i -nosound -fsltx ..\fsgame.ltx -svcfg user_ah.ltx -start server(mp_agroprom/tdm/hname= ваше_имя_сервера /public=1/portgs=5476/portsv=5477/maxplayers=16/anum=5/fraglimit=0/timelimit=0/ardelta=30/astime=3/ans=1/anslen=3/pdahunt=1/reinf=1/fn=1/aswap=0/dmbi=0/dmgblock=0/estime=07:00/estimef=0/vote=1/ffire=0.1/warmup=0) client(localhost/portcl=2337/name=Ваш_ник_admin) set Crashdir=crash\%DATE% mkdir %Crashdir% echo STALKER avtorestart %DATE% %TIME% >> crash\%DATE%\ah.log set Crashdir= crash\%DATE% goto RESTART
Теперь подробно что к чему и зачем:
dedicated\xrEngine.exe -i -nosound -fsltx ..\fsgame.ltx -svcfg user_ah.ltx -start server– этой командой мы говорим игре что мы хотим запустить и с какими параметрами:
-nosound – отсутствие фоновой музыке на сервере
fsgame.ltx -svcfg user_ah.ltx – имена игровых системных файлов, их мы не меняем
-start server – но тут понятно, старт сервера.
Идем дальше.
(mp_agroprom/tdm/hname= ваше_имя_сервера /public=1/portgs=5476/portsv=5477/maxplayers=16/anum=5/fraglimit=0/timelimit=0/ardelta=30/astime=3/ans=1/anslen=3/pdahunt=1/reinf=1/fn=1/aswap=0/dmbi=0/dmgblock=0/estime=07:00/estimef=0/vote=1/ffire=0.1/warmup=0) client(localhost/portcl=2337/name=Ваш_ник_admin)
Тут описываются настройки сервера.
mp _agroprom/tdm/hname=ваше_имя_сервера – здесь задается какую карту запускаем при старте сервера, режим и имя сервера.
public=1 – этот параметр показывает где будет отбражаться сервер, если присвоено значение 1 – то в инете, если 0, то только в локальной сети.
portsv=5477 – номер порта, на котором будет работать сервер (рекомендуется для тех случаев, когда на одном компьютере запускается несколько серверов);
portgs=5476 – номер порта, через который будет работать GameSpy (рекомендуется для тех случаев, когда на одном компьютере запускается несколько серверов)
/maxplayers=16 – кол-во игроков на сервере
fraglimit=0/timelimit=0 – кол-во фрагов и время на сервере. Т.е. если поставить так:
fraglimit=10/timelimit=30, то игра будет идти 30 минут до 10 фрагов.
Настройки игры:
/astime=3– начальное время суток в игре - от него зависит погода, при которой начинается игра;
‘etimef’ – скорость изменения погоды в игре
Настройки игры. Эти настройки перекрывают настройки, которые могут быть заданы через команду –svcfg:
‘vote’ – разрешение голосования на сервере. 0 - голосование запрещено, 1 – разрешено;
‘frcrspwn’ – принудительное рождение игроков. 0 - отключено, отличное от 0 - время в секундах, через которое будут принудительно рождены мертвые игроки;
‘timelimit’ – лимит времени игры на карте, в минутах. 0 – отключено;
‘fraglimit’ – лимит фрагов (только Все против всех и Команда на команду). 0 – отключено;
‘dmgblock’ – время, в течение которого игрок сразу после его рождения неуязвим (для предотвращения прогона противника по респаунам). 0 – отключено;
‘dmbi’ – показывать индикатор неуязвимости над игроками. 0 - отключено, 1 - включено;
‘ans’ – наличие аномалий. 0 - отключены, 1 – включены;
‘anslen’ – время длительности работы аномалий, в минутах. 0 – бесконечные;
‘warmup’ – время разогрева перед матчем, в секундах. В течение этого времени игрокам доступно все оружие и оборудование;
‘pdahunt’ – начисляются ли игрокам деньги за подбор чужих рюкзаков. 1 - да, 0 - нет.
‘abalance’ – автоматический баланс команд. 0 - включен, 1 - выключен. Производится после окончания матча за счет игроков набравших наименьшее количество очков;
‘aswap’ – автоматическая смена команд. 0 - включена 1 - выключена. После окончания матча игроки автоматически меняются командами;
‘fi’ – показывать иконку команды над игроками своей команды. 0 - отключено, 1 - включено;
‘fn’ – показывать над головами игроков своей команды их имена при нажатии клавиши CapsLock. 0 - имена показываются только тогда, когда клавиша CapsLock нажата, 1 - CapsLock действует как переключатель;
‘ffire’ – величина повреждений наносимых игроками одной команды друг другу. Задается от 0-ля до 2-х. 0 - нет повреждений, 0.5 - 50% повреждений, 1 - 100% повреждений, 2 - 200% повреждений
Настройки режима Охота за артефактом:
‘anum’ – лимит артефактов ;
‘astime’ – время "жизни" артефакта, если его никто не поднимает, в минутах;
‘ardelta’ – время до появления следующего артефакта после исчезновения предыдущего, в секундах;
‘reinf’ – настройка рождения игроков:
-1 - игроки рождаются только тогда, когда артефакт принесен на базу или одна из команд полностью уничтожена;
0 - игроки рождаются по желанию;
<время в секундах> - убитые игроки рождаются через заданное время
/estime=07:00 – время в игре, т.е. при старте сервера на игровых часах будет 7 часов утра.
client(localhost/portcl=2337/name=ALVP_admin) – здесь настройки клиента, порт, и имя админа.
Если хотим поставить пароль на сервер то добавляем строку перед командой maxplayers=16: ‘psw=ваш_пароль’
@echo off echo avtorestart %DATE% %TIME% mkdir crash\%DATE% echo STALKER restart %DATE% %TIME% >> crash\%DATE%\ah.log :RESTART
Это бат команды на случай если сервак слетел, то запускаем новый и дальше идет описание нового серва снова:
dedicated\xrEngine.exe -i -nosound -fsltx ..\fsgame.ltx -svcfg user_ah.ltx -start server(mp_agroprom/tdm/hname= ваше_имя_сервера /public=1/portgs=5476/portsv=5477/maxplayers=16/anum=5/fraglimit=0/timelimit=0/ardelta=30/astime=3/ans=1/anslen=3/pdahunt=1/reinf=1/fn=1/aswap=0/dmbi=0/dmgblock=0/estime=07:00/estimef=0/vote=1/ffire=0.1/warmup=0) client(localhost/portcl=2337/name=ALVP_admin)
И дальше снова бат команды:
set Crashdir=crash\%DATE%
mkdir %Crashdir%
echo STALKER avtorestart %DATE% %TIME% >> crash\%DATE%\ah.log
set Crashdir= crash\%DATE%
goto RESTART
Это на случай если сервак снова слетит, чтобы он снова запустился автоматически.
Дополнительные параметры:
‘-i’ – отменяет захват устройств ввода;
‘-silent_error_mode’ – отключение вывода окна сообщения об ошибке, если таковая случится. Сделано для тех ситуаций, когда у запускающего сервер имеются специальные программы, отслеживающие состояние определенного процесса, и при его сбое или остановке, автоматически перезапускающие его. Рекомендуется для тех, у кого подобные программы имеются.
Необязательные параметры:
Глобальные (сделаны для ситуаций, когда необходимо запустить несколько серверов использующих одни и те же бинарные файлы и данные, но разные настройки):
‘-ltx <имя_файла>’ – общий файл настроек сервера (список консольных команд, которые выполняются при запуске сервера); находится в папке Documents and Settings/..../_appdata_;
‘-svcfg <имя_файла>’ – файл настройки игры на сервере (часть из них может дублироваться в основном ltx-файле); находится в папке Documents and Settings/..../_appdata_;
‘-overlaypath <путь>’ – замена пути к папке _appdata_, а также к папкам сохранения логов и крэш-дампов.
И так, вроде с кодингом покончили, теперь сохраняем все это дело в блабла/Program Files\GSC World Publishing\С.Т.А.Л.К.Е.Р. - Чистое Небо\bin
В формате .bat, т.е. в строке сохранить как пишете имя файла: блабла.bat
Все сервак готов, теперь настрои радминку.
Открываем блокнот и пишем туда следующие:
[radmins] Ваш_ник=ваш_пароль
Кол-во админов можете хоть на мегабайт понаписать, сути не меняет. Т.е. если человек, которого вы хотите сделать админом сервака есть в этом списке, то значит он может управлять сервером.
Так теперь сохраняем этот блокнот в директорию:
Блабла/Documents and Settings\All Users\Документы\STALKER-STCS
Под именем:
«radmins.ltx»
Так радминку сделали, теперь банлисты. Качаем последние банлисты с КС.
Открываем все это, дело копируем
И вставляем сюда: banned_list.ltx (открывать блокнотом) этот файл находиться здесь:
Блабла/Documents and Settings\All Users\Документы\STALKER-STCS
Все!!!
Пункт 3: Администратирование своего сервера.
Заходим сюда:
блабла/Program Files\GSC World Publishing\С.Т.А.Л.К.Е.Р. - Чистое Небо\bin
открываем файл нашего сервера: «блабла.bat»
Перед вами появляется стандартная заставка сталкера, и черный экранчик – ЕГО ЗАКРЫВАТЬ не надо!!! Просто сверните на панель задач. Заставка сталкера плавно переходит в черный экран, описанный выше, в Пункте 1.
И так, чтобы войти на свой сервер как админ в окне сервера пишем следующую команду:
ra login Ваш_ник Ваш_пароль и тыкаем энтер, если все правильно ввели, то появиться зеленая надпись, говорящая Access permitted. Точно так же можно на сервер войти и через игру, запускаем снова сталкера, не закрывая окно сервера, конектимся к своему серваку.
Открываем консоль и пишем ту же команду доступа. Логии и пароль должны соответствовать, тем, что написаны в радминке.
И так, вы на сервере как админ, поздравляю, для администратирования сервера используем следующие команды:
sv_vote_participants --- [0,1] - итог голосования на основании проголосовавших.
ra sv_warm_up --- integer value in range [0,3600] - время разминки
sv_client_reconnect_time - (0,60 мин) сохранять профиль игрока если он отсоединился
sv_vote_time --- float value in range [0.5,10.0 мин] - установить время голосованияsv_auto_team_balance --- integer value in range [0,1] - автобаланс команд
sv_votestop --- остановить голосования
sv_kick --- кик игрока по имени
sv_kick_id --- кик по ID
sv_banplayer --- Ban Player by Name - бан игрока по имени
sv_banplayer_id --- Ban Player by ID - бан по ID
sv_banplayer_ip --- Ban Player by IP - бан по IP
sv_listplayers - Список игроков на сервереg_restart - перезагрузка карты
g_restart_fast - быстрая перезагрузка карты
g_swapteams - Смена команд местами в сетевой игре артефактхант (Охота за Артефактом).
mm_net_con_spectator_on --- 'on/off' or '1/0' - разрешить/запретить режим наблюдателя
mm_net_srv_gamemode --- st_deathmatch/st_team_deathmatch/st_artefacthunt (note the typo) - тип игры
mm_net_srv_maxplayers --- integer value in range [2,32] - максимальное кол-во игроков на сервере
mm_net_srv_name --- string with up to 64 characters - имя сервера
sv_addmap --- adds map to map rotation list - добавить карту в список ротации
sv_anomalies_enabled --- integer value in range [0,1] - включить-выключить аномалии
sv_anomalies_length --- integer value in range [0,180] - время аномалий
ra sv_artefacts_count - (1,100 штуки) количество артефактов для победы в игре
sv_artefact_respawn_delta - (0,600 сек) перерыв перед появлением следующего артефакта
sv_artefact_stay_time - (0,180 мин) время существования артефакта
sv_auto_team_swap - (0,1) меняться командами в каждом раунде
sv_bearercantsprint - (0,1) игрок, который несет артефакт, может бежать
sv_changegametype --- Изменить тип игры
sv_changelevel --- Изменить карту
sv_changelevelgametype --- изменить карту и режим
sv_dmgblockindicator - (0,1) показывать индикатор неуязвимости игрока
sv_dmgblocktime - (0,600 сек) время неуязвимости после рождения
sv_forcerespawn - (0,3600 сек) принудительно рождать мертвого игрока через время
sv_fraglimit --- integer value in range [0,100] - лимит фрагов
sv_friendly_indicators - (0,1) показывать индикатор (флажок над игроком) в своей команде
ra sv_friendly_names --- integer value in range [0,1] - отображать имена союзников
sv_friendlyfire --- float value in range [0.000,2.000] - огонь по своим
sv_listmaps - Список карт
ra sv_max_ping_limit - (1,2000 мсек) ограничение по пингу (если у клиента он больше, показывает 5 раз предупреждение и потом выбрасывает из игры)
sv_hail_to_winner_time --- integer value in range [0,60000] - время на приветствие победителя
mm_net_con_spectator --- integer value in range [1,32] --- число наблюдателей
mm_net_weather_ratechange --- float value in range [0.000,100.000] - коэффициент изменения погоды
sv_nextmap --- следующая карта
sv_pda_hunt - (0,1) давать бонусы за подобранный рюкзак
sv_prevmap --- предыдущая карта
sv_reinforcement_time - (-1, 3600 сек) подкрепление
sv_remove_weapon --- integer value in range [-1,0,1] - убирать с уровня валяющееся оружие (-1 – никогда, 0 – сразу, 1 – по времени в конфигах)
sv_remove_corpse --- (-1,0,1) - убирать с уровня трупы (-1 – никогда, 0 – сразу, 1 – по времени в конфигах)
sv_returnplayers - (0,1) возвращать игроков на базу, когда они принесли артефакт
sv_setweather --- установить новую погоду
sv_shieldedbases - (0,1) бессмертие на базе
sv_startteammoney - стартовые деньги
sv_statistic_save --- [40] – сохранение статистики в секундах
sv_teamkill_limit - (0,1 раз) лимит убийств игроков своей команды
sv_teamkill_punish - (0,1) выбрасывать клиента, если он убил игрока со своей команды (больше <sv_teamkill_limit> раз)
sv_timelimit --- integer value in range [0,180] --- лимит времени
sv_vote_enabled --- integer value in range [0,1] - разрешить голосования
sv_vote_quota - (0.0,1.0 коэффициент) квота на голосованиеРежимы наблюдателя:
sv_spectr_freefly - (0,1) наблюдатель - свободная камера
sv_spectr_firsteye - (0,1) наблюдатель - камера от первого лица
sv_spectr_lookat - (0,1) наблюдатель - камера привязанная
sv_spectr_freelook - (0,1) наблюдатель - камера от третьего лица
sv_spectr_teamcamera - (0,1) наблюдатель - камера только для «своих»Названия карт
mp_military_1 1.0 - Военные склады
mp_limansk 1.0 - Лиманск
mp_rostok 1.0 - Завод "Росток"
mp_agroprom 1.0 - Агропром
mp_atp 1.0 - АТП
mp_autostation 1.0 - Автостанция
mp_bath 1.0 - Бассейн новый
mp_darkvalley 1.0 - Тёмная долина
mp_factory 1.0 - Янтарь
mp_firestation 1.0 - Пожарная станция
mp_garbage 1.0 - Свалка
mp_lost_village 1.0 - Заброшенная деревня
mp_military_2 1.0 - Покинутая деревня
mp_pool 1.0 - Бассейн
mp_railroad 1.0 - Ж/Д Станция
mp_rembasa 1.0 - Ремонтная база
mp_training_camp 1.0 - Тренеровочный лагерь
mp_workshop 1.0 - Заброшенная фабрика
=============================================================================
Управление сервером
Вот некоторые команды сервера
sv_listplayers - список игроков на сервере
sv_kick_id - Кик по ID
sv_kick - Кик игрока по имени (действует не всегда)
sv_banplayer - Бан игрока по имени
sv_banplayer_ip - Бан по IP
mm_net_srv_name Имя сервера (меняет название сервера)
g_restart_fast - Быстрый рестарт
g_restart - перезагрузка карты
sv_votestop - Остановить голосования
sv_listmaps - Список карт
sv_changelevel - Изменить карту
sv_setweather map - Нет тумана и всегда светло
Названия карт
mp_military_1 1.0 - Военные склады
mp_limansk 1.0 - Лиманск
mp_rostok 1.0 - Завод "Росток"
mp_agroprom 1.0 - Агропром
mp_atp 1.0 - АТП
mp_autostation 1.0 - Автостанция
mp_bath 1.0 - Бассейн новый
mp_darkvalley 1.0 - Тёмная долина
mp_factory 1.0 - Янтарь
mp_firestation 1.0 - Пожарная станция
mp_garbage 1.0 - Свалка
mp_lost_village 1.0 - Заброшенная деревня
mp_military_2 1.0 - Покинутая деревня
mp_pool 1.0 - Бассейн
mp_railroad 1.0 - Ж/Д Станция
mp_rembasa 1.0 - Ремонтная база
mp_sport_center 1.0 - Спортивный центр
mp_training_camp 1.0 - Тренеровочный лагерь
mp_workshop 1.0 - Заброшенная фабрика
sv_startteammoney 1 50000 - Деньги при старте свобода
sv_startteammoney 2 50000 - Деньги при старте наёмники
sv_changegametype dm tdm ah cta - Изменить тип игры
mm_net_srv_maxplayers - Максимум игроков на сервере
sv_max_ping_limit -Смена пинга от 0 до 2000 в процессе игры
sv_remove_corpse -1 - (трупы не исчезают 1-исчезает 0-исчезает сразу)(Колличество трупов на карте влияет на пинг)
sv_remove_weapon -1 - (Оружие погибших не исчезает 1-исчезает 0-исчезает сразу)
sv_fraglimit - лимит фрагов от 0 до 100
Теперь расмотрим как же забанить игрока. Делается это так:
Вводим в консоли "sv_listplayers", видим табличку игроков. В ней ищем ник, которого надо забанить. Перед ником есть 9-ти или 10-ти значный код, к примеру, 123456789 и айпи например 167.234.08.0 После чего пишешь в консоли: "sv_banplayer 123456789 99999", где "99999" - время бана в минутах.
Если пока вводили команду на бан, табличка "уползла" вверх, используем кнопку "Page Up". Чтобы не прописывать каждую команду по многу раз, ранее вводившиеся команды можно вызвать кнопками "вверх" и "вниз".
Бан по айпи выглядит например так sv_banplayer_ip 167.234.08.0 99999
Как организовать возможность удалённого управления сервером?
Создаём в папке STALKER-STCS файл radmins.ltx (тоесть сначала создаём обычный текстовый документ с названием radmins а потом меняете его расширение с txt на ltx) в котором прописываете логин и пароль админа. Допустим так
[radmins]
qwe=5367
где qwe-это логин
а 5367-пароль
Создаём выделенный сервер.
Теперь любой игрок сервера может ввести в консоли ra login qwe 5367 (именно так со всеми пробелами) и стать админом. В принципе все команды сервера для RA админа выглядят так же только к ним требуется приставка ra. Например:
ra sv_friendlyfire - Огонь по своим
ra sv_max_ping_limit 500,2000 - Максимальный пинг
ra get_server_address - IP сервера
ra sv_anomalies_enabled 0.0 - выключить аномалии
ra sv_pda_hunt 0,1 Давать бонус (100р) за подобранный хабар
ra sv_setenvtime 10 - изменение времени суток
ra sv_timelimit 0,180 - Лимит времени
ra sv_vote_enabled 88 - ОГРАНИЧЕНИЕ В ГОЛОСОВАНИИ
ra sv_vote_enabled 92
sv_client_reconnect_time - (0,60 мин) - сохранять профиль
ra chat
Есть ещё парочка полезных команд
ra config_dump_all
После того как её ввели будет происходить проверка всех игроков и если у кого-то обнаружатся изменения конфигураций он будет выделен красным цветом и надписью CHITER. Результаты проверки копируются в папке STALKER-STCS -screenshots
Для снятия скриншотов на валхак надо использовать другую команду
ra screenshot_all .Скрины тоже окажутся в папке STALKER-STCS -screenshots
Как включить вид от третьего лица?
Чтобы в игре включить вид от третьего лица нужно:
Правим файл:
ХР - C:\Documents and Settings\All Users\Документы\STALKER-SHOC\user.ltx
Vista - C:\Users\Public\Documents\STALKER-SHOC\user.ltx
Пишем после строки "unbindall"
bind cam_1 kF1
bind cam_2 kF2
bind cam_3 kF3
bind cam_4 kF4
Для включения в игре жмем F1, F2, F3, F4