Вопросы по сборке сервера и созданию патча для Interlude клиента

zheult

Путник
Пользователь
Сообщения
21
Розыгрыши
0
Репутация
0
Реакции
2
Баллы
75
Хроники
  1. Interlude
Исходники
Присутствуют
Сборка
L2J Mobius
Здравствуйте! Нужна помощь по нескольким вопросам, связанным с настройкой сервера L2J и созданием патча клиента (Interlude).

1. Серверная сборка:
Планирую запуск сервера Interlude на базе L2J Mobius. Количество онлайн игроков ожидается от 500 до 1000.
Подскажите, пожалуйста:
  • Какую аппаратную конфигурацию (процессор, оперативная память, диск) лучше использовать для стабильной работы?
  • Какая минимально рекомендуемая пропускная способность интернета (входящая/исходящая)?

2. Создание патча:
Мне нужно просто сделать патч, чтобы клиент подключался к серверу (без модификации игровых данных).
  • Что подразумевается под "подготовкой патча"? Достаточно ли изменить l2.ini?
  • Обязательно ли перешифровывать все .dat файлы, если я меняю только хост?
  • Можно ли создать рабочий патч на базе чистого Interlude клиента (без модифицированных .dat)?

3. GameGuard:
  • Зачем обычно отключают GameGuard? Я видел, что многие это делают.
  • Можно ли сделать рабочий патч без отключения GameGuard?

4. Совместимость с Windows 10:
  • Как правильно запустить Interlude клиент на Windows 10?
  • Есть ли в открытом доступе исходный код необходимых .dll файлов (в частности, dsetup.dll), чтобы не использовать чьи-то готовые сборки?

Что я уже сделал:
  • Использовал утилиту L2Client-Dat от Mobius для патчинга .dat файлов.
  • Изменил хост в l2.ini.
  • Отключил GameGuard, заменив dsetup.dll.

Буду очень признателен за любую помощь, советы, ссылки на гайды или исходники. Спасибо!
 
Решение
Привет, так, попробую сначала по пунктам:
1. Потребность в "железе" упирается в сборку и версию явы. Раньше, для времен С6 это железо было "жиром" для переделанных сборок L2j с запуском под FreeBSD. Сейчас же и сборки, и версии явы другие. Так же, от кода зависит тоже потребность в траффике (оптимизации броадкастов, и т .д.). Если есть ДЦ, и ждешь онлайн от 500, то 1000Мбит это минимум.
2. Подготовка патча зависит от того, что ты хочешь видеть на целевом сервере. Для запуска retail low rate -- да, достаточно. Для x1000 МОЖНО сделать разные навороты, ну или просто уйти в свой геймдиз по мотивам L2 (RvR/GvE/etc)...
  • Обязательно ли перешифровывать все .dat файлы, если я меняю только хост? -- да, если...
Не благодари
1. Серверная сборка: аппаратное обеспечение и интернет

Ожидаемый онлайн: 500–1000 игроков.

Аппаратная конфигурация:
Процессор:
  • Минимум: 4 ядра / 8 потоков (например, Ryzen 5 3600 или Intel i7-9700)
  • Рекомендовано: серверный CPU — Xeon E5-2630v4 или AMD EPYC (многоядерные, высокая производительность на поток)
  • Важно: высокая производительность на одно ядро тоже критична, так как L2J (особенно в Interlude) не супер хорошо масштабируется по ядрам.
Оперативная память:
  • Минимум: 8 ГБ (если только игровой сервер, без базы данных на той же машине)
  • Рекомендовано: 16–32 ГБ (с запасом под кэш и базу данных, особенно при росте онлайна)
Диск:
  • Тип: SSD (обязательно)
  • Минимум: 50 ГБ
  • Рекомендовано: NVMe SSD — для быстрого отклика базы данных и логов
Пропускная способность:
Минимум:
  • Входящая: 10–20 Мбит/с
  • Исходящая: 50–100 Мбит/c
Рекомендовано:
  • Симметричный канал 100/100 Мбит/с или 1 Гбит/с, если сервер хостится в дата-центре. У L2J трафик идёт в основном от сервера к клиенту, поэтому исходящий канал важнее.

2. Создание патча (Interlude):

Что подразумевается под “патчем”:
  • Файлы, заменяемые в клиенте для подключения к твоему серверу
  • Обычно включает:
    • l2.ini (IP/порт, логин-сервер)
    • hosts файл (если не используется домен)
    • dsetup.dll (если отключён GameGuard)
    • GameGuard файлы — удалены или заменены
Ответы:
  • Изменение l2.ini — да, этого достаточно, чтобы клиент знал, куда подключаться.
  • Перешифровка .dat — не нужна, если ты не редактируешь другие файлы (например, systemmsg.dat, itemname-e.dat и т.п.).
  • Можно ли использовать чистый клиент? — да. Ты можешь создать патч на базе чистого Interlude клиента, изменив только l2.ini и DLL, если отключаешь GameGuard.

3. GameGuard

Почему отключают:
  • GameGuard несовместим с современными Windows 10/11 (часто вызывает краши)
  • Работает как rootkit, блокирует отладчики, антивирусы, может конфликтовать с системой
  • Неэффективен против современных читов
  • Удаление GameGuard упрощает запуск и тестирование
Можно ли оставить GameGuard?
  • Теоретически — да.
  • Практически — 99% серверов отключают, так как:
    • Требуется оригинальный сервер GameGuard от NCSoft (его нет)
    • Без связи с их сервером GameGuard блокирует запуск клиента.

4. Совместимость с Windows 10

Запуск клиента Interlude:
  • Совместимость Windows XP SP3 в свойствах exe-файла
  • Запуск от администратора
  • Использовать заменённый dsetup.dll (эмулятор, отключающий GameGuard)
  • Возможны проблемы с DEP или UAC — отключай или настрой исключения

Исходники dsetup.dll:
  • Открытого официального исходника нет, так как dsetup.dll — сторонняя замена, созданная комьюнити
  • В интернете можно найти reverse-engineered версии, но нужно понимать C++ и Windows API
Ты уже сделал:

✅ Использовал L2Client-Dat — ок
✅ Изменил l2.ini — ок
✅ Отключил GameGuard, заменив dsetup.dll — это нормальная практика и почти стандарт

Резюме по патчу:

Чтобы сделать минимальный рабочий патч для Interlude клиента, тебе нужно:
  1. Изменённый l2.ini — IP/порт логин-сервера
  2. dsetup.dll — для отключения GameGuard
  3. (Опционально) hosts файл — если используешь домен
  4. Всё это — в system папке

Можно упаковать в архив и раздавать как патч.
 
zheult, стандартной сборки от любого хостера хватит, 4 ядра, 8гб, ssd/nvme
Хочу собрать систему на Ryzen 5 5500, 32 ГБ DDR4 3200 МГц и SSD M.2 NVMe на 500 ГБ. Выйдет примерно в 300$. У нас есть свой дата-центр, думаю, это будет разумнее, чем аренда.
 
Вопрос сгенерен через ai, ответ дан через ai :loltt0:
 
Привет, так, попробую сначала по пунктам:
1. Потребность в "железе" упирается в сборку и версию явы. Раньше, для времен С6 это железо было "жиром" для переделанных сборок L2j с запуском под FreeBSD. Сейчас же и сборки, и версии явы другие. Так же, от кода зависит тоже потребность в траффике (оптимизации броадкастов, и т .д.). Если есть ДЦ, и ждешь онлайн от 500, то 1000Мбит это минимум.
2. Подготовка патча зависит от того, что ты хочешь видеть на целевом сервере. Для запуска retail low rate -- да, достаточно. Для x1000 МОЖНО сделать разные навороты, ну или просто уйти в свой геймдиз по мотивам L2 (RvR/GvE/etc)...
  • Обязательно ли перешифровывать все .dat файлы, если я меняю только хост? -- да, если перенаправление через L2.ini, и наоборот, если через hosts --- можно вообще ничего не менять.
  • Можно ли создать рабочий патч на базе чистого Interlude клиента (без модифицированных .dat) -- можно писать ассоциации в hosts файл, а-ля 127.0.0.1 auth.lineage2.com в Windows\System32\Drivers\erc\hosts -- на каждой клиентской машине
    Аналогично, можно попробовать сделать лаунчер с подменой IP на базе
    вот этой разработки

    3. GameGuard убивают, потому что по факту от еще никого не от чего не защитил.
    3а. Есть сорсы патча dsetup от Fyyre на ассемблере, без знаний которого там будет туго
    3b. GameGuard можно не убивать, а перенаправить через hosts, погугли старые GameGuard bypass на базе портабельного Apache, т.н "Disk W"

    4. a) Совместимость с Windows 10: тут уже была тема, что проблема в кривой инициализации CoInitializeEx в Core.dll, можно самому сделать патч на нее через OllyDBG/ x64dbg (тогда антивирь НЕ будет орать)
    b) Можно так же отключать Windows Defender, или добавлять в исключения (если используется Vista7.dll или другая, на которую он ругается
    Програмно это можно сделать вот так, код можно встроить в апдейтер (но тогда антивирь может ругнуться на апдейтер).
    Через подобуню утиль IntelliJ IDEA и добавляет директории с исходниками в игнор - лист
    (писал для запуска старой доброй игрушки World in Conflict)
    c)Сорсов от Vista7.dll найти не удалось

    А теперь главное:
    L2jMobius - это основа для современных хроник, реализациях всего, что ниже HF там -- "ну такое"
    На Github в открытом доступе полно сборок, с более качественной реализацией. А дальше уж под потребности и рейты.
    Я бы начал с тестового сервера а-ля Олимпиада 24/7 "все по 1 адене" для тестирования скиллов, формул и правки критичных багов
    следом х1000 пвп, опять же, правки багов, уязвимостей
    потом х100 с крафтом, тут в пору уделить внимание основным квестам, становятся актуальны "дюпы, баши на заточку" -- игроки должны пытаться юзать их, нужно поправить.
    Потом уже время оптимизаций, второстепенных КВ, и т.д.
    И после уже можно открываться на low rate c ожиданием такого онлайна.

    Был бы концепт сервера -- дал бы более детальный и точный совет.
А еще "на вкусное" -- есть клиент под С6 на базе Classic 110, там совсем другой протокол, патч и движок.
Так что для "шоколада" еще и мультипротокол потом прикрутить.
 
Решение
Привет, так, попробую сначала по пунктам:
1. Потребность в "железе" упирается в сборку и версию явы. Раньше, для времен С6 это железо было "жиром" для переделанных сборок L2j с запуском под FreeBSD. Сейчас же и сборки, и версии явы другие. Так же, от кода зависит тоже потребность в траффике (оптимизации броадкастов, и т .д.). Если есть ДЦ, и ждешь онлайн от 500, то 1000Мбит это минимум.
2. Подготовка патча зависит от того, что ты хочешь видеть на целевом сервере. Для запуска retail low rate -- да, достаточно. Для x1000 МОЖНО сделать разные навороты, ну или просто уйти в свой геймдиз по мотивам L2 (RvR/GvE/etc)...
  • Обязательно ли перешифровывать все .dat файлы, если я меняю только хост? -- да, если перенаправление через L2.ini, и наоборот, если через hosts --- можно вообще ничего не менять.
  • Можно ли создать рабочий патч на базе чистого Interlude клиента (без модифицированных .dat) -- можно писать ассоциации в hosts файл, а-ля 127.0.0.1 auth.lineage2.com в Windows\System32\Drivers\erc\hosts -- на каждой клиентской машине
    Аналогично, можно попробовать сделать лаунчер с подменой IP на базе
    вот этой разработки

    3. GameGuard убивают, потому что по факту от еще никого не от чего не защитил.
    3а. Есть сорсы патча dsetup от Fyyre на ассемблере, без знаний которого там будет туго
    3b. GameGuard можно не убивать, а перенаправить через hosts, погугли старые GameGuard bypass на базе портабельного Apache, т.н "Disk W"

    4. a) Совместимость с Windows 10: тут уже была тема, что проблема в кривой инициализации CoInitializeEx в Core.dll, можно самому сделать патч на нее через OllyDBG/ x64dbg (тогда антивирь НЕ будет орать)
    b) Можно так же отключать Windows Defender, или добавлять в исключения (если используется Vista7.dll или другая, на которую он ругается
    Програмно это можно сделать вот так, код можно встроить в апдейтер (но тогда антивирь может ругнуться на апдейтер).
    Через подобуню утиль IntelliJ IDEA и добавляет директории с исходниками в игнор - лист
    (писал для запуска старой доброй игрушки World in Conflict)
    c)Сорсов от Vista7.dll найти не удалось

    А теперь главное:
    L2jMobius - это основа для современных хроник, реализациях всего, что ниже HF там -- "ну такое"
    На Github в открытом доступе полно сборок, с более качественной реализацией. А дальше уж под потребности и рейты.
    Я бы начал с тестового сервера а-ля Олимпиада 24/7 "все по 1 адене" для тестирования скиллов, формул и правки критичных багов
    следом х1000 пвп, опять же, правки багов, уязвимостей
    потом х100 с крафтом, тут в пору уделить внимание основным квестам, становятся актуальны "дюпы, баши на заточку" -- игроки должны пытаться юзать их, нужно поправить.
    Потом уже время оптимизаций, второстепенных КВ, и т.д.
    И после уже можно открываться на low rate c ожиданием такого онлайна.

    Был бы концепт сервера -- дал бы более детальный и точный совет.
А еще "на вкусное" -- есть клиент под С6 на базе Classic 110, там совсем другой протокол, патч и движок.
Так что для "шоколада" еще и мультипротокол потом прикрутить.
спасибо за подробное объяснение

4. a) Совместимость с Windows 10: тут уже была тема, что проблема в кривой инициализации CoInitializeEx в Core.dll, можно самому сделать патч на нее через OllyDBG/ x64dbg (тогда антивирь НЕ будет орать)
А есть инструкция по этому поводу? Я искал на форуме, но так ничего и не нашёл.

Был бы концепт сервера -- дал бы более детальный и точный совет.
Раньше играл на сервере lineager.ru, Front x100 (PTS). Сервер был обычный — классический x100, без каких-либо добавлений.

А еще "на вкусное" -- есть клиент под С6 на базе Classic 110, там совсем другой протокол, патч и движок.
Это что-то вроде Interlude на базе Classic? Не мог бы рассказать об этом подробнее?
 
Последнее редактирование модератором:
А есть инструкция по этому поводу? Я искал на форуме, но так ничего и не нашёл.
Привет, инструкцией тут не обойтись, нужны базовые знания ассемблера и навыки работы с отладчиком, я себе недавно делал систем под C3 530. На форуме есть топик
с обсуждением, мб немного поможет
(ну или на край либо скинь свой клиент + патч, попробую сделать на досуге)

Это что-то вроде Interlude на базе Classic? Не мог бы рассказать об этом подробнее?
Да, это C6 на клиенте классик с современным интерфейсом и более красивой графикой (в частности, там важно то, что можно назначать хоткеи на вторую и 3ю панель, а так же их переназначать).

Есть что-то вроде

Это клиенты живых других серверов, но можно переделать под свои нужды.
Я бы сделал поддержку.

В любом случае, нужно набирать команду тестирования, друзей и играть, смотреть скиллы, квесты, работоспособность...
Для этого отдельного компа и манула по установке Hamachi (может глючить в РФ из-за РКН) или RAdmin вполне достаточно, не спеши делать запуск на прод с вложениями... А там и поддержку второго протокола дописать не очень долго.
 
А есть инструкция по этому поводу? Я искал на форуме, но так ничего и не нашёл.
Привет, инструкцией тут не обойтись, нужны базовые знания ассемблера и навыки работы с отладчиком, я себе недавно делал систем под C3 530. На форуме есть топик
с обсуждением, мб немного поможет
(ну или на край либо скинь свой клиент + патч, попробую сделать на досуге)

Это что-то вроде Interlude на базе Classic? Не мог бы рассказать об этом подробнее?
Да, это C6 на клиенте классик с современным интерфейсом и более красивой графикой (в частности, там важно то, что можно назначать хоткеи на вторую и 3ю панель, а так же их переназначать).

Есть что-то вроде

Это клиенты живых других серверов, но можно переделать под свои нужды.
Я бы сделал поддержку.

В любом случае, нужно набирать команду тестирования, друзей и играть, смотреть скиллы, квесты, работоспособность...
Для этого отдельного компа и манула по установке Hamachi (может глючить в РФ из-за РКН) или RAdmin вполне достаточно, не спеши делать запуск на прод с вложениями... А там и поддержку второго протокола дописать не очень долго.
благодарю
 
Вот еще, уже готовые ресурсы на этом же форуме:

и реворк современного клиента классика под C6 на 166 протоколе
 
  • Мне нравится
Реакции: òbi
Вот еще, уже готовые ресурсы на этом же форуме:

и реворк современного клиента классика под C6 на 166 протоколе
Скачал клиент по первой ссылке, всё отлично, клиент отличный. Спасибо большое за ссылки!
 
Последнее редактирование:
Назад
Сверху