There's a file that is part of the viewer distribution:
message_template.msg which defines the UDP packet layouts. There's some
minimal documentation on the SL wiki at
http://wiki.secondlife.com/wiki/Protocol

libopenmetaverse has a protocol analysis tool: wingridproxy.exe which can
intercept, display, and modify various messages sent over UDP and HTTP
between the viewer and the server. It may not be fully updated to the
latest protocols used in SL but may still work with OpenSImulator.

If you're planning on creating a web-capable viewer you wont be able to use
much of these protocols as web browsers cannot support UDP. You'll need to
use something else.

On Thu, Jan 17, 2019 at 11:40 AM Adam Frisby <a...@deepthink.com.au> wrote:

> Yeah - I don't know if anyone has done it since my time, but yes - there
> was very little documentation of it.
>
> If my memory serves me correctly; there was a packet description file
> served by the viewer, which we then compiled into C# classes (either
> automated or by hand, I forget) which went into libOMV.
>
> Unfortunately I think a lot of the real knowledge was on IRC which has
> been lost to time. Broadly speaking much of the protocol makes implicit
> sense; two things are in my memory though as being challenging to discover.
>
> The first was the packet acknowledgement system, it relies on a lot of
> arcane timing for it to work correctly, and the second was they use a
> custom RLE scheme called ZLE which is RLE but for zero values only.
>
> That said, if you're really serious about redeveloping the protocol -
> tweaking this one is not a good idea. There's a lot of good free options -
> RakNet is now free and open source, for example, and is behind a *lot* of
> games and MMOs.
>
> Netcode is hard. Flee in terror.
>
> Adam
>
> -----Original Message-----
> From: opensim-users-boun...@opensimulator.org <
> opensim-users-boun...@opensimulator.org> On Behalf Of Marcus Llewellyn
> Sent: Thursday, 17 January 2019 12:00 PM
> To: opensim-users@opensimulator.org
> Subject: Re: [Opensim-users] looking for full viewer-server API and
> communication details.
>
> To my knowledge, the protocol has never really been documented. Those that
> knew it well have either moved onto other pursuits or (sadly) passed away.
>
> In this case, a good place to look is at libopenmetaverse. It is a C#
> implementation of the protocol (and other things), and in this case the
> code and some samples might serve as documentation of a sort. You can find
> it at the following link:
> https://github.com/openmetaversefoundation/libopenmetaverse (
> https://link.getmailspring.com/link/1547686550.local-639449c7-58b0-v1.5.5-b7939...@getmailspring.com/0?redirect=https%3A%2F%2Fgithub.com%2Fopenmetaversefoundation%2Flibopenmetaverse&recipient=b3BlbnNpbS11c2Vyc0BvcGVuc2ltdWxhdG9yLm9yZw%3D%3D
> )
>
> On Jan 16 2019, at 5:16 pm, Serendipity Seraph <seren.ser...@gmail.com>
> wrote:
> > I looked briefly at code for the Singularity Viewer but it was not
> > obvious what the API calls and information flows are in their
> > fullness. What document defines the full API and communication details
> > between opnensim/SL clients and servers? I have looked via Google a
> > few times without much certainty I have found the right stuff.
> >
> > Thanks!
> > _______________________________________________
> > Opensim-users mailing list
> > Opensim-users@opensimulator.org
> > http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
> >
>
> _______________________________________________
> Opensim-users mailing list
> Opensim-users@opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
> _______________________________________________
> Opensim-users mailing list
> Opensim-users@opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>
_______________________________________________
Opensim-users mailing list
Opensim-users@opensimulator.org
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users

Reply via email to