[!] recvpackets.txt /для каждого сервака свой? [почти FAQ]

FAQ. Ответы на часто задаваемые вопросы.

Модератор: 4epT

Правила форума
Этот раздел является руководством и тут разрешено оставлять сообщения лишь для уточнения и внесения корректив в существующие материалы. Для вопросов существует ряд других разделов.
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

[!] recvpackets.txt /для каждого сервака свой? [почти FAQ]

Сообщение 4epT »

Этот файл содержит заголовки пакетов и их длину..
Так вот в стандартной сборке OpenKore этот файл содержит инфу пакетов от офф серваков (русского, корейского, филиппинского..) (она, кстати, одинаковая??)

По логике вещей этот файл нужен для того, чтобы OpenKore и клиент общались на 1 языке.

Так вот по сути говоря для каждого сервака (не совсем точное определение, но ладно) этот файл будет свой индивидуальный. Все серваки можно разделить по типу. Каждый тип описывается своим набором пакетов. Как я понимаю их число ограничено (десятки?).

Расшифровку содержимого пакетов можно узнать из файла packet_table_en.txt

Так вот к чему я это клоню, что не все же играют на офе.. Поэтому лучше после того как скачали кору, скачать програмку Packet Length Extractor. Запускаем програмку, указываем в ней свой exe-шник (через который запускаете клиент) и получаете recvpackets.txt. Его запихиваете в папку с ботом \tables\.

Вопрос по теме: если сервак посылает нам какой-то пакет которого нет в файле recvpackets.txt, то OpenKore выдаст что-то типо (Unknown packet). А вот представим, что этот пакет у нас записан в recvpackets.txt, но имеет совсем другую длину, то что будет?

Короче делимся своими мыслями..
Вложения
packet_table_en.txt
описание пакетов
(50.8 КБ) 912 скачиваний
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
Jerry
Профессионал
Сообщения: 1047
Зарегистрирован: Сб ноя 04, 2006 12:26 pm
Контактная информация:

Re: recvpackets.txt /для каждого сервака свой?

Сообщение Jerry »

4epT писал(а):Так вот по сути говоря для каждого сервака (не совсем точное определение, но ладно) этот файл будет свой индивидуальный.
не сервака а клиента
Так вот к чему я это клоню, что не все же играют на офе.. Поэтому лучше после того как скачали кору, скачать програмку Packet Length Extractor.
ясен пень
А вот представим, что этот пакет у нас записан в recvpackets.txt, но имеет совсем другую длину, то что будет?
то же самое будет, только ты потеряешь следующий пакет

Добавлено спустя 1 минуту 16 секунд:

recvpackets кстати помоему по большей части для xkore нужен, в хкоре0 там все нахардкожено
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Я честно говоря, вообще НЕ ПОНИМАЮ, зачем этот файл нужен.
Ведь он реально никакой информации для Коры не несёт.

Ну, подумаешь, прилетел какой-то неизвестный пакет. Ну и хер?
Если мы в xKore 0 - тупо игнорим его,
если в xKore # - переправляем его клиенту.
Ну и нафиг этот файл?! :evil:
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Funt
Грамотный
Сообщения: 233
Зарегистрирован: Чт дек 14, 2006 10:21 pm
Откуда: Прекрасный город на Неве...

Сообщение Funt »

дя?Тока вот из-за того что этого файлика у меня не было,точнее почему из SVN он скачался не свовсем новый,и не совсем для нашего оффа,у меня писалось Unknow packet ".. .." и OpenKore сворачивался.Так что...Кстати,а что конкретно в это файле записано?Пакет и его длинна?А зачем на знать длину пакета,если у нас есть его описание?
Я конечно не очень хорошо рублю,но вот предположим пакет 02 5E,он положим отвечает за атаку,что мол монстр убит.Он прилетел к нам,значит моба мы убили,за чем нам его длинна? :shock:
Обьясните позя.
Самый лучший сервер-Земля!Огромная карта,6милиардов игроков,терпеливый админ...Вот тока бота для этого сервера не существует :(
Аватара пользователя
Jerry
Профессионал
Сообщения: 1047
Зарегистрирован: Сб ноя 04, 2006 12:26 pm
Контактная информация:

Сообщение Jerry »

piroJOKE ты тупой. :D Чтобы знать сколько байт игнорить естественно!

зы давайте введем автобан на слово "позя" и "позязя"
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

?????
Чего?! Не ну а серьёзно, нафиг это надо?
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
Jerry
Профессионал
Сообщения: 1047
Зарегистрирован: Сб ноя 04, 2006 12:26 pm
Контактная информация:

Сообщение Jerry »

а что в этом несерьезного? Как еще ты узнаешь, где кончается один пакет и начинается другой? В теории то оно конечно правильно, что структура пакетов задает его длину, в идеале этого файлика не должно бы и быть. А на практике часть кода отвечающая за группировку пакетов может и не знать их структуры. Могут существовать пакеты, которые в коде не представлены вообще никак. Особенно для хкоре, когда мы половину пакетов просто не парсим. Вобщем, это скорее пережитки кривого дизайна.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Jerry писал(а):Как еще ты узнаешь, где кончается один пакет и начинается другой?
Минуточку, а на каком этапе пакеты могут "слипаться"?... Вот этого я что-то не догоняю - разве TCP не доставляет их строго по отдельности? :(

Добавлено спустя 1 минуту 38 секунд:

Далее, а как насчет пакетов переменной длины?... Это вообще не укладывается в сию схему.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
Jerry
Профессионал
Сообщения: 1047
Зарегистрирован: Сб ноя 04, 2006 12:26 pm
Контактная информация:

Сообщение Jerry »

нет, не доставляет. На любом этапе могут слипаться теоретически, даже сервер иногда шлет пакеты пачками.
В пакетах переменной длины длина записана в пакете. Причем, строго в 3 и 4 байте.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Хм... первый раз такое слышу (хотя видеть такое доводилось, в фукед WPE, кстати, но я списывал это на его глюкавость).
Окей, а что в таком случае (если всё "так плохо") ты имеешь в виду под "пережитками кривого дизайна"?

Добавлено спустя 3 минуты 27 секунд:

Хм... в таком случае можно попытаться сделать сводную таблицу recvpackets... (это сработает, если у разных серверов нет пакетов с одинаковыми заголовками (но с разными длинами у одинаковых заголовков)) ).
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
Jerry
Профессионал
Сообщения: 1047
Зарегистрирован: Сб ноя 04, 2006 12:26 pm
Контактная информация:

Сообщение Jerry »

пережитки кривого дизайна как раз в том, что длина пакета однозначно задается его структурой, и она имеется в наличии. Тем не менее, файлик все еще нужен.
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

Jerry
Джерри прав.
Файлик в общем случае нужен в дух целях:
1) Фильтровать пакеты хКор (от клиента). ТЕ не нужно парсить абсолютно все.
2) Для входящих пакетов от Сервера, фильтровать неизвестные. Дабы кора на них не запиналась.
Mesmer
Новичок
Сообщения: 12
Зарегистрирован: Вт сен 18, 2007 4:11 pm

Сообщение Mesmer »

Вначале была проблема Unknow paket - 0000
Наткнулся на http://www.openkore.com/wiki/index.php/ ... or_Russian
Скачал прогу, запустил, а она выдает Cannot find the packet length function. Понятно что в экзешке ничего не находит. Как по другому можно сделать этот файл для сервера?
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

Mesmer
Видимо Екзешка запакованная Чем-то.
Пожалуйста. Укажите сервер, для которого пытаетесь генерировать длинны пакетов.
Mesmer
Новичок
Сообщения: 12
Зарегистрирован: Вт сен 18, 2007 4:11 pm

Сообщение Mesmer »

У нас поднят внутренний сервер, доступ только для провайдеров региона. А как можно распаковать экзешку?
Ответить