PDA

Просмотр полной версии : serverType 8_5 и пакет 016C


Герман
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.

Есть ли способ избавиться от этой проблемы? Если да, то прошу его рассказать. Я немного погуглил, но решения не нашёл. Не нашёл и описания этой проблемы.

[BMP]
04.10.2009, 16:04
Обнови бота до последней версии (2.0.7 r6915) - там эта проблема уже решена

ЗЫ: Старайся скачивать самую последнюю версию

Герман
04.10.2009, 18:05
Скачал последнюю версию. Получил аналогичную ситуацию с другой ошибкой:

Error message:
'x' outside of string in unpack at src/Network/Receive.pm line 159.

Stack trace:
'x' outside of string in unpack at src/Network/Receive.pm line 159.
at src/Network/Receive.pm line 159
Network::Receive::parse('Network::Receive::ServerT ype8_5=HASH(0x4775ac4)', 'l\x{1}') called at src/functions.pl line 1204
main::parseIncomingMessage('l\x{1}') called at src/functions.pl line 551
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(0x37dbb68)') 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];

[BMP]
04.10.2009, 19:23
Проблема в следующем: 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];

Хм... Я конечно не экстрасенс(может ты его уже удлил), но может поможет удаление пакета 016C из receivepackets.txt?

ЗЫ: У меня законектилось нормально )
ТОлько потом приходит пакет 07D9 и дисконектит ) Там защита стоит?

Герман
04.10.2009, 19:55
[Oct 4 21:53:31 2009.89] Unknown packet - 016C
[Oct 4 21:53:33 2009.80] Disconnected from Map Server, connecting to Account Server in 30 seconds...

конечно, я пробовал его удалять. защиты там никакой нет.

------------------------------------------------------------------------------------------------------

проблема решается с помощью serverType=22. 016С не прописывать.

Lamer53
19.05.2011, 02:26
Можешь скинуть для этого сервера полный конфиг, буду благодарен