Страница 1 из 3

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

Добавлено: Вт янв 29, 2008 2:55 pm
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:

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

В Общем, Разработчикам ОК давно о ней извесно, и даже были примеры решения.
Прежде было сообщение о том, что пакеты с длинной 0 (переменная длинна), вместо двух байтовой длинны имеют 4 байта (ТЕ целочисленное значение типа DWORD). Тогда-же и обнаружились изменения в структуре заголовков пакетов.

Добавлено: Ср янв 30, 2008 8:30 pm
4epT
наверно это как-то можно оформить как новый serverType?

Добавлено: Вт фев 05, 2008 1:20 pm
piroJOKE
4epT писал(а):наверно это как-то можно оформить как новый serverType?
Я начал флейм про это на форуме ОК: http://bibian.ath.cx/openkore/viewtopic.php?t=37294

Добавлено: Вс мар 02, 2008 1:36 am
piroJOKE
Но и это еще не всё!
(Ссылка на мой потс в соседней теме - про recvpackets)
viewtopic.php?p=48149#48149

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

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

Еще пишут какие-то ужасы, что дескать 2.0.4 чудесно пашет, а ваш новый 2.0.6 - фигушки. Мол, поломалось чо-то. Короче, мутно всё. %)

Добавлено: Вс мар 16, 2008 11:15 pm
vit
piroJOKE писал(а):Еще пишут какие-то ужасы, что дескать 2.0.4 чудесно пашет, а ваш новый 2.0.6 - фигушки. Мол, поломалось чо-то. Короче, мутно всё. %)
Угу, подтверждаю. Пашет на 205SVN6071 а вот на 206SVN6172 уже ункноун пакеты при коннекте к мап-серверу(других сборок между этими у меня нет, а смотреть, что такого они понаделали за это время очень долго...).
Кстати, это не имеет никакого отношения к неверно распознающимся мобам....

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

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

[mod="piroJOKE"]это важно, внимание![/mod]

Добавлено: Вт мар 18, 2008 1:52 am
piroJOKE
vit
Смотри вверху, что написал КМ. viewtopic.php?p=45966#45966 Вот это - оно. Имхо.

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

NB: Сделать recvpackets'ы отдельные под sT-8 и sT-8_2, и засунуть их в SVN.

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

Добавлено: Вт мар 18, 2008 2:48 am
piroJOKE
vit
Действительно ли всё "пашет прекрасно" в 1.9.4 на новых серверах? (Я это, серьёзно спрашиваю)

Добавлено: Вт апр 29, 2008 8:42 pm
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: **

Добавлено: Ср май 21, 2008 7:02 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
---------------------------
ОК
---------------------------

Добавлено: Ср май 21, 2008 7:12 pm
vit
Бурдалак писал(а):P.P.S. Прога openkore-packet-length-extractor не вскрывает патчер
Не патчер, а клиент надо...

P.S: Pj, поправь немного первый пост - напиши про сервер тайп 8_2.

Добавлено: Чт май 22, 2008 9:59 pm
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!!)