Герман
04.10.2009, 14:42
Пытался настроить бота на сервер http://old-school-ro.narod.ru/reg.html.
Выяснил, что:
[OldSchoolRo]
#tcp && tcp.port == 6925 && ip.addr == 84.19.190.137 //это для wireshark-а, чтоб лишний раз не писать фильтр
ip 84.19.190.137
port 6925
master_version 2
version 15
serverType 8_5 //не отображались многие статусы
serverEncoding Russian
charBlockSize 108 //чар отображался неправильно, поэтому 108
Проблема в следующем: unknown packet 016C. Packet extractor я использовал. Когда я прописал ручками этот пакет, вылезла ошибочка. Вот лог:
Network state = 5
Network handler = Network::DirectConnection
SVN revision: 6803
No loaded plugins.
Error message:
'x' outside of string in unpack at src/Network/Receive.pm line 466.
Stack trace:
'x' outside of string in unpack at src/Network/Receive.pm line 466.
at src/Network/Receive.pm line 466
Network::Receive::parse('Network::Receive::ServerT ype8_5=HASH(0x2af89f4)', 'l\x{1}') called at src/functions.pl line 1203
main::parseIncomingMessage('l\x{1}') called at src/functions.pl line 548
main::mainLoop_initialized() called at src/functions.pl line 70
main::mainLoop() called at src/Interface.pm line 75
Interface::mainLoop('Interface::Console::Win32=HAS H(0x3a4cec0)') called at openkore.pl line 96
main::__start() called at start.pl line 119
Died at this line:
if ($handler->[1]) {
* my @unpacked_data = unpack("x2 $handler->[1]", $msg);
my $keys = $handler->[2];
Если не прописать пакет и оставить serverType 8_5 - дисконнект. Прописываешь при любом serverType - ошибка и отключение.
Не прописываешь при любом, кроме serverType 8_5 - бот не видит многих(или всех?) NPC, статусов и выскакивает сообщение об unknown packet.
Бота скачал отсюда http://ragbot.ru/forum/showthread.php?t=4035.
Есть ли способ избавиться от этой проблемы? Если да, то прошу его рассказать. Я немного погуглил, но решения не нашёл. Не нашёл и описания этой проблемы.
Выяснил, что:
[OldSchoolRo]
#tcp && tcp.port == 6925 && ip.addr == 84.19.190.137 //это для wireshark-а, чтоб лишний раз не писать фильтр
ip 84.19.190.137
port 6925
master_version 2
version 15
serverType 8_5 //не отображались многие статусы
serverEncoding Russian
charBlockSize 108 //чар отображался неправильно, поэтому 108
Проблема в следующем: unknown packet 016C. Packet extractor я использовал. Когда я прописал ручками этот пакет, вылезла ошибочка. Вот лог:
Network state = 5
Network handler = Network::DirectConnection
SVN revision: 6803
No loaded plugins.
Error message:
'x' outside of string in unpack at src/Network/Receive.pm line 466.
Stack trace:
'x' outside of string in unpack at src/Network/Receive.pm line 466.
at src/Network/Receive.pm line 466
Network::Receive::parse('Network::Receive::ServerT ype8_5=HASH(0x2af89f4)', 'l\x{1}') called at src/functions.pl line 1203
main::parseIncomingMessage('l\x{1}') called at src/functions.pl line 548
main::mainLoop_initialized() called at src/functions.pl line 70
main::mainLoop() called at src/Interface.pm line 75
Interface::mainLoop('Interface::Console::Win32=HAS H(0x3a4cec0)') called at openkore.pl line 96
main::__start() called at start.pl line 119
Died at this line:
if ($handler->[1]) {
* my @unpacked_data = unpack("x2 $handler->[1]", $msg);
my $keys = $handler->[2];
Если не прописать пакет и оставить serverType 8_5 - дисконнект. Прописываешь при любом serverType - ошибка и отключение.
Не прописываешь при любом, кроме serverType 8_5 - бот не видит многих(или всех?) NPC, статусов и выскакивает сообщение об unknown packet.
Бота скачал отсюда http://ragbot.ru/forum/showthread.php?t=4035.
Есть ли способ избавиться от этой проблемы? Если да, то прошу его рассказать. Я немного погуглил, но решения не нашёл. Не нашёл и описания этой проблемы.