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