Packet Length Extractor — различия между версиями

Материал из Руководство по OpenKore
Перейти к: навигация, поиск
(обновил ссылку на ro tools)
 
(не показано 6 промежуточных версий 2 участников)
Строка 15: Строка 15:
  
 
==Скачать извлекалки ресивпакетов==
 
==Скачать извлекалки ресивпакетов==
Есть две программы для извлечения ресивпакетов:
+
Есть три программы для извлечения ресивпакетов:
* [http://www.megaupload.com/?d=7PXQ9J1N JCV's RO Tools v1.0.3]
+
* [[Packet_Extractor_v3]] самая свежая поделка от kLabMouse, который также доступен через SVN. Призван вытаскивать пакеты из самых современных серверов. Не сортирует пакеты, что в принципе рядовому пользователю пофиг.
* [http://www.megaupload.com/?d=MLUVJLSL OpenKore Packet Length Extractor v1.1.0], который также доступен через SVN.
+
* [http://depositfiles.com/files/1ccjpt9yk OpenKore Packet Length Extractor v1.1.0]. Находит пакеты лучше всех, но работает в основном на старых серверах.
 
+
* [http://dfiles.ru/files/xf47ncmr8 JCV's RO Tools v1.0.3] - находит пакеты там где не может справиться первый Extractor, но задваивает некоторые пакеты что не совсем хорошо. Я обычно ручками вычищаю лишние пакеты.
Лучше использовать '''JCV's RO Tools''', так как она более свежая и заточена под новые клиенты. Но в некоторых случаях помогает другая программа - '''OpenKore Packet Length Extractor'''.
 
  
 
==Извлечение ресивпакетов==
 
==Извлечение ресивпакетов==
Строка 40: Строка 39:
 
Пакет '''016C''' получают персонажи, состоящие в гильдии. '''Этот пакет не извлекается''' при помощи утилит для создания ресивпакетов! Следует руками дописать его в файл с ресивпакетами. Обычно длина пакета составляет 43 байта и запись будет выглядеть так:
 
Пакет '''016C''' получают персонажи, состоящие в гильдии. '''Этот пакет не извлекается''' при помощи утилит для создания ресивпакетов! Следует руками дописать его в файл с ресивпакетами. Обычно длина пакета составляет 43 байта и запись будет выглядеть так:
 
  016C 43
 
  016C 43
Более подробную информацию смотри в первоисточнике: [http://forums.openkore.com/viewtopic.php?f=56&t=8484 [packet extractor] 016C]
+
Более подробную информацию смотри в первоисточнике: [http://forums.openkore.com/viewtopic.php?f=56&t=8484 packet extractor 016C]

Текущая версия на 20:58, 5 марта 2013

Packet Length Extractor - это программа, которая достаёт из клиента RO длины используемых им пакетов и сохраняет их в файле recvpackets.txt. Если вы испытываете такие проблемы со своим сервером, как:

  • Packet Tokenizer: Unknown switch: xxxx
  • Дисконнект после нескольких секунд
  • OpenKore не видит неписей, игроков и мобов - они показываются как Unknown

В этом случае создание своего собственного файла recvpackets.txt может решить проблему. На самом деле рекомендуется всегда извлекать ресивпакеты для любого сервера, на котором вы бы хотели играть. Этот файл должен находиться в папке tables.

Примечание: У вас могут возникнуть сложности с извлечением ресивпакетов, если клиент был каким-то образом защищён.


Зачем нужны ресивпакеты?

Данные, которые посылает сервер к OpenKore, являются неразрывным потоком байт. OpenKore должна распознать в этом потоке отдельные сообщения, чтобы потом их как-то обработать. Однако длина одного и того же сообщения меняется от сервера к серверу. Файл recvpackets.txt содержит информацию о длине каждого сообщения, таким образом OpenKore удаётся правильно разбивать поток байт на отдельные сообщения.


Скачать извлекалки ресивпакетов

Есть три программы для извлечения ресивпакетов:

  • Packet_Extractor_v3 самая свежая поделка от kLabMouse, который также доступен через SVN. Призван вытаскивать пакеты из самых современных серверов. Не сортирует пакеты, что в принципе рядовому пользователю пофиг.
  • OpenKore Packet Length Extractor v1.1.0. Находит пакеты лучше всех, но работает в основном на старых серверах.
  • JCV's RO Tools v1.0.3 - находит пакеты там где не может справиться первый Extractor, но задваивает некоторые пакеты что не совсем хорошо. Я обычно ручками вычищаю лишние пакеты.

Извлечение ресивпакетов

1. Запустите программу JCV's RO Tools.

2. Щёлкните по кнопке с многоточием ..., которая находится в правом верхнем углу. В открышемся диалоговом окне найдите запускаемый файл от клиента (не спутать с патчером) и выберите его.

button.png

3. В области Extractor Type, выберите вариант Full Disarm - полный разбор.

full.png

4. Щёлкните по кнопке Start и дождитесь окончания извлечения ресивпакетов.

start.png

5. После завершения извлечения информации о ресивпакетах, программа спросит куда сохранить файл с ресивпакетами. Этот файл следует сохранить в папке tables, которая находится в корневой папке OpenKore. Если там уже имеется такой файл - перепишите его поверх старого.

Примечание: Можно дать файлу с ресивпакетами другое имя. Тогда имя этого файла следует прописать в файле servers.txt в настройке сервера recvpackets (смотри гайд - Подключение бота к серверу).

Пакет 016C

Пакет 016C получают персонажи, состоящие в гильдии. Этот пакет не извлекается при помощи утилит для создания ресивпакетов! Следует руками дописать его в файл с ресивпакетами. Обычно длина пакета составляет 43 байта и запись будет выглядеть так:

016C 43

Более подробную информацию смотри в первоисточнике: packet extractor 016C