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