[Opensim-dev] Protocol documentation, anyone?
Cristina Videira Lopes
lopes at ics.uci.edu
Tue Dec 9 22:54:39 UTC 2008
It's clear that we don't know a lot of things of the client-server
protocol with the LL viewer. The fact that things like TPs and crossings
kind of work seems to be entirely due to the relentless work of
trial-and-error of some early contributors to OpenSim. Kudos to them!
The fact that no one was even aware of EnableAgentCommunication is an
indicator that this has been really, truly a case of honest
reverse-engineering... The current state of things is extremely fragile,
though. If we try to fix some oddity in one corner of the protocol,
chances are we are going to screw up seven different things in the rest
of the protocol, because we don't know what the client wants.
So -- we need help. Calling for people who don't see themselves
contributing code to OpenSim core, but that want to help its development
by helping make the guessing game less painful!
The challenge is to read the LL viewer source code and try to get an
understanding of what the client expects from the servers with respect
to region crossings and teleports. Here are some examples of things I
would like to know:
- How are seed capabilities being used in the client?
- Do all child agents have their own seed cap, or do they share that
seed with the root agent?
- Does the client care about who sends it seed capabilities?
- What is the expectation on the seed cap that is sent on
EstablishAgentCommunication, CrossRegion, FinishTeleport?
- Do child agents have Event Queues? If so, when are they opened/closed?
- Under what circumstances does the client close or refuse to use an
Event Queue?
...
If anyone is interested in doing this important piece of work, I have
very concrete viewer log messages that can serve as starting points for
mining the client code. Just let me know!
Thanks,
Crista
More information about the Opensim-dev
mailing list