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 are
trying 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 an
ACK. Note that it's possible for the order of the message_template
packets to change around in a future release, which would change the
packet 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 is
converted in to C# classes (about 100,000 lines of code), and new
classes are generated every time a message_template.msg is released.

John

_______________________________________________
libsecondlife-dev mailing list
libsecondlife-dev@gna.org
https://mail.gna.org/listinfo/libsecondlife-dev
http://www.libsecondlife.org/



 ________________________________
Get your email and more, right on the new Yahoo.com


_______________________________________________
libsecondlife-dev mailing list
libsecondlife-dev@gna.org
https://mail.gna.org/listinfo/libsecondlife-dev
http://www.libsecondlife.org/




--
--Jesse

_______________________________________________
libsecondlife-dev mailing list
libsecondlife-dev@gna.org
https://mail.gna.org/listinfo/libsecondlife-dev
http://www.libsecondlife.org/

Reply via email to