Запуск кооператива
Просто небольшая инструкция о том, как запустить кооперативный (мультиплеерный) режим в игре Doom.
В Интернете есть большое количество сборок игры, как чистых, так и с модификациями. Теоретически, способ подходит для всех версий, работающих на Zandronum, Vavoom, Odamex или Chocolate Doom, однако аффтаром тестировались только оригинальная версия игры и модификация Brutal Doom (и то, и то тестировалось на Zandronum).
Учтите, что здесь описывается версия игры, основанная на GZDoom (форк проекта ZDoom).
Отдельное спасибо VAMP'у за помощь в тестировании и Engeri за помощь в трактовании некоторых терминов.
Любые поправки, дополнения и советы в комментариях приветствуются.
Первый пункт плана: составить план
Для начала нам требуется начало. То есть игра. Так что вприпрыжку бежим на просторы Всемирной Сети искать нужную нам версию Doom'а. Обычно, они идут уже с нужными WAD'ами сброниками уровней. Для тех, у кого этих сборников нет, добро пожаловать сюда, здесь вы сможете скачать четыре самых популярных сборника:
- Doom (The Ultimate Doom)
- Doom 2 (Doom II: Hell on Earth)
- TNT (Final Doom: TNT Evilution)
- Plutonia (Final Doom: The Plutonia Experiment)
P.S.: А так же там вы найдете карты первой части игры, загруженные пользователем AlexLAN, за что ему отдельное спасибо.
Отлично, надеюсь вы справились и теперь у вас есть рабочая версия игры, с которой вы любезно поделились с другом (иначе никак, версии клиентов должны совпадать обязательно).
Второй пункт плана: выполнить первый пункт
Теперь самое важное (не считая игры, конечно): нам нужен BFG сервер. Самый оптимальный вариант программа Doomseeker. У нее достаточно простой интерфейс и присутствуют все нужные функции. Условия те же, что и для игры:
- Найти и скачать (это официальный сайт проекта)
- Удостовериться, что друг скачает ту же версию
Пункт 2.1: только для тех, у кого динамический ip
Вам для игры понадобится vpn-клиент программа, позволяющая не обращать внимание на все недостатки динамических ip, брэндмауэров и прочего. Самые распространенные это:
- Hamachi
- Tunngle
- Evolve (Рекомендуется, так как куда проще в освоении, не имеет ограничений на слоты и содержит меньше багов)
Я думаю, вы прекрасно справитесь с созданием сети\комнаты.
Третий пункт плана: осознать, что половина плана выполнена
Маленькое отступление: я понятия не имел, о чем я говорю. Это самое сложное. ТТ_ТТ
Ну, мы сделали практически все, что только нужно. Осталось немного поставить сервер.
В принципе, тут все должно быть просто:
Запускаем Doomseeker и жмем «File». Там выбираем пункт «Create Game»
В открывшемся окне ищем строку «Engine» и там выбираем движок, на котором вы собрались играть. В строке «Executable» пишем путь до этого движка. Обычно это файл *.exe (вместо * будет название движка, например «zandronum.exe»)
Дальше опускаем взгляд до строки «Game mode». Там выбираем нужный режим игры, ничего сложного (если вы хотите поиграть на какой-то определенной карте в wad'е, вам нужно будет написать ее название в строке «Map». Если строка будет пуста, то игра начнется с первой карты в wad'е)
Дальше идут строки «IWAD» и «Additional WADs and files (check required)». В первой нужно указать путь к wad'у, в который вы хотите играть. ВНИМАНИЕ! Указывайте путь до wad'а с уровнями, и только до него! Вы не сможете подключиться к игре, если укажите путь к *.pk3 файлу мода. Во второй строке нужно будет указать пути к дополнительным файлам (модам и прочим радостям). Для этого жмем «Add» и выбираем нужные файлы. После этого достаточно выставить на этих файлах галочки (если не выставлены)
Вкладку «Misc.» можете смело пропускать, ничего важного там нет. Так что переходим ко вкладке «Flags». Здесь вы можете настроить всякие примочки и дополнительные опции.
Например в окошечке «Enviroment» можно настроить окружение. «Falling damage» отвечает за урон от падения (вот никогда бы не догадались, да?). Сразу же под ней есть строка «No monsters» («Без монстров», всегда ваш, Кэп). И сразу же три строки, которые отвечают за респавн вещей, бочек и мега-поверапов («items respawn», «barrels respawn», «mega powerups respawn» соответственно).
Справа есть окошечко «Teams», где есть настройки команд (Кэп снова с вами). Не буду переписывать все названия на английском, просто перечислю функции сверху вниз. Первой идет функция, которая позволяет серверу самому раскидывать игроков по командам. Сразу же за ней запрещающая игрокам переходить из одной команды в другую. И следом закрепляющая команды после смены карты. Четвертая функция скрывает coюзников в automap (аффтар нуб и чайник, так что не спрашивайте что это и зачем это нужно). Ну и рядом функция, запрещающая игрокам шпионить за союзниками. И загадочная функция «Instant flag/skull return». Переводчик заявил, что это «Мгновенно-возвратного флаг/череп», так что будем надеяться что эта функция не поделит Вселенную на ноль.
Еще есть функция, отключающая медальки (так и называется «No medals»). И еще две функции, угрожающие уничтожению этой (и, возможно, другой) реальности «No unlagged» и «Always apply LMS spectator setting». Это были настройки вкладки «General».
Вкладка «Players» просто фонтанирует всякими галочками и буковками, так что перечислю только самое основное. Например, в окошке «Disallow» можно запретить суицид, респавн, rocket jump, насмешки (зачем без понятия) и кучу других настроечек.
Настройки «Abilities» позволят игрокам прыгать, красться, обеспечат бесконечным инвентарем, патронами. Там же можно включить медленную потерю здоровья при оверхилле (когда ваше здоровье выше 100%) и т.д.
Окошко «Behavior» позволит настроить поведение персонажей при сталкивании друг с другом. Есть три варианта: «Игроки могут проходить через других», «Союзники могут проходить через других» и «Игроки обычно блокируют друг друга». По умолчанию включен третий вариант.
Ниже всего этого добра есть таймер выброса неактивных игроков в спектаторы.
Во вкладке «Cooperative» так же большое количество настроек. Например можно отключить спавн оружия из дезматча. А еще можно настроить монстров, чтобы они стали быстрее, постоянно респавнились (фуфуфу, третий уровень Doom'а не смогли из-за этого пройти) и прочие настройки.
В принципе, их название говорит само за себя (Кэп ушел).
Справа, кстати, можно потыкать галочки условия «если игрок умер…», они настраивают такие интересные штуки, как потерю инвентаря, возрождение на месте смерти, потерю ключей и т.д.
После всего этого добра есть галочка «Share keys between players», которая заставляет делиться найденными ключами с другими игроками.
Вкладка «Deathmatch» выглядит немного беднее по количеству опций, но их по-прежнему достаточно. Почти все так же выглядят как условия.
Вот условие «When players die, they…» («Если игроки умерли, то», Кэп вернулся). В нем можно включить автоматический спавн после смерти игрока («respawn automatically»), заставить игру спавнить игроков далеко друг от друга («respawn farthest away from others»), раздать новорожденным по дробовику («respawn with a shotgun»), включить дроп оружия с игроков («drop their weapon»), потерять свои очки («lose a frag»), отключить защиту после спавна («don't get respawn protection»).
Рядом можно выбрать, что будет делать игра, если когда кто-то нажмет кнопку «выход» («when someone exits the level»). Можно, например, убить его. Или поменять/перезапустить уровень. «Don't spawn…» отвечает за отмену спавна определенных предметов, а именно: аптечек, брони и рун.
В принципе, остальное можно пропустить, так что переходим сразу ко вкладке «Voiting». Если вы хотите сделать сервер на достаточно большое количество человек, то здесь можно настроить голосование.
Ну и последняя вкладка окна настроек «Custom parameters». Она нужна для установки всяких дополнительных параметров, которые в сингле писались бы в консоль, и прочего добра.
P.S.: На самом деле, большинство настроек вы можете смело пропускать, так как программа сделана людьми для людей. Ничего особо страшного не произойдет, Вселенная на ноль не поделится (наверное).
Если что, для экспериментаторов есть кнопочка «Play offline», которая позволит быстренько самому протестить сервер, не запуская его для остальных.
После этого жмем кнопку «Start server» и любуемся бегущими строками, которые должны завершиться названием карты и строкой «compatflags changed to: 0»
Управлять сервером вы можете из этого окна. При изменении некоторых настроек, вам предложат перезапустить карту, дабы изменения пришли в силу.
Четвертый пункт плана: отдохнуть от проделанной работы
Ну, вот и все. Теперь осталось только раздать вашим друзьям ваш IP-адрес и ждать подключений.
Чтобы зайти на сервер, нужно всего лишь:
Открыть игру.
Учтите, если вы запустили сервер с какими-то модами, игроки должны заходить с этими же модами, версии клиентов и сервера должны совпадать!
Перейти в меню настроек (строка «Option»)
Перейти оттуда в режим консоли (строка «Go to console»)
Там написать волшебные слова «connect *IP_адрес*» (без кавычек, вместо *IP_адрес* нужно вставить адрес, к которому нужно подключиться)
P.S.: Если что, хост может сам подключиться через внешний ip, дабы проверить, подключается ли оно вообще.
Нажать «Enter».
После появления на карте в виде приведения с моторчиком, вам нужно нажать кнопку «Пробел», а потом выбрать пункт «Join game».