[!] После апдейта сервера неверно распознаются мобы и нпц?

BugTraq: обнаруженные ошибки и обсуждение их устранения.

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

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

[!] После апдейта сервера неверно распознаются мобы и нпц?

Сообщение piroJOKE »

Если после апдейта вашего пиратского сервера начали неверно распознаваться мобы и нпц, следует внести кой-какие изменения в вашу ОпенКору.

Полагаю, эта тема актуальна сейчас (январь-февраль 2008) для большинства пиратских серверов.

Опытные товарищи сообщают (это немного устаревшая инфа (май-2008), извольте прочитать посты ниже в этой теме):
vit писал(а):Ну что ж, опишу, как эта проблема решается :) :

В файле Receive.pm который лежит в папке(ну мало ли кто не знает) ваш_бот\src\Network\

Заменяем
'0078' => ['actor_display', 'a4 v14 a4 x7 C1 a3 x2 C1 v1', [qw(ID walk_speed param1 param2 param3 type hair_style weapon lowhead shield tophead midhead hair_color clothes_color head_dir guildID sex coords act lv)]],
на
'0078' => ['actor_display', 'x1 a4 v14 a4 x7 C1 a3 x2 C1 v1', [qw(ID walk_speed param1 param2 param3 type hair_style weapon lowhead shield tophead midhead hair_color clothes_color head_dir guildID sex coords act lv)]],
'007C' => ['actor_display', 'a4 v1 v1 v1 v1 x6 v1 C1 x12 C1 a3', [qw(ID walk_speed param1 param2 param3 type pet sex coords)]],
на
'007C' => ['actor_display', 'x1 a4 v1 v1 v1 v1 x6 v1 C1 x12 C1 a3', [qw(ID walk_speed param1 param2 param3 type pet sex coords)]],
'022C' => ['actor_display', 'a4 v4 x2 v5 V1 v3 x4 a4 a4 v x2 C2 a5 x3 v', [qw(ID walk_speed param1 param2 param3 type hair_style weapon shield lowhead timestamp tophead midhead hair_color guildID guildEmblem visual_effects stance sex coords lv)]],
на
'022C' => ['actor_display', 'x1 a4 v4 x2 v5 V1 v3 x4 a4 a4 v x2 C2 a5 x3 v', [qw(ID walk_speed param1 param2 param3 type hair_style weapon shield lowhead timestamp tophead midhead hair_color guildID guildEmblem visual_effects stance sex coords lv)]],
Ну и в файле tables\recvpackets.txtЗаменям
0078 54
на
0078 55
007C 41
на
007C 42
022C 64
на
022C 65
P.S: Enjoy :wink: .
(Оригинал сообщения в теме про ФлайРО: viewtopic.php?t=910&start=165 )
vit писал(а):
piroJOKE писал(а):Ух ты. :shock: А сам делал, или сказал кто? :twisted: (...)
Хех, вообще-то спёр.
Решение тут: http://forums.openkore.com/viewtopic.php?t=36009
в 7-м сообщении :)

Так что скажем спасибо товарищу Slennox, который решил эту проблему(ну и мне, что я тут подробненько расписал, как её решить :) )
ЗЫ: recvpackets.txt лучше сгенерировать целиком, процесс описан в FAQ'e здесь: viewtopic.php?p=44902#44902

ЗЗЫ: Думается мне, что эта заплатка временная, и скоро эта проблема будет решаться на уровне опции где-то в конфиге.

PPPS: А вот это скорее всего не понадобится, но вдруг:
vit писал(а):Такс... Ну, в общем, ко всем изменениям, описанным здесь, надо сделать еще одно:
В файле recvpackets.txt дописать:
001E 2
P.S: На самом деле такого пакета не существует. Просто неправильно обрабатывается пакет(0283), и хоть в recvpackets.txt прописана его длина, равная 6, почему-то кора считает его длину равной 4-м и эти 2 байта кора считает за новый неизвестный пакет(вот хз, почему так. Какую длину пакета 0283 не ставишь, кора всё равно считает его длину равной 4 :shock: ).
PPS: Ага! Этот пакет в разных местах вылазит разный. Вот какой он вылезет, такой и надо в recvpackets.txt дописывать. :crazy:
Последний раз редактировалось piroJOKE Пн май 26, 2008 1:51 pm, всего редактировалось 6 раз.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

piroJOKE
В действительности Никак не бага, а скорее изменение структуры пакетов.
К сожалению прямое вмешательство в "Receive.pm" чревато последствиями.

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

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

наверно это как-то можно оформить как новый serverType?
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

4epT писал(а):наверно это как-то можно оформить как новый serverType?
Я начал флейм про это на форуме ОК: http://bibian.ath.cx/openkore/viewtopic.php?t=37294
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Но и это еще не всё!
(Ссылка на мой потс в соседней теме - про recvpackets)
viewtopic.php?p=48149#48149
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

bibian интересуется на форуме ОК, не сделал ли кто-нибудь под это безобразие новый сервер-тайп?
http://bibian.ath.cx/openkore/viewtopic ... 4&start=15
:cry:

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

Еще пишут какие-то ужасы, что дескать 2.0.4 чудесно пашет, а ваш новый 2.0.6 - фигушки. Мол, поломалось чо-то. Короче, мутно всё. %)
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
vit
Бывалый
Сообщения: 624
Зарегистрирован: Вс мар 25, 2007 9:18 pm
Сервер RO:: localhost
Откуда: Санкт-Петербург

Сообщение vit »

piroJOKE писал(а):Еще пишут какие-то ужасы, что дескать 2.0.4 чудесно пашет, а ваш новый 2.0.6 - фигушки. Мол, поломалось чо-то. Короче, мутно всё. %)
Угу, подтверждаю. Пашет на 205SVN6071 а вот на 206SVN6172 уже ункноун пакеты при коннекте к мап-серверу(других сборок между этими у меня нет, а смотреть, что такого они понаделали за это время очень долго...).
Кстати, это не имеет никакого отношения к неверно распознающимся мобам....
vit
Бывалый
Сообщения: 624
Зарегистрирован: Вс мар 25, 2007 9:18 pm
Сервер RO:: localhost
Откуда: Санкт-Петербург

Сообщение vit »

Потестил новую сборку SVN-6260, а именно serverType 8_2. Все работает отлично. Мобы отображаются нормально, и бот их прекрасно атакует. Тестил на ФлайРО. Естесственно сделал ресивпакетс.
На ЗениРО serverType 8 , поэтому там с serverType 8_2 не пашет.

Но осталась старая ошибка(впрочем она не имеет никакого отношения к этой теме):
Но на обоих серверах при коннекте к мап-серверу показывается ункноуп пакет (001E и 0C01). При этом ОК вываливается с ошибкой. При добавлении в ресивпакетс этого пакета, все работает. Посмотрю завтра, что они там такого попортили...

[mod="piroJOKE"]это важно, внимание![/mod]
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

vit
Смотри вверху, что написал КМ. viewtopic.php?p=45966#45966 Вот это - оно. Имхо.

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

NB: Сделать recvpackets'ы отдельные под sT-8 и sT-8_2, и засунуть их в SVN.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
vit
Бывалый
Сообщения: 624
Зарегистрирован: Вс мар 25, 2007 9:18 pm
Сервер RO:: localhost
Откуда: Санкт-Петербург

Сообщение vit »

piroJOKE писал(а):vit
Смотри вверху, что написал КМ. viewtopic.php?p=45966#45966 Вот это - оно. Имхо.
Эээ. Но если мы берем, скажем сервер ЗениРО, берем ОК 194(194-205), прописываем настройки в серверс.тхт, и у нас все пашет прекрасно. Берем свеженькую ОК 206, делаем то же самое, запускаем... опля, ОК вылетает с ошибкой(правим ресивпакетс вручную(!!!), всё пашет).
piroJOKE писал(а):NB: Сделать recvpackets'ы отдельные под sT-8 и sT-8_2, и засунуть их в SVN.
Это можно. Кстати, отличаться они будут только теми изменениями, которые указаны в первом посте(3 пакета на 1 байт длиннее).
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

vit
Действительно ли всё "пашет прекрасно" в 1.9.4 на новых серверах? (Я это, серьёзно спрашиваю)
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

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

с сервертипом 8_2 периодично флудит консолька:
Unknown #2003342: **
Unknown #2003342: **
Unknown #2003342: **
Unknown #2005721: **
Unknown #2004833: **
Unknown #2005721: **
Unknown #2004833: **
Unknown #2005721: **
Unknown #2005721: **
Unknown #2005721: **
Unknown #2005721: **
пробовал на free-ro, OpenKore_206SVN6259, "serverType 8_2", "001E 2"


не новость, просто напоминаю

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

дебаг показывает:
Received packet: 01F3 Handler: npc_effect
Unknown #2001078: **
Received packet: 01F3 Handler: npc_effect
Unknown #2001078: **
Received packet: 01F3 Handler: npc_effect
Unknown #2001078: **
Received packet: 01F3 Handler: npc_effect
Unknown #2001078: **
Добавлено спустя 2 минуты 59 секунд:

видимто что-то нужно сотворить с:

Код: Выделить всё

'01F3' => ['npc_effect', 'a4 a4', [qw(ID effect)]],
Добавлено спустя 8 минут 39 секунд:

вот ещё немного дебага
================================================
<< Received packet: 01F3 [10 bytes] Apr 29 21:42:04 2008
0> F3 01 27 89 1E 00 AA 01 00 00 ..'.......
Received packet: 01F3 Handler: npc_effect
name = 'Unknown #2001191'
Unknown #2001191: **
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Бурдалак
Новичок
Сообщения: 2
Зарегистрирован: Вт май 20, 2008 4:16 pm

Сообщение Бурдалак »

Прошу помощи.... Я все сделал как было описано в первом посте, запускаю бота - он бегает и пишет Unknown 7700 (к примеру,итд) и не бьет мобов - просто бегает по локе. Что мне еще нужно сделать/заменить/дописать - подскажите пожалуйста....

P.S. сервер если нужно - AvandardRO. Заранее, большое спасибо, если поможете.
P.P.S. Прога openkore-packet-length-extractor не вскрывает патчер, поэтому не могу выведать recvpackets.txt .... Если кто может - помогите пожалуйста, а то ошибка вылезает :
---------------------------
Error
---------------------------
An error occured:
C:\Documents and Settings\Àíäðåé\Ðàáî÷èé ñòîë\Ãåíäîëüô\ðàíäîì\AvangardRO Start.exe: File format not recognized
---------------------------
ОК
---------------------------
vit
Бывалый
Сообщения: 624
Зарегистрирован: Вс мар 25, 2007 9:18 pm
Сервер RO:: localhost
Откуда: Санкт-Петербург

Сообщение vit »

Бурдалак писал(а):P.P.S. Прога openkore-packet-length-extractor не вскрывает патчер
Не патчер, а клиент надо...

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

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

можно чуток отсюда украсть
Начиная с SVN6260 появился новый "serverType 8_2", поэтому нам достаточно в настройках на сервак (tables\servers.txt) исправить serverType на 8_2.

ПУНКТ 3

Запускаем бота, если при загрузке или в ходе игры нам всё ещё продолжают лезть "Unknown packet", то придётся их вручную дописать в файл recvpackets.txt, который мы получили в п.1, например:
Цитата:001E 2
0064 55
0065 17
...

т.е. "001E" - это имя пакета, "2" - это его длина тут всегда ставим 2 (при условии что вы сделали п.1!!)
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Ответить