Для создания сервера нужно:
- Развернутый комплект игры версии 1,96 (можно скопировать действующую игру, а не устанавливать заново на сервере).
- Файл выделенного сервера:
Файл(ы) запуска выделенного сервера нужно скопировать в корневую директорию игры.
Сервер конфигурируется 3 файлами:
- Flashpoint.cfg глобальные установки, производительность, размер памяти и т.д.
- UserInfo.cfg режимы и игровые настройки самого сервера ОФП и т.д.
- Sample.cfg или server.cfg пароли, список карт, название сервера и т.д.
В значении параметров, применяемые в конфигурационных файлах, при пунктуации символы < и > опустить.
Flashpoint.cfg
Что из себя он представляет - приведу пример файла, предоставленного BIS. Ваши значения параметров в этом файле могут отличаться, так как данный файл является по сути ini-файлом, создаваемым с помощью программы преднастройки (FlashpointPreferences.exe), выполняемой при первом запуске ОФП обязательно и далее по необходимости.
Light_Explo="1";
Cloudlets="1";
Cockpit_Textures="64";
Limit_LOD="0.019";
CPU_Benchmark="1145";
3D_Performance="1145";
Frame_Rate_Pref="500";
VehShadows="1";
File_Heap="8";
Object_Textures="2048";
HW_Type="Direct3D";
MaxObjects="256";
Shadows="0";
Language="English";
Quality_Pref="500";
Resolution_W="1024";
Adapter="0";
Texture_Heap="8";
Resolution_Bpp="32";
Resolution_H="768";
Reflections="1";
MaxLights="12";
Sky="1";
Animated_Textures="128";
Light_Missile="1";
Landscape_Textures="2048";
Textures_Drop_Down="4";
Shadows_LOD="0.050";
LOD="7.500";
Total_Memory="128 MB";
Light_Static="1";
Это базовые параметры для запуска игры. На самом деле большинство из них (как то: разрешение экрана, регулирование теней, установки языка и т.п.) имеют значение только для клиентской версии ОФП, сервер просто не считывает их, но очень рекомендуется здесь ничего не трогать.
Единственный важный тут параметр, это
- Total_Memory="128 MB";
Соответственно, если объем памяти у вас больше указанного, внесите исправления в соответствии с действительным количеством. Если вам все-таки захотелось более точных параметров, то рекомендуется на сервере, перед запуском, осуществить конфигурацию с помощью FlashpointPreferences.exe. Именно этот .ехе отвечает за конфигурирование файла Flashpoint.cfg. В этом случае все настройки можно отредактировать адекватно именно тому компьютеру, который планируется использовать как сервер ОФП. Дополнительно к базовым параметрам существует возможность тюнинговой настройки, в основном связанной с настройкой сервера в соответствии с имеющимся подключением к интернет.
- MaxMsgSend=<limit>; - максимальное число сообщений, которые могут быть переданы за 1 цикл. Увеличение может уменьшить лаг, но только на сервере с большим аплоадом. По умолчанию: 128.
- MaxSizeGuaranteed=<limit>; - максимальный размер гарантированного пакета в байтах, без заголовка. Маленькие сообщения в пакете увеличивают скорость сервера. Используются для не повторения события убийства. По умолчанию: 512.
- MaxSizeNonguaranteed =<limit>; - максимальный размер негарантированного пакета в байтах, без заголовка. Используются для передачи информации о местоположении солдат и техники. Увеличение параметра потребует от сервера увеличения занимаемой ширины канала (bandwidth), и может вызвать лаг. По умолчанию: 256. Если его уменьшить то можно добиться маленького аплоада с сервера, но при этом будет наблюдаться эффект телепортации.
- MinBandwidth =<bottom_limit>; - гарантированная минимальная ширина канала сервера в бит/сек. Этот параметр помогает серверу определить доступную ширину канала. Слишком оптимистичное (большое) значение увеличит лаг и нагрузку на процессор, за счет того, что будет передаваться большое количество пакетов, которые при определенной узости канала буду просто теряться и потребуют повторной отправки. По умолчанию: 131072 (128 kbps).
- MaxBandwidth=<top_limit>; - максимально допустимая ширина канала в бит/сек. Не столь критичен, как MinBandwidth.
BIS приводят пример для сервера с каналом в 1Мbps (1024kbps) установить:
MaxMsgSend = 256;
MinBandwidth = 768000;
В любом случае, если вы не очень разбираетесь в тонкостях сетевой передачи данных или не знаете конкретно, что вы хотите получить от сервера, лучше эти параметры не редактировать, а остаться на дефолтных.
Неправильная конфигурация может привести, как уже отмечено, к эффектам телепортации, или, допустим, в ДМ, у вас будет великолепная скорость и четкость, а на ЦИХ, где большое количество техники и юнитов, могут возникнуть лаги и десинх между сервером и клиентом.
Для мониторинга именно этих параметров существует специальная команда. Для этого вам необходимо зайти на сервер, и, в качестве админа, прописать в чате:
#monitor ** где ** - количество секунд, через которые сервер будет выдавать статистику. Вам будет предоставлена следующая информация:
- Количество используемой памяти;
- ФПС сервера, аплоад и даунлоад сервера.
Как правило, сервер считается правильно настроенным и вообще годным для ОФП, если его ФПС не падает ниже 30. Но по опыту можно сказать, что есть сервера, которые при игре 10 на 10 выдают 5-10 ФПС, в принципе и так играбельно, но лагает и появляется десинх (разница по времени между моментом отправки сервером данных клиенту и фактическим моментом получения этих данных).
Отключить вывод этих сообщений можно командой #monitor 0. Кроме этих, существует еще один дополнительный параметр, широко применяющийся при настройке сервера:
- MaxCustomFileSize=<*****>;
где ***** - максимальный размер кустомных файлов (лицо и звуки), с которыми игрок может зайти на сервер, в байтах; Этот параметр ограничивает доступ на сервер игроков, с размером кустомных файлов выше установленного ограничения, для понижения размера трафика, потребляемого каждым клиентом для закачки этих файлов к себе. UserInfo.cfg
Этот файл находиться в папке по пути ....Usersnameplayer, где nameplayer тот ник, который будут видеть игроки, кикнутые с сервера. По умолчанию, при первом запуске игры, берется имя пользователя компьютера. Т.е. если ваш пользователь ВАСЯ ПУПКИН, то и папка будет с его именем. А также все кто будет выброшен с сервера, будут знать, что выбросил их ВАСЯ ПУПКИН. Поэтому, так сказать для красоты и объективности, рекомендую переименовать вашу папку, к примеру, в Administrator.
В файле UserInfo.cfg, скопированном из развернутой версии ОФП, тоже много параметров, не оказывающих влияния на настройку сервера, приведу лишь самые важные:
- viewDistance=<дальность видимости в метрах>;
- на МР влияет в малой степени, так как он ограничивает видимость в игре, но, как правило, в каждой сетевой карте параметр видимости устанавливается отдельно. Теперь глобальные переменные, где первая цифра соответствует уровню сложности кадет, вторая ветеран (0 - нет, 1 - да) как пример здесь приведены типичные настройки сервера:
- diffArmor[]={1,0}; - усиленная броня;
- diffFriendlyTag[]={1,0}; - дружеский целеуказатель (скобки зеленные);
- diffEnemyTag[]={0,0}; - вражеский целеуказатель (скобки красные);
- diffHUD[]={1,0}; - дисплей нашлемного целеуказания;
- diffAutoSpot[]={1,0}; - автоотчет;
- diffMap[]={1,0}; - внешняя информационная карта (посредством значков дает представление о собственном расположении и замеченных объектов на карте);
- diffWeaponCursor[]={1,1}; - прицельный маркер;
- diffAutoGuideAT[]={1,0}; - захват цели ракетами AT ручными;
- diffClockIndicator[]={1,1}; - индикатор времени часы;
- diff3rdPersonView[]={1,0}; - вид от третьего лица;
- diffTracers[]={1,1}; - видимость трассеров;
- diffUltraAI[]={0,0}; - суперинтеллект АИ;
Если вручную редактировать не хочется, можете зайти в игру на локальном компьютере, в опции>сложность и отконфигурируйте игру стандартными средствами с теми настройками, которые хотелось бы иметь на вашем сервере. После этого выйдите из игры и скопируйте свой UserInfo.cfg в соответствующую директорию сервера. Sample.cfg
Как правило, этот конфиг можно назвать как угодно. Существует практика называть его server.cfg. Единственное, в случае использования bat-файла для выделенного сервера строку -config=sample.cfg необходимо заменить на -config=server.cfg.
Вообще можно обойтись и без отдельной программы выделенного сервера. Просто создайте иконку для FLASHPOINTRESISTANCE.EXE и пропишите в строке запуска следующее - FLASHPOINTRESISTANCE.EXE -server -config=sample.cfg. И ваш ехе загрузиться в режиме выделенного сервера, с конфигом, указанным в sample.cfg.
- password = <session_password>; - пароль на вход сервера, если не требуется, опускаем;
- passwordAdmin = <admin_password>; - пароль администратора;
- hostname = "<user friendly host name>"; - название вашего сервера;
- motd[]=
{ "<1st MOTD line>",
"<2nd MOTD line>",
&&&&,
"<Last MOTD line>" };
- приветственная надпись, при входе на сервер выдающаяся для каждого игрока - может быть несколько строк, соблюдайте пунктуацию; - motdInterval=<interval_in_sec>; - интервал в секундах при показе строк приветственных сообщений по линии motd[];
- voteThreshold=<threshold>; пропорция проголосовавших игроков за одну и ту же кандидатуру при голосовании за админа (по отношению к общему числу игроков на сервере) - от 0 до 1. Оптимально - 0.3. При параметре выше единицы (например 1.1) голосование запрещено;
- reportingIP="<id_address>"; - IP адрес для передачи состояния сервера. Использование "" отключает. По умолчанию: "master.gamespy.com" для отображения сервера в системе All Seeing Eye;
- voteMissionPlayers=<number>; - количество игроков, находящихся на сервере - для автоматического старта диалога выбора миссии (при игре без админа). По умолчанию: 1. Оптимально 4; Количество голосов, поданных за одну и ту же миссию, для ее активирования в качестве текущей, возможно, регулируется параметром voteThreshold (по отношению к общему числу игроков на сервере)
Назначение миссий для автостарта - здесь прописываются миссии, которые будут крутиться на сервере автоматом, циклично (можно опустить, при этом заходящий на пустой сервер игрок будет видеть Wait for server на черном фоне):
class Missions
{
class Mission01
{ template = <mission_name>; //имя файла миссии (без расширения pbo) миссия должна размещаться в каталоге MPMissions.
cadetMode = 0; //0 = сложность ветеран, 1 = сложность кадет.
param1 = 1800; //выбрать параметр в соответствии с файлом description.ext в комплекте миссии. Как правило время игры.
param2 = 10000; // выбрать параметр в соответствии с файлом description.ext в комплекте миссии. Как правило количество очков одной из сторон до завершения миссии. }; class Mission02
{ template = <mission_name>; //имя файла миссии (без расширения pbo) миссия должна размещаться в каталоге MPMissions.
cadetMode = 0; //0 = сложность ветеран, 1 = сложность кадет.
param1 = 1800; //выбрать параметр в соответствии с файлом description.ext в комплекте миссии. Как правило время игры.
param2 = 10000; // выбрать параметр в соответствии с файлом description.ext в комплекте миссии. Как правило количество очков одной из сторон до завершения миссии. }; И так далее. Количество миссий неограниченно. };
Проверка файлов (файлчекер):
checkfiles[]=
{
"resbinconfig.bin",
"resbinresource.bin"
}; проверка файлов при входе не сервер, могут быть любые, главное указать правильно путь. Обратной стороной медали является то, что если сервер не очень мощный, то при игре на нем и одновременном заходе на сервер игроков, могут возникнуть существенные тормоза, из-за отвлечения ресурсов сервера на проверку файлов пришедших. Поэтому к количеству проверяемых файлов подходите взвешено. Дополнительные параметры.
- KickDuplicate = "false"; - обязательная команда, начиная с версии 1.92. Регулирует реакцию сервера на одновременное присутствие игроков с одинаковым ID; false или 0 разрешить одинаковые ID, true или 1 запретить (каждый вошедший на сервер с ID, совпадающим с ID игрока на сервере будет отсоединен автоматически).
Поэтому, если в вашей сети народ использует один ID, нужно прописать эту строку обязательно! В противном случае игрок будет выбрасываться с сервера. ЗАПОМНИТЕ - никакого FADE (кроме самого сообщения fade) при этом не будет, это миф. - MaxPlayers=20; - ограничивает максимальную емкость сервера - при необходимости ограничить максимальное число игроков, одновременно находящихся на сервере (например при слабом сервере или его канале).
- equalModRequired=1; - регулирует вход на сервер игроков, использующих в ярлыке запуска возможность подгрузки аддонов из отличного от оригинального размещения (1 запрещает, 0 разрешает) например: -mod=@ECL.
Пример для работающего сервера файла sample.cfg
Знаки // перед каждой строкой это указание серверу игнорировать параметр в этой строке. Таким образом, можно не удалять строку в случае необходимости проигнорировать параметр, а просто приписать перед ней (строкой) //. Также // используются для маркировки пояснения к параметрам непосредственно в конфигурационном файле. HostName="OFP Server";
reportingIP="master.gamespy.com";
password="";
passwordAdmin="123";
MaxPlayers=30;
KickDuplicate=0;
equalModRequired=0;
voteThreshold=0.33;
voteMissionPlayers=4;
motd[]=
{
"Добро пожаловать/Welcome на сервер OFP Server",
"Custom Files = 12 Kb",
"Наезд на админа - БАН - 100%! Без пересмотра", };
motdInterval=2;
checkfiles[]=
{
"resbinconfig.bin",
"resbinresource.bin"
};
class Missions
{
class Mission01
{ template = dm_island.noe;
cadetMode = 0;
param1 = 1800;
param2 = 10000; }; class Mission02
{ template = ctf 34 ecl cqb lamentin v1.0.eden;
cadetMode = 0;
param1 = 1;
param2 = 1; }; };
Если есть кого банить, в корневом каталоге игры/сервера создайте файл ban.txt и просто впишите туда необходимый ID (каждый следующий с новой строки), больше он на сервер под этим ID не попадет.
Наиболее востребованные ключи запуска:
- -config=<имя_файла> - имя файла загружаемой конфигурации.
- -port=<номер_порта> - номер порта, под который запустится сервер (если необходимо запустить сервер под нестандартным портом (стандарт 2302))
- -logfiles=<имя_файла> - имя файла для записи стандартного лога сервера (ники и ID игроков, время их подсоединения к серверу, список модифицированных файлов (если есть), название и время старта карт и т.д.)
- -netlog=<имя_файла> - имя файла для записи расширенного лога сервера (перечисленное в предыдущем пункте + протокол сетевых подключений (в том числе IP игроков))
Полезные советы.
- Серверы ОФП имеют свойство сильно засорять память, если сервер используется активно, поэтому не забывайте его периодически перегружать, особенно это касается слабых машин.
- Серверы под ЛИНУХом не понимают прописных букв в названии файлов, поэтому для работы сервера необходимо поменять вручную или с помощью скриптов все буквы в названии файлов игры в строчные и следить за тем, чтобы заливаемые на сервер карты тоже состояли только из строчных букв.
- Обсуждение автоподъема сервера (на английском языке)
Удачной игры.
Автор обзора [TSC] Specar.
Прислал Seaman.
ктонибуть вообще может обьяснить как подключится к сетке .
SAMP 77.220.180.232:7777 Есть свободные лидерки,даем 1кк!!!
Я что-то упускаю или только меня смущает фраза: "Развернутый комплект игры версии 1,96", в то время как на данный момент существует патч игры "Operation Flashpoint 2: Dragon Rising" только до версии 1.03? Так для какой игры тут блог?