Sadly, those funny numbers are close to written in stone.
It possible that we could fix the packet id for UseCircuitCode so that finding that packet in an outgoing stream would be easier.
On 2006 Oct 12, at 09:27, Jesse Nesbitt wrote:
SL's not set up as a totaly traditional client-server system. LL hosts the Simulator, a server that hosts the Region that you're in and all its objects. The Viewer is the client that you use to access Second Life, be it the original or libsl-based. As far as I can tell (and from what some Linden told me [It might have been Pheonix]), the client starts sending packets to the server on that port range, trying to "bust through" NAT and firewalls by making the server traffic act like a response. On 10/12/06, Donna Dionne <[EMAIL PROTECTED]> wrote:HI! Thanks so much for the reply! I am a bit confused about the terminology used here. Can you correct me about my understanding below? viewer = client simulator = server viewer = game site ? simulator = subscriber/user site? 1st packet is from client to server server typcially use these fixed ports: 12035, 12036, 13000-13050? any port requirement on the client side?We are studying the second life protocol as a list of protocols which we aretrying to recongize. Thanks so much for your help! Donna John Hurliman <[EMAIL PROTECTED]> wrote: Donna Dionne wrote: > HI! > > From some captures we have, it looks like the 1st packet from the > server to client has the following header> 40 00 00 01 FF FF 00 03 and the total size of the packet (header and> payload) is 44. > > This seems to indicate this is a UseCircuitCode packet, with the > following fields (in order) > ID (16 bytes) > SessionID (16 bytes) > Code (4 bytes) > > There is then an ack packet going from the client to the server > 00 00 00 01 FF FF FF FB 01 00 00 00 01 > the ack is of size 13 > > Can I assume that these are the characteristic of the second life > protocol communication in all cases? > > Thanks so much! > Sincerely, > Donna > >--------------------------------------------------------------------- ---You have both of those packets correct; the viewer (client) first opens a connection to the sim by sending a UseCircuitCode and waiting for anACK. Note that it's possible for the order of the message_template packets to change around in a future release, which would change thepacket id numbers of packets. So you can't always assume that low id 3 is UseCircuitCode, you have to decode the message_template each time. In the latest libsecondlife code we're working on, the message template isconverted in to C# classes (about 100,000 lines of code), and new classes are generated every time a message_template.msg is released. John
PGP.sig
Description: This is a digitally signed message part
_______________________________________________ libsecondlife-dev mailing list libsecondlife-dev@gna.org https://mail.gna.org/listinfo/libsecondlife-dev http://www.libsecondlife.org/