cliloc and 0xbf 0x10 subcmd

Here you can discuss packets, implementation and design, and software related to the packet sniffing and such. This is not the place to post packages for POL, but rather discuss the packet side of them.

Moderator: POL Developer

Post Reply
Voicer
Neophyte Poster
Posts: 30
Joined: Fri Oct 06, 2006 8:30 am
Location: Poland

cliloc and 0xbf 0x10 subcmd

Post by Voicer » Fri Aug 23, 2013 3:58 am

I am fighting with the auto update of cliloc (megacliloc package) other than changing names of the items or using increvision (which is almost perfect solution).

I wonder how to do it with packets only and I managed to build a packet that updates the cliloc when used by command:

Code: Select all

// refresh cliloc info through packets.
var newpacket := CreatePacket (0xBF, MSGLEN_VARIABLE );
newpacket.SetSize(12+8);
newpacket.SetInt16(03, 0x10);
newpacket.SetInt32(05, xObject.serial);
newpacket.SetInt32(09, I_HAVE_NO_IDEA);
newpacket.SendPacket(who);
I_HAVE_NO_IDEA: using xobject.serial or even who.serial still works.

The problem is that I do not fully understand the packet and when it should be sent. Anyone has any experience? For me it seems that something is missing server-side, if for example POLCLASS_ITEM object have any properties changed, it should send a packet to client so the client could request cliloc update.

I hope you have any findings, anything would help!

If no I will go with the SpyUO + RunUO path to see how it works there, so far SpyUO hangs when I try to attach it to my 5.0.9.1 client :/

Btw - polcore I use - latest SVN.

Tomi
POL Developer
Posts: 475
Joined: Tue Feb 21, 2006 5:08 pm

Re: cliloc and 0xbf 0x10 subcmd

Post by Tomi » Fri Aug 23, 2013 10:35 am

That packet is the old object cache packet and the "I HAVE NO IDEA" is the revision hash
That packet was replaced with packet 0xDC during clientversion change 4 -> 5
Here you have some explanation of how they are sent written by Turley in core changes
Added: support for new ObjectCacheInfos introduced in 5.0.0
old behavior: Server sends 0xBF Sub 0x10 per object ->Client response also with 0xBF Sub 0x10 per item
new behavior: Server sends 0xDC per object -> Client response with 0xD6 (there can be more then one serial up to ~16)
intern check is
if ((ssopt.ForceNewObjCachePackets) || (isUOKR) || (clientversion.major>=5))
since the client sends his clientversion not instantly the first few ObjCacheInfos are sent
the old way (thats why the new ssopt is added)
Note: since client 6.0.5.0 the clientversion is instantly known (new seed packet)
And as a note IncRevision is first increasing the revision value and then sending these packets to all clients in range, so it should work aswell as your packet build.

So about sending packets you should use 0xDC with the later clients, but why not just use the IncRevision function or is it not working ?

Voicer
Neophyte Poster
Posts: 30
Joined: Fri Oct 06, 2006 8:30 am
Location: Poland

Re: cliloc and 0xbf 0x10 subcmd

Post by Voicer » Sat Aug 24, 2013 12:10 am

thanks for help, I will give it a try. I was just curious about this packet.

Harley
Forum Regular
Posts: 311
Joined: Sat Mar 18, 2006 1:41 am
Location: Germany

Re: cliloc and 0xbf 0x10 subcmd

Post by Harley » Fri Apr 04, 2014 4:52 am

Hey guys! I'm very need your help! I have thoose problem, that after some SetObjProperty( item ...) information didn't display.
In packets I don't understanding :(
Please, help me with some working script!

With best regards!

qrak
Grandmaster Poster
Posts: 198
Joined: Sun Feb 05, 2006 4:35 pm
Location: Poland

Re: cliloc and 0xbf 0x10 subcmd

Post by qrak » Fri Apr 04, 2014 6:47 am

Harley wrote:Hey guys! I'm very need your help! I have thoose problem, that after some SetObjProperty( item ...) information didn't display.
In packets I don't understanding :(
Please, help me with some working script!

With best regards!
Add after setobjproperty IncRevision(item). Works for me.
Shutdown();

Harley
Forum Regular
Posts: 311
Joined: Sat Mar 18, 2006 1:41 am
Location: Germany

Re: cliloc and 0xbf 0x10 subcmd

Post by Harley » Fri Apr 04, 2014 11:26 pm

qrak wrote: Add after setobjproperty IncRevision(item). Works for me.
Qrak, thank u! Helped!

qrak
Grandmaster Poster
Posts: 198
Joined: Sun Feb 05, 2006 4:35 pm
Location: Poland

Re: cliloc and 0xbf 0x10 subcmd

Post by qrak » Sat Apr 05, 2014 5:42 am

Harley wrote:
qrak wrote: Add after setobjproperty IncRevision(item). Works for me.
Qrak, thank u! Helped!
No problem, please give me link to your shard www
Shutdown();

Harley
Forum Regular
Posts: 311
Joined: Sat Mar 18, 2006 1:41 am
Location: Germany

Re: cliloc and 0xbf 0x10 subcmd

Post by Harley » Sat Apr 05, 2014 7:33 am

qrak wrote:
Harley wrote:
qrak wrote: Add after setobjproperty IncRevision(item). Works for me.
Qrak, thank u! Helped!
No problem, please give me link to your shard www
http://uozhk.com/

We will change this site & domain in week.

Post Reply