Openkore.com

OpenKore Forums
It is currently 22 Sep 2018, 06:46

All times are UTC - 5 hours [ DST ]





Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 11 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Packets can be stopped?
PostPosted: 21 Nov 2012, 14:16 
Offline
OpenKore Monk
OpenKore Monk

Joined: 08 Jun 2012, 15:42
Posts: 401
Location: Brazil
In a plugin I'm creating, I'm realizing download the emblems of guilds of players who are near to the BOT.

The problem is that in most cases the emblems downloaded by OpenKore is incomplete. Ie not realize all data while conducting download.
I believe that this is caused by the high size of certain emblems that even compressed by zLib, still very heavy.
I believe that this is caused by a security measure OpenKore, which stops the packets that are too large.
If it does exist, where is the command that does this? For so I can make an exception


You may have other reasons for this problem. If you have any better ideas, please tell.

_________________
Image


Top
 Profile  
 
 Post subject: Re: Packets can be stopped?
PostPosted: 22 Nov 2012, 04:42 
Offline
Developers
Developers

Joined: 05 Dec 2008, 05:42
Posts: 1811
Guild emblem packets are probably sent in several pieces, but that should be handled transparently by MessageTokenizer. There should be no truncating of "too large" packets.

Can you compare related data in openkore's debug mode and WPE/Wireshark?


Top
 Profile  
 
 Post subject: Re: Packets can be stopped?
PostPosted: 22 Nov 2012, 11:09 
Offline
OpenKore Monk
OpenKore Monk

Joined: 08 Jun 2012, 15:42
Posts: 401
Location: Brazil
EternalHarvest wrote:
Guild emblem packets are probably sent in several pieces, but that should be handled transparently by MessageTokenizer. There should be no truncating of "too large" packets.

Can you compare related data in openkore's debug mode and WPE/Wireshark?

Thanks for the suggestion, really well.

I used the Microsoft Network Monitor 3.4 in bRO and I obtained the following results:

Image
Packat main the guild_emblem: 52 01 A9 05 C2 3D 00 00 01 00 00 00
Continued: http://pastebin.com/tufJEBpa

I think not, but if you already have some in native OpenKore who perform the interpretation of packages that are partitioned, as emblems of this case? To serve as an example for my case.

_________________
Image


Top
 Profile  
 
 Post subject: Re: Packets can be stopped?
PostPosted: 22 Nov 2012, 11:23 
Offline
Developers
Developers

Joined: 05 Dec 2008, 05:42
Posts: 1811
KeplerBR wrote:
I think not, but if you already have some in native OpenKore who perform the interpretation of packages that are partitioned, as emblems of this case? To serve as an example for my case.

EternalHarvest wrote:
that should be handled transparently by MessageTokenizer

The whole MessageTokenizer class does just that, and not much more. It's irrelevant whether a packet is an emblem packet or any other on that level. PacketParser, server types etc don't care about underlying byte stream details, they operate on discrete RO protocol messages.


Top
 Profile  
 
 Post subject: Re: Packets can be stopped?
PostPosted: 22 Nov 2012, 13:43 
Offline
OpenKore Monk
OpenKore Monk

Joined: 08 Jun 2012, 15:42
Posts: 401
Location: Brazil
Since it the package is handled by MessageTokenizer, so no matter whether it is partitioned or not, because the emblem is partially saved by OpenKore?

Image
Plugin: http://pastebin.com/ksTmkfcx

PS: The image obtained by OpenKore was still compressed by zLib and, if he tried to decompress it, would not succeed because it is incomplete.

_________________
Image


Top
 Profile  
 
 Post subject: Re: Packets can be stopped?
PostPosted: 23 Nov 2012, 20:39 
Offline
Developers
Developers

Joined: 05 Dec 2008, 05:42
Posts: 1811
"emblem" is unpacked as "Z*" in "guild_emblem" (in ServerType file). Try "a*" there instead.


Top
 Profile  
 
 Post subject: Re: Packets can be stopped?
PostPosted: 24 Nov 2012, 01:29 
Offline
OpenKore Monk
OpenKore Monk

Joined: 08 Jun 2012, 15:42
Posts: 401
Location: Brazil
THANK YOU. This solved the problem the problem! Now, it is always successful in unpacking the emblems.

With some more details, I will publish the official SVN plugin in and fix this packet, oky?

_________________
Image


Top
 Profile  
 
 Post subject: Re: Packets can be stopped?
PostPosted: 24 Nov 2012, 06:44 
Offline
Developers
Developers

Joined: 05 Dec 2008, 05:42
Posts: 1811
Yes, do that. Don't forget to change guild_emblem in all servertypes, and this can be done in separate commit too.


Top
 Profile  
 
 Post subject: Re: Packets can be stopped?
PostPosted: 26 Nov 2012, 00:54 
Offline
OpenKore Monk
OpenKore Monk

Joined: 08 Jun 2012, 15:42
Posts: 401
Location: Brazil
It was pretty tricky, but here's the plugin.
He downloads the emblems, decompresses the zLib, removes the color pink and saves.

http://pastebin.com/gND2zGKX

Honestly, I thought it was horrible to part of remove the color pink, but do not know how to improve. Somehow, it works, but in a few cases, resulting in error messages like the one below

Image

_________________
Image


Top
 Profile  
 
 Post subject: Re: Packets can be stopped?
PostPosted: 28 Nov 2012, 16:33 
Offline
OpenKore Monk
OpenKore Monk

Joined: 08 Jun 2012, 15:42
Posts: 401
Location: Brazil
Problem resolved
viewtopic.php?f=34&t=18466

_________________
Image


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 11 posts ]  Go to page 1, 2  Next

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group