[Opensim-users] looking for full viewer-server API and communication details.

Leal Duarte ajlduarte at sapo.pt
Fri Jan 18 01:45:10 UTC 2019


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 <eekee57 at fastmail.fm> 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
>> Opensim-users at opensimulator.org
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
> _______________________________________________
> Opensim-users mailing list
> Opensim-users at opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-users
>


More information about the Opensim-users mailing list