Watchdog
*Основная статья: Сетевая игра*

Как известно, Dark Souls – игра очень капризная, особенно когда дело доходит до сетевой части. С завидной регулярностью попытка вторгнуться или быть призванным в чужой мир может увенчаться неудачей, вызванной одной (а в худшем случае и не одной) из множества возможных технических проблем.

В этой статье описана полная механика работы сетевой составляющей, а также большинство связанных с ней проблем и способов борьбы с ними для актуальной и последней PC-версии игры Dark Souls: Prepare to Die Edition.

## «Пул» игроков, «ноды» и каналы мультиплеера

Основная часть механики, от которой зависит наличие или отсутствие **любого** типа онлайна, кроме сообщений и пятен крови, вне зависимости от версии игры (о них чуть позже). Dark Souls использует P2P (англ. *Peer-to-Peer*) систему соединения, которая не подразумевает наличия отдельных игровых серверов, а потому «сервером» как бы является сам хост (игрок, призывающий в свой мир или подвергающийся вторжению). В связи с этим существует система IP-pool – группы игроков, с которыми в данный момент можно установить контакт (однако такой игрок может иметь и полого персонажа, отрезанного от онлайна, а то и вовсе находящегося в другой локации). Эти игроки в разговорной речи зовутся «нодами» (англ. *nodes*). Количество «нодов» при нормальных условиях [1] может варьироваться от 0 до 20 и набирается постепенно в течение первых 10 минут после попадания в главное меню игры; чем их больше, тем оживленнее будет онлайн. Соответственно, если по прошествии десяти минут список «нодов» по-прежнему пуст – смело перезапускайте игру. Узнать их количество можно с помощью программы

*Dark Souls PvP Watchdog*. Связанных с «нодами» и co-op'ом проблем может быть две: либо оба кооперирующихся игрока недавно зашли в игру и пока еще не попали друг к другу в «пул», либо же один из них находился в игре достаточно долго и набрал 20 «нодов», заполнив все свободные места для недавно подключившегося товарища. Первая проблема обычно решается небольшим ожиданием, вторая - обнулением заполнившегося «пула» посредством или полного перезапуска игры, или определенных махинаций

. Играющие могут понять, что находятся друг у друга в «пуле», если у костра они видят фантомов друг друга.

[2]- ↑ С помощью вочдога же, начиная с версии 1.15.0, можно увеличить размер «пула» до его максимума - 32 «нодов», однако это чревато возможными багами, поэтому не рекомендуется к использованию - двадцати для оживленного онлайна вполне достаточно.
- ↑ Очистить «айпи-пул» также можно через выход в меню и запуск другого персонажа. «Ноды» начнут постепенно обновляться под этого персонажа, вытесняя старые; таким образом, можно, подождав некоторое время, переключаться обратно к первому персонажу и ждать очередного заполнения «пула» на нем. Для верности метода можно попробовать вторгнуться на сменном персонаже. Однако, как вы могли заметить, этот способ не эргономичен по времени и потому также не рекомендуется к использованию.

Однако на этом тонкости мультиплеера не закачиваются. Кроме системы «айпи-пула» существует и более глобальная система разделения мультиплеера на т.н. мультиплеерные каналы.

Всего существует 16 таких каналов (условно пронумерованных от 0 до 15). При каждом входе в игру вас автоматически подключает к общему, 7-му каналу, на котором у вас и будут набираться «ноды». Эти каналы не связаны между собой, поэтому игрок, подключенный к отличному от седьмого каналу, будет отрезан от общей массы игроков, зато вполне успешно сможет устанавливать соединение с игроками из своего канала.
Данная особенность мультиплеера нашла крайне полезное практическое применение в виде программы *Dark Souls Connectivity Mod*.

## Версия игры

Второй важный аспект сетевой составляющей Dark Souls - установленная версия игры. Начиная с 15 декабря 2014 года (переезд Dark Souls с платформы Games For Windows Live на Steam) на данный момент существует три версии игры: «ванилла», «бета» и версия с GFWL.

- Первая - основная и последняя версия игры, которая устанавливается автоматически; большинство игроков сейчас играет на ней.
- Вторая - опциональная версия игры, созданная для трансфера сохранений и достижений из GFWL в Steam и не удаленная оттуда; активируется после установки игры через настройки в библиотеке Steam, в разделе "Бета-версии" (после чего в библиотеке рядом с названием игры появится приписка
**[-dsptde-2.0-]**- отличительный символ «беты»). Несмотря на ее морально устаревшую роль, до сих пор пользуется популярностью у игроков, а потому активный онлайн там также присутствует. Для перехода между «ваниллой» и «бетой» не нужно переустанавливать игру - Steam сам докачает небольшой необходимый файл. - Последняя версия существует лишь у тех единиц пользователей, которые не переустанавливали игру с момента переезда, а потому, если у вас все еще установлена такая версия, настоятельно рекомендуется перейти на одну из более свежих.

Установленная у вас версия определяет, с кем вы будете играть, поскольку эти **версии не связаны между собой**. Таким образом, игрок с одной версией не может призваться/вторгнуться к игроку с любой другой. Поэтому, если вы планируете играть в co-op'е, убедитесь, что вы используете одну и ту же версию игры.

## Dark Souls Connectivity Mod

*DS Connectivity Mod* (DSCM) - пользовательская модификация, позволяющая быстро набирать «ноды» в "пул": достаточно лишь 5-15 секунд, чтобы попасть друг к другу в «пул».

Ранее, в программе можно было выбирать каналы для подключения. В последней версии 2.1. функция выбора канала упразднена, однако появилась возможность установить подключение к конкретному игроку, вписав его Steam ID (который тоже определяется в меню программы) в окно, в верхнем правом углу.

Таким образом, программа делает соединение между конкретными людьми более стабильным и практически моментальным.

### Использование

Найти последнюю версию программы можно здесь.

- Распаковать архив в любое удобное место.
- Запустить Dark Souls;
- Запустить DSCM (программа автоматически найдет процесс игры);
- Опция "Node drawing" позволяет видеть "карту нодов" в окне с игрой. С ее помощью можно определить количество «нодов» в «пуле», оценить качество их интернет-соединения, а также расстояние до них: чем ближе к вам игрок, тем ближе его ячейка к центру окружности (вам). В данный момент чтобы открыть/скрыть карту необходимо нажать Ctrl+1.


Функционал

- Определяет приоритетность соединения с игроками, основываясь на уровне персонажей, их местоположении и причастности к ковенантам.
- При включённой программе вас больше не будет выбрасывать из игры по причине падения FPS.

- В программе можно задать желаемое количество "нодов". Минимальный порог - 10 "нодов".

- DSCM не работает с бета-версией игры. Для использования необходимо перейти на обычную версию.
- Карта «нодов» имеет 32 свободные ячейки, а значит не будет конфликтовать с расширенным через DSPW «пулом».
- Включать программу придётся при каждом запуске игры.
- Если скрыть внутриигровой интерфейс (клавиша Ctrl по умолчанию), открытая карта «нодов» также скроется (однако линии от ячеек до центра останутся).

С полным списком можно ознакомиться или по ссылке выше, или в самой программе, в графе Help.

## Dark Souls PvP Watchdog

*DS PvP Watchdog* (DSPW, в народе - "вочдог") — созданный фанатами и единственный для Dark Souls античит, который, в первую очередь, позволяет вычислять и выгонять из вашего мира читеров, а также обладает целым рядом других функций, как то: звуковое оповещение при вторжении, мгновенное снятие таймера между вторжениями (эффект Засушенного пальца), отображение заполненности «айпи-пула» и даже функция часов.

Прочитать подробнее о программе, ознакомиться со списком обновлений, а также скачать ее можно здесь.

Для установки достаточно переместить содержимое архива в папку с игрой, по умолчанию это C:\Program Files (x86)\Steam\SteamApps\common\Dark Souls Prepare to Die Edition\DATA. После запуска игры в углу слева появится информационная строка (если вы играете не в полноэкранном режиме, а в окне, то строка может двоится).

В процессе вторжения, когда у вас установилось соединение с другими игроками, под строкой появятся их имена из Steam. Если имя красное, то это читер, если белое, то "вочдог" считает его честным игроком. Однако, если при вторжении к вам, вторгшийся игрок не пользуется читами в этот момент, то имя будет выделено белым, и только если в процессе игры он к ним прибегнет, то имя окрасится в красный. В этот момент с ним можно будет разорвать соединение.

### Настройки и горячие клавиши

Доступны следующие команды: __F1__ - оборвать связь со всеми читерами, __F5__ - текущие читеры будут проигнорированы "вочдогом" и занесены в белый список, __F9__ - скрыть/показать информационную строку, __F10__ - показать/скрыть окно "О программе".

Настройки программы хранятся в файле DSPWSteam.ini. Если вы новичок, то для комфортной игры ничего менять не нужно. Можно порекомендовать только убрать дополнительный общий звук вторжения (заменить *true* на *false* в строке *InvasionSoundNotification true*), за дополнительный звук вторжения только читера отвечает строка *CheaterSoundNotification true*.

## Прочее

К сожалению, даже решение первых двух вопросов не гарантирует вам стабильный онлайн. Есть также множество моментов, зачастую не зависящих от игроков. Например, лаги - различные сбои и ошибки. Лагать может как сама игра, так и, например, сервер Steam, который вы используете для загрузки данных. В первом случае это выражается, как правило, в невозможности призыва/вторжения (выскакивает сообщение об ошибке) или невозможности увидеть знак игрока из «пула», а в случае с сервером - в высоком пинге (времени отклика сервера) со всеми вытекающими. Если с первой проблемой можно лишь смириться и ждать удачной попытки соединения, то вторую можно решить, сменив регион загрузки в Steam (делается это через меню "Настройки" -> "Загрузки"). С этими регионами связана еще одна неоднозначная вещь - блокировка региона (англ. *Region Lock*, "привязка к региону"). Это ограничение мультиплеера в Dark Souls, существовавшее с момента "переезда" игры (15.12.2014) по 20 января 2015 года. Заключалось оно в том, что игроки могли устанавливать соединение лишь с теми, у кого был выбран тот же регион загрузки.

Технически, на данный момент блокировки региона больше не существует и игроки с разными регионами могут создавать совместные сессии, однако выбранный регион по-прежнему оказывает влияние на подбор «нодов»: игроки с тем же регионом считаются более приоритетными для подбора. Поэтому при игре в кооперативе рекомендуется выставить одинаковый регион загрузки - для верности. Для PvP же рекомендуется выставлять наиболее популярные регионы, например, "Luxembourg", "LAN Event (Europe)" или "LAN Event (USA)", однако последний вариант может сказаться на вашем пинге.

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

## Общие правила

Напоследок, не забывайте соблюдать обязательные внутриигровые условия для успешного мультиплеера, указанные в основной статье: человеческая форма, живой (в случае с боссом Руин Нового Лондо - еще и доступный для сражения) босс локации и допустимая разница уровней.

Кроме того, если вы пытаетесь призваться с помощью одного из мелков, помните, что ваш знак в другом мире может проявляться и через достаточно продолжительный промежуток времени (вплоть до нескольких минут).