Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Пакеты
Войти через OpenID

Пакеты Форум о форматах отдельных пакетов или групп пакетов

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 22.01.2015, 12:12   #1
Местный
 
Регистрация: 22.10.2014
Сообщений: 122
Сказал Спасибо: 1
Имеет 8 спасибок в 7 сообщенях
alexov пока неопределено
По умолчанию ValidateLocation

Пишу своего бота на C#, пока для с4., хочу полностью понять протокол.
Пакеты изучаю поглядывая в l2ph.

Тестирую пакеты в безлюдном месте. так вот - раз в ~110с, сервер присылает пакет ValidateLocation (0x61), который содержит данные charID, X Y Z и какой-то Heading.

значение CharID находится в небольшом диапазоне (от 0 до 150 000), короче похоже что это действительно идентификатор какого-то персонажа (не путайте с ObjectID).

Значения координат тоже весьма похожи на те которые бывают в разных местах ла2., короче в структуре пакета ошибки вроде бы нет. Но возникает вопрос - зачем клиенту нужны координаты какого-то "рандомного?" персонажа, каждые 110 секунд? особенно учитывая то, что мой клиент не знает CharID никаких других персонажей, кроме своего, полученного при логине в пакете CharSelected (0x15)

Добавлено через 3 минуты
Прилагаю небольшой лог, для понимания:

61 DB 56 00 00 28 76 01 00 68 5F 03 00 6E 03 00 00 3B 7A 00 00
Tип: 0x61 (ValidateLocation)
Pазмер: 21+2
Время прихода: 13:16:55:671
0002 d charID: 22235 (0x000056DB)
0006 d X: 95784 (0x00017628)
0010 d Y: 221032 (0x00035F68)
0014 d Z: 878 (0x0000036E)
0018 d Heading: 31291 (0x00007A3B)

61 FC 30 00 00 C8 06 01 00 D8 19 03 00 2D 2F 00 00 97 7C 00 00
Tип: 0x61 (ValidateLocation)
Pазмер: 21+2
Время прихода: 13:18:45:046
0002 d charID: 12540 (0x000030FC)
0006 d X: 67272 (0x000106C8)
0010 d Y: 203224 (0x000319D8)
0014 d Z: 12077 (0x00002F2D)
0018 d Heading: 31895 (0x00007C97)

61 CF 32 00 00 88 64 01 00 E8 6B 03 00 3F 31 00 00 79 4C 00 00
Tип: 0x61 (ValidateLocation)
Pазмер: 21+2
Время прихода: 13:20:35:531
0002 d charID: 13007 (0x000032CF)
0006 d X: 91272 (0x00016488)
0010 d Y: 224232 (0x00036BE8)
0014 d Z: 12607 (0x0000313F)
0018 d Heading: 19577 (0x00004C79)

61 06 17 00 00 18 3D 01 00 58 31 03 00 A7 5D 00 00 AC 44 00 00
Tип: 0x61 (ValidateLocation)
Pазмер: 21+2
Время прихода: 13:22:25:999
0002 d charID: 5894 (0x00001706)
0006 d X: 81176 (0x00013D18)
0010 d Y: 209240 (0x00033158)
0014 d Z: 23975 (0x00005DA7)
0018 d Heading: 17580 (0x000044AC)

61 4E 4D 00 00 68 6D 01 00 28 26 03 00 40 06 00 00 57 70 00 00
Tип: 0x61 (ValidateLocation)
Pазмер: 21+2
Время прихода: 13:24:16:015
0002 d charID: 19790 (0x00004D4E)
0006 d X: 93544 (0x00016D68)
0010 d Y: 206376 (0x00032628)
0014 d Z: 1600 (0x00000640)
0018 d Heading: 28759 (0x00007057)

Последний раз редактировалось alexov, 22.01.2015 в 12:14. Причина: Добавлено сообщение
alexov вне форума   Ответить с цитированием
Старый 22.01.2015, 18:41   #2
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от alexov Посмотреть сообщение
пакет ValidateLocation (0x61), который содержит данные charID, X Y Z и какой-то Heading
Где charID (твой ID) и ObjectID (ID мобов и игроков) разные названия одного и того-же, Heading - направление куда смотрит объект.

Пакет показывает перемещения окружения вокруг чара. Как только кто либо сместился, так сервер шлет пакет с изменениями координат.
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 22.01.2015, 19:45   #3
Местный
 
Регистрация: 22.10.2014
Сообщений: 122
Сказал Спасибо: 1
Имеет 8 спасибок в 7 сообщенях
alexov пока неопределено
По умолчанию

ты невнимательно прочитал что пишу.
1) ObjectID всегда принимает большое значение - 7-8 знаков или больше., а CharID - маленькое значение., в данном пакете это точно не ObjectID
2) тестирую пакеты в пустынном месте, там 100% никого нет. А если бы кто и был - посмотри координаты в пакетах, они из разных концов мира
alexov вне форума   Ответить с цитированием
Старый 23.01.2015, 09:09   #4
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Цитата:
Сообщение от alexov Посмотреть сообщение
2) тестирую пакеты в пустынном месте
либо сервер считает что кто-то видимый для тебя все-таки есть, либо это ошибка в сервере
Оффтоп
ах да, для дебага попробуй послать на сервер Action пакет с CharID из ValidateLocation и посмотреть на таргет
__________________
Начало.

Последний раз редактировалось supernewbie, 23.01.2015 в 10:39.
supernewbie вне форума   Ответить с цитированием
Старый 22.01.2015, 21:42   #5
Пользователь
 
Регистрация: 11.02.2009
Сообщений: 95
Сказал Спасибо: 36
Имеет 6 спасибок в 6 сообщенях
xixi пока неопределено
По умолчанию

Я вообще не знаю откуда берется этот пакет. На хф используется 59=ValidatePosition:d(X)d(Y)d(Z)d(Heading)d(Data) - hf

Добавлено через 14 минут
Вообще может там стоит шифрация пакетов?

Последний раз редактировалось xixi, 22.01.2015 в 21:42. Причина: Добавлено сообщение
xixi вне форума   Ответить с цитированием
Старый 22.01.2015, 23:27   #6
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

Цитата:
Сообщение от xixi Посмотреть сообщение
Я вообще не знаю откуда берется этот пакет. На хф используется 59=ValidatePosition:d(X)d(Y)d(Z)d(Heading)d(Data) - hf

Добавлено через 14 минут
Вообще может там стоит шифрация пакетов?
Вообще-то и в ХФ используется
$79 = ValidateLocation:d(CharID)d(X)d(Y)d(Z)d(Heading);
А то, что Вы указываете - это пакет от клиента - серверу.

по теме: вообще - есть ли уверенность, что пакет полностью верно расшифрован?
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?

Последний раз редактировалось Breadfan, 22.01.2015 в 23:33.
Breadfan вне форума   Ответить с цитированием
Старый 23.01.2015, 02:12   #7
Пользователь
 
Регистрация: 11.02.2009
Сообщений: 95
Сказал Спасибо: 36
Имеет 6 спасибок в 6 сообщенях
xixi пока неопределено
По умолчанию

Цитата:
Сообщение от Breadfan Посмотреть сообщение
Вообще-то и в ХФ используется
$79 = ValidateLocation:d(CharID)d(X)d(Y)d(Z)d(Heading);
А то, что Вы указываете - это пакет от клиента - серверу.

по теме: вообще - есть ли уверенность, что пакет полностью верно расшифрован?
Приведите пример, когда этот пакет отправляется. У меня за 15 минут в игре он ни разу не появился.
xixi вне форума   Ответить с цитированием
Старый 23.01.2015, 08:36   #8
Местный
 
Регистрация: 22.10.2014
Сообщений: 122
Сказал Спасибо: 1
Имеет 8 спасибок в 7 сообщенях
alexov пока неопределено
По умолчанию

Цитата:
Сообщение от Breadfan Посмотреть сообщение
по теме: вообще - есть ли уверенность, что пакет полностью верно расшифрован?
Ну, пакеты либо все расшифровываются, либо все не расшифровываются, по другому не бывает) у меня все нормально работает, бот бегает качается. значит я все нормально с шифрацией справился
alexov вне форума   Ответить с цитированием
Старый 23.01.2015, 20:48   #9
Местный
 
Регистрация: 22.10.2014
Сообщений: 122
Сказал Спасибо: 1
Имеет 8 спасибок в 7 сообщенях
alexov пока неопределено
По умолчанию

чтобы послать Action, мне нужен ObjectID. а здесь CharID, и это не просто название, как я уже говорил. ObjectID всегда принимает большие значения, а CharID - маленькие
alexov вне форума   Ответить с цитированием
Старый 24.01.2015, 21:56   #10
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

Кусок из хф сборки:

Оффтоп

Не из ц4, но подозреваю что там будет практически тоже самое.


Upd: да, тож самое (из RT C4) -

Оффтоп
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?

Последний раз редактировалось Breadfan, 24.01.2015 в 22:29.
Breadfan вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Пакеты



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 21:53.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!