на главную
об игре

Diablo 2: Resurrected "Поддержка выделенных серверов PvPGN Magic Builder"

Прокси работает как слой совместимости между пакетами и командами современной клиентской версии и сервером PvPGN.

Особенности

  • Развертывание собственного выделенного сервера.
  • Игра по локальной сети с локальным сервером.
  • Настраиваемый.
  • Технически поддерживает моды.

Ограничение

  • Поддерживаемый клиент: версия продукта 1.5.73090 / версия файла 1.5.7554.0.
  • Доступен только первый акт.
  • Чат-каналы поддерживаются не полностью.

Подготовьте сервер

  • Разверните PvPGN с помощью D2GS - раздел установка
  • Скопируйте файл d2gs/Patch_D2.mpq и замените его в директории D2GS (используйте Patch_D2.mpq в качестве базы для модов).

Подготовьте клиент

  • Скопируйте bin/D2PLR.exe и bin/blizzless.ini в основную директорию клиента.
  • Установите IP-адрес и порт вашего PVPGN в файле blizzless.ini.
  • Запустите D2PLR.exe и введите логин и пароль (вы можете включить авторегистрацию в PvPGN).

Установка:

  • Загрузите Magic Builder и запустите d2gs_build.bat.
  • В окне выбора выберите предпочитаемую версию D2GS. В большинстве случаев 1.13c является выбором по умолчанию для последней рабочей стабильной версии.
    Если вам нравятся более старые версии, выберите одну из других доступных. В этой статье не рассматривается многопоточная
    установка D2GS 1.13c .

По завершении должен быть создан новый каталог «d2gs». Скопируйте этот каталог в постоянное место, где будет работать сервер D2GS.
Он должен содержать следующие файлы (D2GS не запустится без хотя бы одного файла из списка):

d2data.mpq
d2exp.mpq
d2sfx.mpq
d2speech.mpq
Патч_D2.mpq
D2Client.dll
D2CMP.dll
D2Common.dll
D2Game.dll
D2gfx.dll
D2Lang.dll
D2MCPClient.dll
D2Net.dll
D2sound.dll
D2Win.dll
Fog.dll
ijl11.dll
Storm.dll

Настройка и другие инструкции:

Спойлер

На данный момент у вас должно быть два каталога: один с d2gs, другой с сервером pvpgn.

Отредактируйте следующие конфигурационные файлы в соответствии с картинкой в ​​начале.

  1. вар/ d2cs.confRealmname = "MyRealm" (то же самое, что и в Realm.conf)
    gameservlist = dddd
    bnetdaddr = aaaa :6112
    d2gs_password = " pvpgnrocks "
  2. вар/ d2dbs.confсписок игровых серверов = dddd
  3. вар/ realm.conf«MyRealm» «Закрытое пространство PvPGN» bbbb :6113
  4. d2gs.reg"D2CSIP"=" bbbb"
    "D2DBSIP"=" cccc "
    "D2CSSerect"=" pvpgnrocks "
  5. d2server.ini;на самом деле, Warden устарел, потому что он не работает должным образом и убьет вас без всякой причины. Итак, отключите его.
    ВключитьWarden=0

аааа, bbbb, cccc, dddd — это IP-адреса ваших серверов.
Если все службы работают на одном компьютере, используйте один IP-адрес вместо многих.

При желании вы можете указать опцию «servaddrs» в bnetd.conf, d2cs.conf, d2dbs.conf, но в большинстве случаев это не обязательно. Просто оставьте значение по умолчанию, чтобы прослушивать все сетевые интерфейсы.

«AdminPassword» в d2gs.reg был обновлен Magic Builder во время установки. Используйте harpywar.pvpgn.pl для создания хеша нового пароля.
Этот пароль можно использовать для управления D2GS через соединение Telnet через порт 8888.

По соображениям безопасности вам следует изменить d2gs_password и D2CSSerect, этот пароль используется для установления связи между D2CS и D2GS.

Рассмотрим два наиболее распространенных примера установки.

D2GS + PvPGN на Windows + домашний маршрутизатор (NAT)Компьютер с внутренним IP-адресом xxxx в Windows и маршрутизатор с внешним IP-адресом yyyy .
1) Замените все aaaa, bbbb, cccc, dddd → xxxx и пробросьте порты 6112 и 4000 на маршрутизаторе на этот локальный IP.2) Дополнительно раскомментируйте две строки в адресе_translation.conf:

  • Перевод сервера персонажей Diablo II (d2cs)
    хххх:6113 гггг:6113 xxx0/24 ЛЮБОЙ
  • Перевод игрового сервера Diablo II (d2gs
    xxxx:4000 гггг:4000 НЕТ ЛЮБОГО
    Вы можете играть с друзьями с того же компьютера, где запущен сервер.
    Они должны подключиться к yyyy , а вы можете подключиться к xxxx .
  • D2GS в Windows + PvPGN в LinuxДва разных сервера: один с D2GS xxxx , а другой PvPGN/D2CS/D2DBS yyyy . Оба IP внешние и без NAT.
    Без проблем. Замените dddd → xxxx и aaaa, bbbb, cccc → yyyy.

Запустить службу

Чтобы завершить установку D2GS, вам необходимо запустить d2gs_install.bat внутри каталога d2gs. Важно запускать скрипт "от имени Администратора"!
(вместо этого вы можете вручную запустить d2gs.reg и запустить «D2GSSVC.exe -i», чтобы установить службу Windows.)

D2GS был разработан для старых платформ Windows, и служба будет бесконечно аварийно завершать работу или перезапускаться в новейших версиях Windows с увеличением размера D2SVC.LOG.
Это можно исправить, установив режим совместимости в свойствах файла D2GS.exe.

По умолчанию служба Windows работает под учетными записями «LOCAL SERVICE» или «SYSTEM». Но режим совместимости,
установленный для D2GS.exe, предназначен только для текущего пользователя, вошедшего в систему. Настройка режима совместимости для всех пользователей решает проблему.

Вы также можете установить PvPGN/D2CS/D2DBS как службу Windows, запустив каждую из них с параметром «-s install» (или удалить с помощью «-s uninstall»):

PvPGNConsole.exe -s установка
D2CSConsole.exe -s установка
D2DBSConsole.exe -s установка

D2GS можно запустить на Wine, но вы можете столкнуться с проблемой с сокетами Wine. Поэтому рекомендуется использовать Windows для D2GS.

Запуск нескольких областей D2GS

Можно добавить столько областей D2GS, сколько вам нужно, даже с разными версиями D2GS.
К сожалению, мы не можем запустить много экземпляров D2GS на одной машине, поскольку порт 4000 используется игровым клиентом Diablo II и его нельзя изменить ни на стороне клиента, ни на стороне сервера.
(но можно одновременно запускать и 1.11b + 1.13c в многопоточной версии D2GS

D2GS прослушивает все интерфейсы, и нет возможности привязать определенный IP-адрес (если на вашей машине несколько IP-адресов).
Вы можете использовать виртуальную машину или Docker для запуска нескольких экземпляров с разными IP-адресами.

Лучше запускать PvPGN и D2CS/D2DBS на одной машине, а D2GS — на многих других машинах.
В этом случае все символы будут храниться в одном месте, и такое решение проще в настройке и резервном копировании.

Для достижения этой цели вы можете скопировать/вставить столько каталогов d2cs/d2dbs, сколько вам нужно, и установить разные
номера портов для опции «servaddrs» в d2cs.conf и d2dbs.conf.

Например (0.0.0.0, 1.1.1.1, 2.2.2.2, 3.3.3.3 обозначают разные серверные машины):

0.0.0.0
ПвПГН - 6112
Д2КС1 - 6113, Д2ДБС1 - 6114
Д2КС2 - 6115, Д2ДБС2 - 6116
Д2КС3 - 6117, Д2ДБС3 - 6118

1.1.1.1
Д2ГС1 4000

2.2.2.2
Д2ГС2 4000

3.3.3.3
Д2ГС3 4000

Настройка очень похожа на единую область. Кроме того, вам необходимо добавить все ваши серверы D2GS в Realm.conf.

Изменить частоту выпадения серверов Diablo II

Все доступные настройки D2GS находятся в d2server.ini и ItemConfig.dat (его следует изучить).
Все остальные настройки, такие как частота выпадения, включая изображения, находятся в файлах MPQ игрового клиента. Это называлось моддингом игры.
Вы можете создать свой собственный мод в Patch_D2.mpq, но помните, что этот файл должен совпадать на стороне клиента и сервера. Вам следует распределить его между игроками вручную.

Диагностика проблем

Прежде всего вам необходимо просмотреть логи на наличие ошибок:

d2gs/*.log
d2gs/журнал/*
pvpgn/var/bnetd.log
pvpgn/var/d2cs.log
pvpgn/var/d2dbs.log

Одна из самых частых проблем, когда игра не может быть создана с сообщением « Ваша позиция в очереди: 1 ».
Обычно это означает, что между PvPGN/D2CS/D2GS нет связи (см. первую картинку выше). Или D2GS не запущен (см. проблему совместимости выше).
Также это может произойти, если значение «MaxGames» слишком мало в HKEY_LOCAL_MACHINE\SOFTWARE\D2Server\D2GS (вы можете изменить его в d2gs.reg, а затем запустить файл для обновления реестра).

Еще одна распространенная ошибка — « Не удалось присоединиться к игре» .
а) Это может означать блокировку UDP-трафика на стороне клиента или на стороне сервера.
б) Иногда по разным причинам файлы персонажей могут быть повреждены. Вы можете восстановить их из каталога var/bak/. Но время от времени этот каталог перезаписывается реальными файлами,
и вы можете обнаружить, что в нем также есть поврежденный символ.
Поэтому настоятельно рекомендуется выполнять резервное копирование каталогов var/charsave/ и var/charinfo/ с помощью внешнего инструмента по расписанию.

Если ваш сервер периодически выходит из строя без причины, это может быть вызвано уязвимостью, которой могут воспользоваться злоумышленники.
В этом случае журналы D2GS должны содержать следующую ошибку: D2GSErrorHandle: Произошло необработанное исключение.

Автор: blizzless

Комментарии: 8
Ваш комментарий

Кто нибудь пробовал? Работает?

1

Пробовал, работает. Нужна версия с патчем 2.6.

Спасибо ребятам за труды, что не забывают про игру.

0

А там же вроде как только первый акт доступен, разве нет? (Близзлесс об этом говорили) Или полноценный пиратский сервер для всех со всеми актами можно создать?

0

Всё так, используется опенсорсный PvPGN. Какая-то логика не дописана, в исходники залазить нет времени, работаю над сторонним модом. В целом стоит помнить, что ремастер это оболочка над оригинальным движком. Не знаю, насколько сложно переписать под D2R, но близлессам желаю удачи. Локальный сервер действительно нужен, чтобы гонять с модами — тогда и модострой шагнёт далеко вперёд. :)

0

А реально ли запилить мод на д2р чтобы немного отдалить камеру?

0

Извиняюсь за долгий ответ, редко захожу на ПГ.

Мод не запилить, камера жёстко закодирована. Но можно вручную это сделать, либо через CheatEngine, либо взять прогу на ГитХабе у ItsShiZZa под названием D2RCameraTool. Само собой такой метод не годится для игры на официальном сервере BattleNet, т.к. прямое вмешательство в процесс игры.

1