Adam Frisby

Compatibility.

with 6 comments

So, I have a small announcement to make.

OpenSim has had the capability to run multiple different clients connected to the same world since version 0.3. We translate a large number of our internal programming into a somewhat vendor neutral interface; the big catch has been – in the 21 releases since 0.3, we’ve never actually implemented a true second protocol. As of today that has changed, OpenSim now supports two client protocols that can be used simultaneously at the same time to display the same world with the same updates, avatars and interactivity. This means right now you can use either the LLUDP transport used by Second Lifeā„¢, OpenSim and realXtend, or the new MXP transport developed by the Tommi over at Bubblecloud.org.

We also have some good news from the guys over at VastPark – over the next few days, I will be working with their team to try write another client transport which allows you to use the VastPark viewer to connect to OpenSim. Watch this space for some information about that.

MX Deck and Second Life in a single Region (Click to Enlarge)

MX Deck and Second Life connected to the same region (Click to Enlarge)

Why MXP?

The simple answer here is the protocol is reasonably well thought out (it’s very refreshing compared to LLUDP), it’s also pretty simple and easy to understand. There’s a good reference implementation on their website which we were able to utilize extensively. To users, there’s potentially some big advantages in how you can route packets from a region simulator to viewers – possibly eliminating some of the issues people see when trying to host from behind firewalls and routers. This is however conceptual – a decent client will still need to be written to utilize the MXP protocol (right now the only clients using it are for demonstration purposes).

The big reasons were however that it’s appropriately licensed, there’s good reference code out there and the protocol is straight forward. It was also in the right place at the right time — while it gets the crown for first additional protocol, we’re hoping to have quite a few more now the infrastructure is in place and tested to properly support alternate client libraries.

How complete is this implementation?

Not very – we implement at the moment about 5 of 250 “functions” the Second Life viewer can present to us, ontop of the basic connection management. Mostly these are relating to display of primitives, updating their positions and chat. We still need to do a good deal towards displaying avatars correctly (and assigning a ‘ruth’ for each clients display of the other). Given the adapter is however less than 48 hours old – I expect to see some rapid progress here in adding features and capabilities to it. To give some idea of what’s working however below is some screenshots of the same region connected to in each client.

How do I connect a MXP client to OpenSim?

Grab a copy of the Demo Client from Bubblecloud.org (see Downloads -> MXP Demo Client.zip) and a copy of the latest release of OpenSim from the OpenSim Trunk SVN.

In your OpenSim.ini, add the following settings to the end

[MXP]
Enabled = true
Port = 1253

Start up your OpenSim and create a region if you havent already – now go into your OpenSim Region’s directory and open your default.xml – cut and paste the sim UUID (looks like this: b18ddeb1-f3d4-4c05-aa55-f1ca55532220 )

Install the MXP Client and edit the MX Deck.exe.config file – you need to paste your region UUID into the “BubbleID” field, and edit the “ServerAddress” to read “127.0.0.1″

Start MX Deck.exe and you should be connected to your OpenSim region.

Voila!

0 Vote

Feedback

If you found this post useful and want me to write more on this topic, please use the vote button to the left or leave me a comment below.

Written by Adam Frisby

February 22nd, 2009 at 1:46 pm

Posted in OpenSim

Tagged with , ,

6 Responses to 'Compatibility.'

Subscribe to comments with RSS or TrackBack to 'Compatibility.'.

  1. This is very cool. This is a good direction for opensim as we have major problems with enterprise customers when we ask them to open UDP ports and we also have that ongoing problem of no decent client for opensim and also needing a separate client for “everyotherworld”.

    Nink

    22 Feb 09 at 5:41 pm

  2. Hi, Adam. Speaking of compatibility, the bubblecloud.org demo client appears to be windows only. I’ve noticed a growing trend of the opensource and opensim related projects to be tending towards windows only. IIRC, realXtend is in the same boat.

    I hope this trend reverses itself. There are a growing number of people and even corporations who are finding Microsoft more and more unnecessary and it’s a shame to see efforts that do require windows or directX (and therefore windows).

    Just my thoughts on true compatibility.

    radar

    23 Feb 09 at 12:44 pm

  3. [...] Adam’s blog post about both the collaboration with VastPark and the new protocol implementation; an article on [...]

  4. [...] the recent breakthroughs in OpenSim with (theoretically) supporting multiple protocols, the question of ‘How do you [...]

  5. Adam, can you tell us which SVN number of Opensim is teh earliest that contains the support for MXP? So we know if we can try it with our installed versions. I am currently on 8237 (4-Feb-2009) for example.

    Ai Austin

    4 Mar 09 at 9:26 am

  6. Radar: Tommi has been adding support for MXP to the IdealistViewer, which is cross-platform compatible.

    Ai: I’m not sure – only it’s somewhere between 0.6.3 and now.

    Adam Frisby

    5 Mar 09 at 1:06 am

Leave a Reply

 

You need to log in to vote

The blog owner requires users to be logged in to be able to vote for this post.

Alternatively, if you do not have an account yet you can create one here.

Powered by Vote It Up