Итак! Можно немного подытожить..
Сервер запускаем на компьютере, который непосредственно подключен к интернету. Если запускать сервер на каком-то компьютере в локальной сети, который подключен к интернету, например, через NAT, то такой сервер работать будет. С этим нет проблем. Но останется вероятность того, что такой сервер не будет виден в игровом клиенте в закладке "Интернет" (как это случилось у меня).
Порядок запуска сервера у меня на данный момент такой:
1. Создаем и запускаем ярлык от Стима такого вида:
D:\Games\Steam\Steam.exe -silent -single_core -tcp -retry -login SlavikSG1 пароль
Появится черное окно с логином к Стиму. В нем ничего вводить не нужно. Просто ждем, когда Стим сам залогинится и свернется в трей.
2. Создаем и запускаем ярлык от лаунчера игры Launcher.exe:
D:\Games\Steam\steamapps\common\il-2 sturmovik cliffs of dover\Launcher.exe -server
Появится DOS окно сервера с мигающим курсором. Если сервер запускается под администратором, то возможно в окне сервера выскочит такая ошибка:
Failed to load Steam ServiceServiceStart:
failed to startServiceStart: failed to start
Не обращаем внимания на эту ошибку.
3. Создаем обычный текстовый файл с именем c.cmd и записываем в него следующее:
missLoad missions\multi\Dogfight\Proba.mis
difficulty AntropomorphControl 1
difficulty ComplexEManagement 1
difficulty TorqueGyroEffects 1
difficulty EngineTemperatureEffects 1
difficulty FlutterEffects 1
difficulty WindTurbulence 1
difficulty StallSpins 1
difficulty Vulnerabilty 1
difficulty BlackoutsRedouts 1
difficulty Realisticgunnery 1
difficulty RealisticBombing 1
difficulty LimitedAmmo 1
difficulty LimitedFuel 1
difficulty CockpitAlwaysOn 1
difficulty NoOutsideViews 0
difficulty HeadShake 1
difficulty NoIcons 0
difficulty NoPadlock 1
difficulty Clouds 1
difficulty TakeoffLanding 1
difficulty RealisticLandings 1
difficulty NoMapIcons 0
difficulty NoMinimapPath 0
difficulty NoAutopilot 1
difficulty NoReplacementPlace 0
difficulty NoReplacement 0
difficulty NoSelect 0
difficulty NoReplacementArmy 0
difficulty NoCreate 0
difficulty NoSelectArmy 0
mp_dotrange FOE COLOR 100.0 DOT 100 RANGE 100.0 TYPE 0.01 ID 100.0 NAME 100.0
mp_dotrange FRIENDLY COLOR 100.0 DOT 100 RANGE 100.0 TYPE 0.01 ID 100.0 NAME 100.0
battle start
...где миссия "Proba.mis" - это любая сетевая миссия, которую нужно переименовать так, чтобы в названии не было пробелов. Рабочим каталогом миссий для сервера является рут-директория сервера. То есть сервер видит миссии лежащие тут:
C:\Documents and Settings\СЛАВИК\Мои документы\1C SoftClub\il-2 sturmovik cliffs of dover\missions\Multi\Dogfight
4. В окне сервера даем команду:
f c.cmd
Запущенный сервер загрузит миссию, указанную в файле c.cmd и с установками сложности, так же указанными в этом файле.
5. Все! Сервер должен через несколько минут появится игровом клиенте. Если не получилось, то временно остановите фаервол. Какие именно порты в нем открывать, с этим можно будет повозиться позже. Главное увидеть, что сервак есть в "списке", что он виден в игровом клиенте, а все остальное уже потом...
6. Добавлено позже...
Обязательно, при самом первом запуске сервера нужно добавить этот сервер в "Избранное" вашего Steam-клиента. Возможно, (не проверял) это можно проделать и на том же компьютере, где запущен и сам сервер. Лично я это проделывал на удаленном компе. Добавляем сервер в Избранное. Он там появляется сразу же, как активный, жмем на него и выбираем пункт меню "Информация о сервере". Для русского интерфейса Steam вылезет несколько странно сообщение, которое будет гласить примерно следующее:
Сервер не играет ни на одном сервере! Жмем еще раз. Еще раз. Через минуту - еще раз. Как только это сообщение перестанет выскакивать, и появится окно, где действительно будут указанны данные сервера, то все, начиная с этого момента сервак сразу появится в списке в Игровом клиенте БзБ.
Почему я это заметил. Потому, что у меня динамический IP-адрес. Минимум раз в сутки, сервак останавливается, IP-адрес меняется и после запуска сервера он не появляется в "Списке". Проверял много раз. И ждал очень по долгу. Но как только заходишь в Избранное. Удаляешь оттуда старую запись о сервере, с уже неработающем IP-адресом и добавляешь новую запись, так сервак тут же появляется в "Списке". Так что, имейте в виду!.. Проделывать это нужно
Строго обязательно тем, у кого динамический IP-адрес. И возможно только один раз тем, у кого статический IP-адрес.
---------------------------------------
Теперь еще инфа...
Возможно пригодится тем, у кого слишком замороченное подключение к инету. Как у меня, к примеру. Где на компе стоит две сетевые платы. К одной из этих сетевых плат подключен АДСЛ-модем, другая сетевая карта смотрит в локальную сеть. Дык вот... У меня сервак, просто так, из выше написанного описалова, не заработал все равно. Запускался и тут же вываливался. Пришлось шаманить. А именно... Берем инишник сервера (который лежит в рут-директории сервера) и дописываем туда новую строчку, (которой лично у меня там изначально не было). Пишем такую строчку (регистр символов соблюдать):
localHost=192.168.1.5
Что она означает? Все правильно! Она, как и в сервере ИЛ-2, заставляет сервак принудительно запускаться на этом указанном IP-адресе. Естественно, в вашем случае, это будет совершенно другой адрес. Просто имейте в виду, что запуск сервера можно проделывать именно так. В итоге, начало ини файла сервера у меня выглядит сейчас так:
[NET]
serverName=SVG
serverDescription=SVG-proba
speed=8000
localPort=27016
localHost=192.168.1.5
maxPlayers=16
serverInfo1=
serverInfo2=
serverInfo3=
serverInfo4=
VAC=1
tryDirectConnect=1
Тут еще добавлю, что скорость сервера по умолчанию 100000. Эту цифру нужно уменьшить до приемлемых значений, а то с таким раскладом пяток игроков полностью потушат канал сервера.
---------------------------------------
Еще инфа... При таком способе запуске сервера (принудительная прописка IP-адреса), в окне сервера лично у меня появляется следующее сообщение:
=================================================
System.Net.Sockets.SocketException (0x80004005): Обычно разрешается одно использ ование адреса сокета (протокол/сетевой адрес/порт)
в System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) в System.Net.Sockets.Socket.Bind(EndPoint localEP)
в System.Net.Sockets.TcpListener.Start(Int32 backlog)
в L0ZBthmvKX5Xl1w0OXN.3bxXcPmkemU19ebiXR6.gVxXfFmFvxD0TIKEtal.aZsjaHymET9()
=================================================
Я не стал разбираться с природой этой инфы, а просто тупо на нее забил. Вижу, что сокет при его создании ругается на попытку повесить на него два IP-соединения. Ну, и фиг с ним! Пусть ругается дальше. Мне главное, что все пашет.
---------------------------------------
Еще инфа...
Запуск сервера с одной кнопки. В этом случае, ярлык Стима должен выглядеть так:
D:\Games\Steam\Steam.exe -silent -single_core -tcp -retry -login SlavikSG1 пароль -applaunch 63950 -server
Правда. В этом случае, вводить в сервере команду "f c.cmd" все равно придется.
---------------------------------------
Еще инфа...
У Стима есть свой античит Valve в ини сервера его можно отключить, параметр VAC=1
---------------------------------------
Еще инфа...
Поискать свой сервер можно по этой ссылке:
http://en.stats4game.com/search?subm...p=&country=all
Если он в ней находится, значит
ОБЯЗАН быть и в списке игрового клиента. Вроде так я понял для себя это дело.
P.S.
Спасибо всем, кто отвечал в этой теме! Сильно помогли. Честно!
Не пинайте меня сильно, если я где-то неправ в этом опусе.