Посмотрел сканер l2j.sf (l2-logger-0.2) - он жутко старый, с ним идет описание форматов пакетов которое совершенно не соответствует действительности
В принципе можно взять его за основу, он хоть и нечитабелен, но как я понял:
j3ster.l2.Logger.packetListener - задает снифер пакетов, который реализует интерфейс j3ster.l2.packet.D
j3ster.l2.packet.F - сам пакет, boolean A() - направление true от сервера, false от клиента, byte[] F() - данные.
можно написать свой обработчик пакетов и заменить packetListener наследовав свой класс.
дальше вопрос - какие пакеты надо ловить?
как я понимаю, 1я задача - сбор данных о статсах, это пакеты:
0x04 - UserInfo - все статсы,
0x58 - SkillList - оттуда берется список активных скилов,
0x1b - ItemList - список одетого шмота,
0x27 - InventoryUpdate - тоже, наверное, надо обрабатывать,
0x0e - StatusUpdate - изменение статсов (можно ли по этим пакетам скорость регена мерять?),
0x4b - EquipUpdate - когда одевается/снимается шмот,
нужно ли обрабатывать все эти пакеты, только часть, или еще какие-то?
бафы... как я понимаю это пакеты 48, 49, 76, 7F - Magic*, но пока не разобрался... 0x49 MagicSkillCanceld - что вообще такое?
как я понимаю, на основе этих пакетов можно составлять профили (бафы, статсы) и писать их в файл. насобирать много-много данных и попробовать их анализировать и выводить формулы, так?
2й шаг - это сбор данных по ударам и по спавну. правильно я понимаю, что спавн - это пакеты 03 и 16? что из них - что? из этих пакетов можно выловить только максимум хп мобов или что-то еще?
удары - это пакеты 05 и 06, но тоже не все понятно... как отличить удар от скила/магии от простого удара оружием? можно ли и нужно ли по этим пакетам мерять скорость атаки, или с ней все нормально, достаточно накапливать только статистику ударов/промахов?
как я понимаю, можно хранить комбинацию (моб, статсы, скил) и для каждой такой комбинации хранить - сколько промахов, сколько критов, сколько ударов на какую величину, так? удар оружием хранить как частный случай скила.
как быть с бафами/дебафами мобов, можно ли как-то отловить эти пакеты? как я понимаю, пакеты использования магии на мобов ловятся, но как определить что это дебаф а не удар, когда кончится его действие и прочее?
еще вопрос, как накапливать данные, и где брать инфу на каком сервере это происходит, чтобы накапливать только данные с оффа? можно, наверное, записывать все в текстовые файлы, которые потом присылать разработчикам, затем сливать в общую базу по которой можно будет уже делать запросы и прочую аналитику.
как потом анализировать - тоже не совсем ясно, допустим есть у нас данные что чар с такими-то статсами по такому-то мобу столько-то раз промахнулся. а толку если статсов моба мы не знаем? реально ли набрать достаточно данных например для формулы зависимости шанса попадания по мобу от accuracy и evasion? если да - то что собирать?