Ил-2 Штурмовик: Забытые сражения. Dedicated Server

Материал из АвиаВики
Перейти к: навигация, поиск

Dedicated Server ( с англ. "выделенный сервер") - серверное программное обеспечение для игры "Ил-2: ЗС+АвН+ПХ+46", которое рассчитывает лишь ход игры, в зависимости от данных, которые получает клиентская часть игры. Так как "выделенный сервер" не запускает вычисления обработки графики и звука, то ресурсы на вычисления выделяются только для данных игры.

Что необходимо знать

Установка

Для начала нужно скачать все файлы в такой последовательности:

il2fb_server1.11.exe
fb_server111_open.zip
server_patch_121.exe
server_patch122_over121.exe
server201_over122.zip
aep_server_patch204.zip

... и все это, разумеется, в той же последовательности распаковать в один и тот же каталог. У меня он так и называется "IL2 FB Dedicated Server". Прилагающийся к серверу файл ReadMe.txt читаем с оговоркой на то, что сервер можно и нужно запускать не так, как там написано, (что меня с самого начало очень здорово сбило с толку и разозлило). Короче, совсем не читаем раздел файла про то, как запускать сервер. Это было написано для самых ранних версий.

Серверная часть

1. Сервер. Сервер вер. 1.11 (320МБ)

2. Эмулятор UBI (14кБ)

3. FBDaemon ищем FBDaemon_sv1.5n.zip (1.45 МБ)

Клиентская часть

  1. IL2FB - сама игра
  2. GameService - есть на диске с игрой, или (5 - 6 МБ)
  3. FBlauncher(555кБ)

Настройка сервера

Ставим сервер

Это самораспаковывающийся архив. Указываем путь. Никаких проблем. Говорят, что бы избежать ограничения 16 игроков на подключение, нужно скопировать rts.dll из IL2FB. Не проверял.

Распаковываем эмулятор UBI

Распаковываем эмулятор UBI в папку, куда установили сервер. Ubiemu.zip - там два файла: emu.exe и launch.bat. Они оба должны быть в одной директории, где и il2server.exe. В launch.bat две строки: первая запускает файл ubi.exe, вторая il2server.exe с ключами. Можно изменить некоторые параметры запуска сервера. Например имя сервера. Не менять параметры "groupid", "lobbyaddr" and "lobbyport"! Я у себя не делал никаких изменений в launch.bat. Сомневаюсь, что кто-нть может догадаться закрыть у себя 127.0.0.1, однако некоторые файрволы могут это делать. Проверьте настройки своего брандмауэера: Il2server и emu.exe связываются по 127.0.0.1:12345.

Ставим FBDaemon

Просто распаковываем FBDaemon_sv1.5n.zip в произвольную папку. В файле fbdaemon.ini правим все строки: password=111 (важно! пароль на подключение к игре. без пароля у меня не получилось запустить FBDaemon. Должен совпадать на сервере, в FBD и у клиента при подключении.) path=C:\Program Files\Ubi Soft\IL2 FB Dedicated Server\il2server.exe (путь к il2server.exe) ip=192.168.0.1 (тут прописатьIP сервера в локальной или внешней сети) В общем, вот мой fbdaemon.ini:

password=111
path=C:\Program Files\Ubi Soft\IL2 FB Dedicated Server\il2server.exe
ip=192.168.0.1


Правим server.cmd

server PWD 111
mission LOAD net/dogfight/test15/test15.mis BEGIN
f gc.cmd
Тут C:\Program Files\Ubi Soft\IL2 FB Dedicated Server\Missions\Net\dogfight\test15\test15.mis - миссия для FBDaemon.
Можно скачать тестовую версию
server PWD 111 - пароль сервера.

Далее залезаем в файл server.cmd и пишем буквально следующее:

difficulty SeparateEStart 0 
difficulty ComplexEManagement 0 
difficulty EngineOverheat 1 
difficulty TorqueGyroEffects 1 
difficulty FlutterEffect 1 
difficulty WindTurbulence 1 
difficulty StallsSpins 1 
difficulty Vulnerability 1 
difficulty BlackoutsRedouts 1 
difficulty RealisticGunnery 1 
difficulty LimitedAmmo 1 
difficulty LimitedFuel 1 
difficulty CockpitAlwaysOn 0 
difficulty NoOutsideViews 0 
difficulty HeadShake 1 
difficulty NoIcons 0 
difficulty NoPadlock 0 
difficulty Clouds 1 
difficulty NoInstantSuccess 1 
difficulty TakeoffLanding 1 
difficulty RealisticLandings 1 
difficulty NoMapIcons 0 
difficulty NoMinimapPath 0 
difficulty NoSpeedBar 0 
mission LOAD net/dogfight/ 4/01_DF_mount.mis BEGIN 
f gc.cmd

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

Правим confs.ini

Потом залезаем в файл confs.ini и прописываем это: [NET] speed=5000 (можно изменить на 8000 для 28-32 игроков) localPort=21000 (порт по умолчанию) SkinDownload=1 (загружать или нет скины самолетов) serverName=Only_for_Tula (название сервера)

Если нужно управлять сервером удаленно через консоль, то пишем еще и это: [Console] IP=20000 (порт через который консоль полезет на ваш комп. Протокол TCP) IPS=IP-адрес (от имени которого вы полезете управлять сервером)


Запускаем сервер

версия 1 (ранняя)

Запускаем сервер launch.bat. Появляются два окна.

Первое - emu.exe - сообщает о подключениях сервера к эмулятору UBI для проверок.
Второе - консоль сервера.
  • Запускаем FBDaemon_(sv1.5n).exe. Появляется еще одно окно. Это FBDaemon.
  • Вроде бы с сервером все.

версия 2

Усе, запускаем сервер на машине, которая смотрит в интернет файлом il2server.exe Должно выскочить "досовское" окно, в котором через какое-то время, (подчеркиваю - не сразу), должно появиться буквально следующее:

IL2 FB dedicated server v2.04 
Sound: Native library (build 1.1, target - standard) loaded. 
RTS Version 2.1 
Core Version 2.0 
1>difficulty SeparateEStart 0 
1>difficulty ComplexEManagement 0 
1>difficulty EngineOverheat 1 
1>difficulty TorqueGyroEffects 1 
1>difficulty FlutterEffect 1 
1>difficulty WindTurbulence 1 
1>difficulty StallsSpins 1 
1>difficulty Vulnerability 1 
1>difficulty BlackoutsRedouts 1 
1>difficulty RealisticGunnery 1 
1>difficulty LimitedAmmo 1 
1>difficulty LimitedFuel 1 
1>difficulty CockpitAlwaysOn 0 
1>difficulty NoOutsideViews 0 
1>difficulty HeadShake 1 
1>difficulty NoIcons 0 
1>difficulty NoPadlock 0 
1>difficulty Clouds 1 
1>difficulty NoInstantSuccess 1 
1>difficulty TakeoffLanding 1 
1>difficulty RealisticLandings 1 
1>difficulty NoMapIcons 0 
1>difficulty NoMinimapPath 0 
1>difficulty NoSpeedBar 0 
1>mission LOAD net/dogfight/ 4/01_DF_mount.mis BEGIN 
Loading mission net/dogfight/ 4/01_DF_mount.mis... 
Load bridges 
Load static objects 
Mission: net/dogfight/ 4/01_DF_mount.mis is Playing 
1>f gc.cmd 
>GC 
Memory: total(6946816) free(689344) 
>GC 
Memory: total(6946816) free(740824) 
>GC 
Memory: total(6946816) free(740408) 
>timeout 3600000 f gc.cmd 
31>

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

Тонкости

Что нужно сделать, чтобы зарегистрировать выделенный сервер в HyperLobby? Для этого нужно, всего лишь, файл выделенного сервера il2server.exe переименовать в il2fb.exe, а в HyperLobby назначить новый путь к этому переименованному экзешнику. Для этого делаем "дисконнект" в HyperLobby и удерживая клавиши Ctrl+Shift нажимаем кнопку "Connect" в HyperLobby. В этот момент прога будет готова по новой искать экзешник il2fb.exe Указываем ей новый путь, (не к игре, а к нашему выделенному серверу). Дальше создаем сервер в HyperLobby обычным образом. Только после создания сервера запустится не игра, а наш выделенный сервер, (т.е., наше "досовское" окошко).

Управление сервером через консоль

Управление сервером через консоль, (скажем из дома), можно делать через утилиту il2sconsole.exe. Для этого, как я говорил выше, нужно в файл confs.ini прописать это: [Console] IP=20000 (порт через который консоль полезет на ваш комп, протокол TCP) IPS= IP-адрес (от имени которого вы полезете управлять сервером) То есть, тем самым, мы говорим серверу, что он может управляться через консоль удаленно через указанный в инишнике IP-адрес, (внешний адрес компа с которого вы полезете на свой игровойй сервер, скажем это будет IP-адрес вашего домашнего компа, или компа из вашей локальной сети), и указанный порт, протокол TCP). С сервером все. Прописали инишник, запустили сервер и забыли про него. Идем домой. Открываем файл confс.ini (не путать, это уже не confs.ini) и в секции: [Console] IP=20000 убеждаемся, что там прописан тот же порт, что и в файле confs.ini на сервере. В нашем случае это порт "20000". Далее делаем ярлык в для файла il2sconsole.exe В свойствах ярлыка пишем параметр - IP-адрес нашего выделенного сервера, пример: "C:\Games\IL2 FB Dedicated Server\il2wconsole.exe" 212.12.11.34 Запускаем консоль. В запустившемся "досовском" окне должно быть это: IL2 remote console For end console enter 'quit' Type: Local server Name: Only_for_Tula Description: 32> Все. Можно вводить команды и управлять сервером удаленно. Список команд можно увидеть введя "знак вопроса" или слово help. Так же, в этой консоли, будет отображаться в реальном времени битва красных и синих, статистика игры и чат игроков. Правда чат игроков будет в кракозяблах. Не пугайтесь! Лог файл на самом сервере будет писаться русскими буквами. Так что, всегда можно будет прочитать ход сражения, (что я с удовольствием и делаю, если не было возможности полетать самому).

Команды консоли

А вот команды консоли, (или самого сервера), в которых я хоть что-то понял:

chat Privet vsem!!! ALL - на сервер уйдет ваше сообщение от имени сервера. Писать только латиницей.
exit - полностью остановить и выгрузить сервер
kick SlavikSG - кикнуть юзера по его имени
kick# 4 - кикнуть юзера по его порядковому номеру в игре. (Как это показывает клавиша "S")
mission LOAD net/dogfight/ 4/01_DF_mount.mis BEGIN - загрузить новую карту

С остальными командами не разбирался, а нормального русского описания нигде так и не смог найти. То же самое и с "инишниками" самого сервера. Очень скудно про это все написано, очень коротко, все по английски и мне почти ни о чем не говорит. Хоть методом "тыка" все обтыкивай. А учитывая, что игру и сервер на одном компе не запустишь, то такое "тыкание" сводится к одному сплошному гимору. Не уверен, что все там так существенно важно и нужно, но все же...

(доступны также и через удаленную консоль)

? - help <name of command> Все команды или информация о нужной команде
alias [<name> <string>] | [<name> REMOVE]
ban – запрещает подключение к серверу данного игрока / группы игроков. Запрет подключения определенного игрока автоматически отключает его от сервера (kick).
  • Формат команды:
ban [ADD] [REM] [NAME [<имя>]] [PATTERN [<маска>]] [IP [<маска ip>]] [CLEAR] [LOAD [<имя файла>]] [SAVE [<имя файла>]]
ADD – добавляет игроков, указанных в поле NAME, PATTERN, IP в «черный» список.
REM – удаляет игроков, указанных в NAME, PATTERN, IP из списка.
CLEAR – очищает список, удаляет из него все записи.
NAME [<имя>] – указывает на игрока по имени.
PATTERN [<маска>] – указывает на игрока(ов) по именам, соответствующим заданной <маске> (в <маске>: '?' представляет любой символ, '*' представляет любое количество любых символов).
IP [<маска ip>] – указывает на игрока(ов) по его(их) сетевому адресу (<маска ip>: N.N.N.N, где 'N' – либо число от 0 до 255, либо диапазон чисел (напр. 10-127), или '*' обозначающая любое число.
LOAD [<имя файла>] – считывает список из указанного файла (по умолчанию данные берутся из 'banned.txt').
SAVE [<имя файла >] – записывает список в файл (по умолчанию 'banned.txt').


channel <без параметра> (list channels) <number> [DESTROY] [SPEED ] [TIMEOUTE <sec>] [STAT <sec>]
chat <message> [ALL] [TO# <N>] [TO <name>|<*>] [ARMY <N>|<name>] [BUFSISE] [MY_ARMY]
[TO# <N>] – послать сообщение пользователю с данным номером
[TO <name>] - послать сообщение пользователю с данным именем


console [LOG [on|off]] [LOGTIME [on|off]] [LOGFILE [<file name>]]
del <name of atom>
difficulty - изменение настроек.
usage: <без параметра> (list settings)

[SeparateEStart <0|1>] Раздельный запуск двигателей
[ComplexEManagement<0|1>] Полное управление двигателем
[EngineOverheat <0|1>] Перегрев двигателя
[TorqueGyroEffects <0|1>] Вращающий момент (Гироэффект) 
[FlutterEffect <0|1>] Флаттер
[WindTurbulence <0|1>] Турбулентность
[StallsSpins <0|1>] Штопор
[Vulnerability <0|1>] Уязвимость
[BlackoutsRedouts <0|1>] Перегрузка
[RealisticGunnery <0|1>] Реалистичная стрельба 
[LimitedAmmo <0|1>] Ограниченный боезапас
[LimitedFuel <0|1>] Ограниченное топливо
[CockpitAlwaysOn <0|1>] Кабина всегда включена
[NoOutsideViews <0|1>] Внешние виды
[HeadShake <0|1>] Перемещения головы
[NoIcons <0|1>] Маркеры
[NoPadlock <0|1>] Фиксация взгляда
[Clouds <0|1>] Облака 
[NoInstantSuccess <0|1>] Выполнение задания
[TakeoffLanding <0|1>] Взлет с аэродрома
[RealisticLandings <0|1>] Реалистичная посадка
[NoMapIcons <0|1>] Маркеры на мини карте
[NoMinimapPath <0|1>] Маршрут на мини карте (GPS)
[NoSpeedBar <0|1>] Спидбар

Эта команда работает только, когда миссия остановлена.

exit - выгрузка сервера
f или file <название файла списка комманд> [BREAK]
file game1.cmd
help - помощь ( тоже что и ? )
history
host <без параметра> (list hosts) PATH (list pathes) <name> (rename local host)
kick <name> – отключить игрока от сервера
kick#<N> – отключает от сервера игрока под данным номером
maxping <msec> [DELAY <sec>] [WARNINGS <num>]
maxping 700 DELAY 30 WARNINGS 3
mission [LOAD <name>] [BEGIN] [END] [DESTROY]
mission LOAD Net/dogfight/FBM/gen.mis BEGIN
Загрузка миссии (предыдущая должна быть остановлена)
mp_dotrange
color - расстояние с которого виден цвет армии
dot - дистанция появления маркера
range - расстояние с которого отображается дистанция до самолета
type - расстояние с которого виден тип самолета
id - расстояние с которого виден бортовой номер самолета
name - расстояние с которого видно имя пилота 
mp_dotrange FOE COLOR 0.01 DOT 10 RANGE 0.01 TYPE 0.01 ID 0.2 NAME 0.01
mp_dotrange FRIENDLY COLOR 0.7 DOT 15 RANGE 0.01 TYPE 0.5 ID 0.4 NAME 0.01
param <name of command> [<name param> [<value>]]
Информация о "ключах" команд
server [NAME <name>] [DESCRIPTION <info>] [PWD <password>]
Имя сервера, описание, пароль (можно определить и через conf.ini
set <name of atom> <string>
show [<pattern of name atoms>] [AREA <name of area>]
socket <без параметра> (list protocols)
LISTENER [<0|1>] (enable/disable connect from remote hosts)
JOIN [BREAK] (show status join/break join)
<protocol> (list sockets)
<protocol> CREATE[[LOCAL]HOST <nm>] [[LOCAL]PORT <n>] [CHANNELS <n>] [SPEED <n>]
<protocol> CHANNELS <n> [SPEED <n>] [LOCAL]HOST <nm>] [[LOCAL]PORT <n>]
<protocol> SPEED <n> [CHANNELS <n>] [LOCAL]HOST <nm>] [[LOCAL]PORT <n>]
<protocol> DESTROY [LOCALHOST <nm>] LOCALPORT <n> [HOST <nm>] [PORT <n>]
<protocol> JOIN [LOCALHOST <nm>] [LOCALPORT <n>] HOST <nm> [PORT <n>] [SPEED <n>]
timeout <timeout in ms> <command name> [<params>]
tod - время
tod 10.45
user [<name>|<*>] [# <N>] [ARMY <N>|<name>] [STAT]

Запускаем клиент

1. IL2FB стоит.

2. Устанавливаем GameService. Никаких регистраций. GameService.exe -> OK -> OK -> Done. Установили и забыли.

3. Распаковываем FBLauncher.zip. Запускаем FBLauncher.exe. Вписываем путь к IL2FB.EXE, IP (192.168.0.1), Port (21000), имя (ET=Mitya), пароль (111)

4. Launch!

Ссылки в интернете

  1. Сервер вер. 1.11
  2. Сервер вер. 1.12
  3. Сервер вер. 1.21
  4. PF Dedicated Server 2.04
  5. Pf_Dedicated_Server_V2.04_Reparatur_Kit
  6. Обновление сервера с вер. 2.04 до 3.03m
  7. Обновление сервера с вер. 3.03m до 3.04m
  8. Обновление сервера с вер. 3.04m до 4.01m
  9. Обновление сервера с вер. 4.01m до 4.02m
  10. Дополнение для выделенного сервера с вер. 4.02m до 4.03m (ЗС+АВН+ПХ) (.exe, 44,4 Mb)
  11. Дополнение для выделенного сервера с вер. 4.02 до 4.03 (ПХ) (.exe, 27,5 Mb)
  12. Дополнение к серверу объединенной с версии 4.03 до 4.04 (.ехе, 24 Мб)
  13. к серверу Перл Харбор, установленного отдельно 4.04m (.ехе, 23 Мб)
  14. Обновление сервера с вер. 4.04m до 4.05m (.exe, 92 Mb)
  15. Обновление сервера с вер. 4.05m до 4.06m
  16. Обновление сервера с вер. 4.06m до 4.07m
  17. Обновление сервера с вер. 4.07m до 4.071m
  18. Обновление сервера с вер. 4.071m до 4.08m (.exe, 127 Mb)
  19. сервера с вер. 4.08m до 4.09m (395Мб)
  20. Обновление сервера с вер. 4.09m до 4.10m
  21. Ссылка 1 на EXE файл обновления сервера с вер. 4.10m до 4.101m (необходима регистрация)
альтернативный комплект (необходима регистрация)
Частью список взят отсюда (нем.)
Обсуждение Dedicated Server на форуме Sukhoi.ru
Обсуждение Dedicated Server + FBDaemon на форуме Sukhoi.ru
IL2FB & FBDaemon Guide (англ.)

Смотрите так же

Ил-2 Штурмовик: Забытые сражения. Server
Ил-2 Штурмовик: Забытые сражения. Dedicated Server Windows
Ил-2 Штурмовик: Забытые сражения. Dedicated Server Linux
Ил-2 Штурмовик: Забытые сражения. IL2 Server Commander
Ил-2 Штурмовик: Забытые сражения. FBDaemon