[Opensim-dev] client API bindings?

Maróy Ákos akos at maroy.hu
Fri Sep 4 10:50:40 UTC 2009


Toni,

> Now I finally understand what you are after, after reading about x-plane 
> on the net and your original message again..
> 
> X-plane is a standalone non-networked app, a single player simulation. 
> You want to make it networked, and consider using the OpenSim server for 
> that?

yes. (actually, there are X-Plane networked plugins like that, that 
connect X-Plane to online sim networks like VATSIM, but the update 
frequency is very low in these implementations)

> The wording 'x-plane client' in your original post lead me to think that 
> it already is a client-server architecture, and you have an existing 
> protocol and some server implementation already etc.

sorry for not being clear in this regard.

> Well for the existing protocols to OpenSim there are several 
> implementations. Most common one to write clients is LibOMV, which is a 
> cleanroom SL(tm) compatible SLUDP implementation in c#. So it doesn't 
> compile to native code.
> 
> In Realxtend Naali we have another from scratch implementation of that 
> same protocol, written in C++. That might work for you. It's Apache 
> (bsd-like) licensed. The web svn view to it is 
> http://dev.realxtend.org/gf/project/viewer/scmsvn/?action=browse&path=/trunk/OpenSimProtocol/ 
> <http://dev.realxtend.org/gf/project/viewer/scmsvn/?action=browse&path=/trunk/OpenSimProtocol/>
> 
> A relevant part in the documentation is Interfacing with the OpenSim 
> world using OSUDP message at 
> http://www.realxtend.org/doxygen/viewer/osudp.html
> 
> You can test how our new implementation works with the Naali 0.0.1 
> developer preview we packaged in June, a main reason exactly to get 
> feedback on how well the data transfer performs etc. Seems to work well.
> 
> Another native code implementation is funmv from 3di ('fun' for 
> functional) which is iirc in c, i don't know if/where that's available 
> nor much about it's usage (other than that it passes the packed data 
> around unparsed, and the whoever needs some data can read that section 
> from there, that being the func style).
> 
> Of course there is also the implementation in the Linden viewer if you 
> are fine with the GPL license they use, I don't know anything about that 
> except a guess based on rumours that it may not be very modular and 
> easily usable for other apps, I don't know any app besides the slviewer 
> and it's forks that uses that implementation.

thanks for the pointers - I'll give them a try!

> The MXP reference implementation is also C#, there is no C++ 
> implementation of it (yet).

I see..

> Yes. Like said I just thought you already had a protocol and existing 
> clients for it that you wanted to support.
> 
> SLUDP is not an optimal generic VW protocol, not made for extensibility 
> like google protocol buffers, but it works and there is a packet called 
> GenericMessage which can be used to pass arbitrary information. That is 
> what has been used in Realxtend so far to pass data which doesn't exist 
> in the plain original protocol, and which may work for your usage too 
> (for whatever metadata you need, and the trajectories etc).

Thanks - I'll take a look..

Kiitos huva!


Akos




More information about the Opensim-dev mailing list