looking for full viewer-server API and communication details.

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

looking for full viewer-server API and communication details.

Serendipity Seraph-2
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
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: looking for full viewer-server API and communication details.

Marcus Llewellyn
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-b7939d38@.../0?redirect=https%3A%2F%2Fgithub.com%2Fopenmetaversefoundation%2Flibopenmetaverse&recipient=b3BlbnNpbS11c2Vyc0BvcGVuc2ltdWxhdG9yLm9yZw%3D%3D)

On Jan 16 2019, at 5:16 pm, Serendipity Seraph <[hidden email]> 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
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>

_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: looking for full viewer-server API and communication details.

Serendipity Seraph-2
Thanks for the links, Marcus.  It is very surprising to me that there is
not one file or directory that says in code explicitly what viewer <->
server commands and responses are supported or required.   Surely this
cannot be the case.   I have seen such docs for server -> grid services
communication.   But not for viewer <-> server.   These latter would be
critical for anyone seeking to design a new viewer (web viewer for
instance), improve the protocols and the efficiency thereof, etc.

On Wed, Jan 16, 2019 at 6:00 PM Marcus Llewellyn <[hidden email]>
wrote:

> 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-b7939d38@.../0?redirect=https%3A%2F%2Fgithub.com%2Fopenmetaversefoundation%2Flibopenmetaverse&recipient=b3BlbnNpbS11c2Vyc0BvcGVuc2ltdWxhdG9yLm9yZw%3D%3D
> )
>
> On Jan 16 2019, at 5:16 pm, Serendipity Seraph <[hidden email]>
> 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
> > [hidden email]
> > http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
> >
>
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: looking for full viewer-server API and communication details.

Serendipity Seraph-2
Perhaps it will be more obvious starting from server side.

On Thu, Jan 17, 2019 at 12:31 PM Serendipity Seraph <[hidden email]>
wrote:

> Thanks for the links, Marcus.  It is very surprising to me that there is
> not one file or directory that says in code explicitly what viewer <->
> server commands and responses are supported or required.   Surely this
> cannot be the case.   I have seen such docs for server -> grid services
> communication.   But not for viewer <-> server.   These latter would be
> critical for anyone seeking to design a new viewer (web viewer for
> instance), improve the protocols and the efficiency thereof, etc.
>
> On Wed, Jan 16, 2019 at 6:00 PM Marcus Llewellyn <
> [hidden email]> wrote:
>
>> 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-b7939d38@.../0?redirect=https%3A%2F%2Fgithub.com%2Fopenmetaversefoundation%2Flibopenmetaverse&recipient=b3BlbnNpbS11c2Vyc0BvcGVuc2ltdWxhdG9yLm9yZw%3D%3D
>> )
>>
>> On Jan 16 2019, at 5:16 pm, Serendipity Seraph <[hidden email]>
>> 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
>> > [hidden email]
>> > http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>> >
>>
>> _______________________________________________
>> Opensim-users mailing list
>> [hidden email]
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>>
>
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: looking for full viewer-server API and communication details.

Frisby, Adam
In reply to this post by Marcus Llewellyn
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: [hidden email] <[hidden email]> On Behalf Of Marcus Llewellyn
Sent: Thursday, 17 January 2019 12:00 PM
To: [hidden email]
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-b7939d38@.../0?redirect=https%3A%2F%2Fgithub.com%2Fopenmetaversefoundation%2Flibopenmetaverse&recipient=b3BlbnNpbS11c2Vyc0BvcGVuc2ltdWxhdG9yLm9yZw%3D%3D)

On Jan 16 2019, at 5:16 pm, Serendipity Seraph <[hidden email]> 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
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>

_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: looking for full viewer-server API and communication details.

Dahlia Trimble
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 <[hidden email]> 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: [hidden email] <
> [hidden email]> On Behalf Of Marcus Llewellyn
> Sent: Thursday, 17 January 2019 12:00 PM
> To: [hidden email]
> 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-b7939d38@.../0?redirect=https%3A%2F%2Fgithub.com%2Fopenmetaversefoundation%2Flibopenmetaverse&recipient=b3BlbnNpbS11c2Vyc0BvcGVuc2ltdWxhdG9yLm9yZw%3D%3D
> )
>
> On Jan 16 2019, at 5:16 pm, Serendipity Seraph <[hidden email]>
> 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
> > [hidden email]
> > http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
> >
>
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: looking for full viewer-server API and communication details.

Ethan Gardener
In reply to this post by Frisby, Adam
On Thu, Jan 17, 2019, at 7:40 PM, Adam Frisby wrote:
> The first was the packet acknowledgement system, it relies on a lot of
> arcane timing for it to work correctly,

I think this explains well over half the bugs I've ever seen in Second Life, OpenSim, and InWorldz altogether!  I always knew there was some timing-related nonsense where there shouldn't be.  ... "Nonsense" is me being polite; there's so much broken behaviour which so obviously depends on crazy timing when there is no need for crazy timing that it makes me angry!

> 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.

I'd *love* a viewer for OpenSim with a completely new protocol.  I've been sure it would be a good idea for... oh... 10-12 years, but my health has never been good enough to start.  My health has recently improved, but I'm only now at the point where I can start learning, so I've got nothing of value to offer yet.

> Netcode is hard. Flee in terror.

All code is hard, :) but yeah, networking programming is one of the (many) things which requires whole new ways of thinking.

I recently learned of Spin and its language, Promela.  "Spin is a tool for analyzing the logical consistency of concurrent systems, specifically of data communication protocols."  More info here:
http://spinroot.com/spin/Man/Manual.html
Home page:
http://spinroot.com/spin/whatispin.html
I'd use it if I was working on something as big as virtual world client-server protocol.
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: looking for full viewer-server API and communication details.

Toni Alatalo-2
Yes, there is the template which describes the UDP packages pretty nicely.

As suggested, one way to start looking at the messages is from the
Opensim server side code that handles them. A place to start that is:
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs

In viewgit:
http://opensimulator.org/viewgit/?a=viewblob&p=opensim&h=b61bdeb647dfe79c7f00bd631f84d5c9ee9644bc&hb=b2810c4ca718663f2bbc8c86646444d698873352&f=OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs

We implemented a new protocol in realXtend Tundra - first wrote a
client side implementation of LLUDP, but then switched to a new
protocol. However that protocol was never added to Opensimulator
(would have been possible though), but we just started using the same
codebase that first made for the client as the server as well. Needed
extensibility more than SL compatibility.

-Toni

On Thu, Jan 17, 2019 at 11:05 PM Ethan Gardener <[hidden email]> wrote:

>
> On Thu, Jan 17, 2019, at 7:40 PM, Adam Frisby wrote:
> > The first was the packet acknowledgement system, it relies on a lot of
> > arcane timing for it to work correctly,
>
> I think this explains well over half the bugs I've ever seen in Second Life, OpenSim, and InWorldz altogether!  I always knew there was some timing-related nonsense where there shouldn't be.  ... "Nonsense" is me being polite; there's so much broken behaviour which so obviously depends on crazy timing when there is no need for crazy timing that it makes me angry!
>
> > 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.
>
> I'd *love* a viewer for OpenSim with a completely new protocol.  I've been sure it would be a good idea for... oh... 10-12 years, but my health has never been good enough to start.  My health has recently improved, but I'm only now at the point where I can start learning, so I've got nothing of value to offer yet.
>
> > Netcode is hard. Flee in terror.
>
> All code is hard, :) but yeah, networking programming is one of the (many) things which requires whole new ways of thinking.
>
> I recently learned of Spin and its language, Promela.  "Spin is a tool for analyzing the logical consistency of concurrent systems, specifically of data communication protocols."  More info here:
> http://spinroot.com/spin/Man/Manual.html
> Home page:
> http://spinroot.com/spin/whatispin.html
> I'd use it if I was working on something as big as virtual world client-server protocol.
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: looking for full viewer-server API and communication details.

AJLDuarte
Hi

(what arcane timing ?? go see a tcp stack...)

viewers<->regions protocol have a LLUPD part (that is not just UDP) and
a http part.

LLUDP is described on a file present in all viewers: message_template.msg

opensim c# code maybe easier  to read (?) than viewers c++

llupd packets encode/decode: libopenmetaverse _PACKETS_.cs (autogen, do
not edit)

llupd packets <-> rest of region code: LLClientView.cs

lludp <-> udp:  LLUDPClient.cs and LLUDPServer.cs

http part or so called capabilities: folders Capabilities and
Region/ClientStack/Linden/Caps

or more or less this

regards,

Ubit


On 17-Jan-19 21:24, Toni Alatalo wrote:

> Yes, there is the template which describes the UDP packages pretty nicely.
>
> As suggested, one way to start looking at the messages is from the
> Opensim server side code that handles them. A place to start that is:
> OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
>
> In viewgit:
> http://opensimulator.org/viewgit/?a=viewblob&p=opensim&h=b61bdeb647dfe79c7f00bd631f84d5c9ee9644bc&hb=b2810c4ca718663f2bbc8c86646444d698873352&f=OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
>
> We implemented a new protocol in realXtend Tundra - first wrote a
> client side implementation of LLUDP, but then switched to a new
> protocol. However that protocol was never added to Opensimulator
> (would have been possible though), but we just started using the same
> codebase that first made for the client as the server as well. Needed
> extensibility more than SL compatibility.
>
> -Toni
>
> On Thu, Jan 17, 2019 at 11:05 PM Ethan Gardener <[hidden email]> wrote:
>> On Thu, Jan 17, 2019, at 7:40 PM, Adam Frisby wrote:
>>> The first was the packet acknowledgement system, it relies on a lot of
>>> arcane timing for it to work correctly,
>> I think this explains well over half the bugs I've ever seen in Second Life, OpenSim, and InWorldz altogether!  I always knew there was some timing-related nonsense where there shouldn't be.  ... "Nonsense" is me being polite; there's so much broken behaviour which so obviously depends on crazy timing when there is no need for crazy timing that it makes me angry!
>>
>>> 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.
>> I'd *love* a viewer for OpenSim with a completely new protocol.  I've been sure it would be a good idea for... oh... 10-12 years, but my health has never been good enough to start.  My health has recently improved, but I'm only now at the point where I can start learning, so I've got nothing of value to offer yet.
>>
>>> Netcode is hard. Flee in terror.
>> All code is hard, :) but yeah, networking programming is one of the (many) things which requires whole new ways of thinking.
>>
>> I recently learned of Spin and its language, Promela.  "Spin is a tool for analyzing the logical consistency of concurrent systems, specifically of data communication protocols."  More info here:
>> http://spinroot.com/spin/Man/Manual.html
>> Home page:
>> http://spinroot.com/spin/whatispin.html
>> I'd use it if I was working on something as big as virtual world client-server protocol.
>> _______________________________________________
>> Opensim-users mailing list
>> [hidden email]
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: looking for full viewer-server API and communication details.

Ethan Gardener
On Fri, Jan 18, 2019, at 1:45 AM, Leal Duarte wrote:
> (what arcane timing ?? go see a tcp stack...)

The difference being TCP has far fewer failures.  
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: looking for full viewer-server API and communication details.

Serendipity Seraph-2
In reply to this post by Dahlia Trimble
Thanks.

Yeah.  My idea concerning UDP was to substitute a websocket to the front
end with a the backend converting to/from whatever the server expects.

On Thu, Jan 17, 2019 at 1:28 PM Dahlia Trimble <[hidden email]>
wrote:

> 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 <[hidden email]>
> 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: [hidden email] <
> > [hidden email]> On Behalf Of Marcus Llewellyn
> > Sent: Thursday, 17 January 2019 12:00 PM
> > To: [hidden email]
> > 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-b7939d38@.../0?redirect=https%3A%2F%2Fgithub.com%2Fopenmetaversefoundation%2Flibopenmetaverse&recipient=b3BlbnNpbS11c2Vyc0BvcGVuc2ltdWxhdG9yLm9yZw%3D%3D
> > )
> >
> > On Jan 16 2019, at 5:16 pm, Serendipity Seraph <[hidden email]>
> > 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
> > > [hidden email]
> > > http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
> > >
> >
> > _______________________________________________
> > Opensim-users mailing list
> > [hidden email]
> > http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
> > _______________________________________________
> > Opensim-users mailing list
> > [hidden email]
> > http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
> >
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: looking for full viewer-server API and communication details.

Ethan Gardener
On Mon, Jan 21, 2019, at 11:25 PM, Serendipity Seraph wrote:
> Yeah.  My idea concerning UDP was to substitute a websocket to the front
> end with a the backend converting to/from whatever the server expects.

I hope it works out. :)  I suspect it'll add a bit of lag to movement, but I hope I'm wrong.  
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
Reply | Threaded
Open this post in threaded view
|

Re: looking for full viewer-server API and communication details.

Mister Blue
Another confusing part of LLLP[1] is that it started as a mostly UDP
protocol and, over time, many different TCP connections were added to it.
In the beginning, everything went through the region simulator but later
TCP connections were added for fetching assets, maps, and doing 'safe'
point-to-point data exchange. All these protocols were never explicitly
published by Linden Lab[2]. Most of the development since then has relied
on looking at the viewers and debugging and debugging until OpenSimulator
and the viewer successfully talk.

Many of  the timing problems mentioned have to do with semantics of
operations like initializing the many different sub-systems when connecting
to a new region and there being a non-obvious order to that initialization.

If anyone would like to talk about a new protocol for OpenSimulator, email
me[3] and I'll set a group up.

== mb

[1] My name for "Linden Lab Legacy Protocol" which is all the UDP and TCP
connections between the simulator/grid/viewer.
[2] One of the original developers of libOmv noted that the reverse
engineering of the original protocol was done before the DCMA.
[3] misterblue at misterblue.com

On Tue, Jan 22, 2019 at 12:08 AM Ethan Gardener <[hidden email]> wrote:

> On Mon, Jan 21, 2019, at 11:25 PM, Serendipity Seraph wrote:
> > Yeah.  My idea concerning UDP was to substitute a websocket to the front
> > end with a the backend converting to/from whatever the server expects.
>
> I hope it works out. :)  I suspect it'll add a bit of lag to movement, but
> I hope I'm wrong.
> _______________________________________________
> Opensim-users mailing list
> [hidden email]
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>
_______________________________________________
Opensim-users mailing list
[hidden email]
http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users