Adam Frisby

Archive for October, 2008

Code Snippet: Converting OpenMetaverse.Primitive to OpenSimulator.SceneObjectPart

without comments

Pardon this being a code-only post, but I figured it might be useful to anyone doing work with both OpenMetaverse and OpenSim - currently we store primitive data in a fairly different manner internally, this code converts between the two, and allows you to take a OpenMV.Primitive and get a OpenSim SOP out of it.

Written by Adam Frisby

October 31st, 2008 at 8:51 am

Posted in OpenSim

Tagged with , , ,

Who visits OpenSimulator.org?

without comments

When the OpenSim website was changed recently by Sean, he installed some extra software to track visitors on the site and what content we need to improve. It also gives us some neat stats on who visits the website in terms of browser, country, etc.

I’d like to share some figures generated over the last month since the change:

Between October 5th and October 27th, we have had 21,000 visits to the website with 82,500 pageviews - the average user spent approximately 5 minutes on the site. 50.7% of visits to the site are new visitors. 54.74% of the visitors to the site were using Firefox, and a whopping 14.61% were using Linux (OSX being 8.77%).

The most popular page on the website is the downloads page (suprise suprise), followed by user documentation, the grid list, configuration and build instructions. The top exit pages (where people stop reading or leave) are pretty much in the same order.

In terms of countries - the US has the largest share of visitors accounting for approximately 30% of our visitors, followed by the UK (10%), Germany (9%), France (7%), Japan (5%), Italy (5%), Spain (4%), China (3%), Netherlands (3%) and Australia (2.5%).

Interestingly, only 60% of our visitors come from English speaking countries - meaning we may actually want to start providing better support for foreign languages at some point in the near future.

Written by Adam Frisby

October 29th, 2008 at 6:46 am

Posted in OpenSim

OpenSim Encrypted Asset Storage (”Cryptogrid”)

with one comment

First a small preface - this isn’t DRM. Everything sent to the client is still accessible as far as rippers go (what can be seen, can still be copied - and DRM can’t fix that either)

With that being said - there are a number of cases where you may upload an asset onto a public grid for the purpose of transmitting it between a finite number of trusted regions. In this case, you dont want the grid operator to have full access to your content, nor do you want it transmitted onto untrusted regions.

What this allows you to do, is encrypt assets on upload - anyone can still download the assets, but only regions with the decryption key can access it. This effectively allows you to secure scripts and other content which is not transmitted to viewers - allowing if you tightly manage the decryption keys and combine with a tighter permissions module, to produce something like the way Second Life handles assets - even across a relatively untrusted and “open” grid.

You can install multiple decryption keys on one server - however only a single encryption key can be used at once (for obvious reasons - otherwise which key do you encrypt with when uploading?)

Some notes on what this can and cannot do

  • First - this cannot protect assets once they hit the client, once they are on the client, all hands are untied and the content is potentially free. This does however let you limit the number of clients who can access the content on a public grid, by virtue of allowing you to have the asset only on a closed region within the public grid (therefor only a select number of users can see it.)
  • Your decryption keys become your content - protect them with your proverbial life. These keys can be duplicated, copied, etc - you should only hand your keys over when you are certain that the person recieving the keys is trustworthy (a contract may be useful here) - you also should change your encryption keys regularly, you just need to rename the file then OpenSim will generate you a new one on startup.
  • I would go so far as to say that having one key for every product may not be a bad idea - that way if the key leaks you dont lose everything - just whatever was signed with it.
  • If you choose to encrypt your content on upload, then you will need to sure to rename the key to “.deckey” (from “.enckey”) then give that to everyone who you want to be able to decrypt the assets. If you transmit the key - make sure to do so in a secure manner such as SFTP/SCP/PGP, and not send it in the clear.
  • Finally, if you lose your key, delete it or similar - you wont be able to unencrypt it (there’s no hardcoded backdoors or anything else), so make a safe backup of your keys somewhere

Final notes - archiver, etc

This is not a magic bullet solution - it has a very specific set of areas where you can benefit (ie if you dont nessecarily trust a grid operator, or want to carve out a ‘protected area’ within a larger grid and still use things like inventory without busting it up ala local assets) - that being said, in certain cases, it’s now possible to be ‘as secure’ as Second Life (which really isnt that secure, but that’s another topic entirely).

It’s also worth noting that anything that downloads assets on the region server, where the region server has a decryption key, will be getting decoded assets - this means the region archiver, etc. will be getting copies of the unencrypted assets - you should treat archives with protected content in them as exactly that (ie dont go sending them around assuming they are secure).

Written by Adam Frisby

October 15th, 2008 at 6:48 am

Posted in OpenSim

OSGrid Pub Quiz - Summary

with 4 comments

The Inaugral Sinewave Pub Quiz on OSGrid.org

The initial pub quiz (pictured above) was a success, we got a lot of people to show up - many of whom who have never been onto OpenSim or OSGrid before. We’re so happy with the results that we’re going to go ahead and schedule another one - we’re aiming at Sunday, the 19th 26th of October at 9PM GMT (1PM PST) with a Halloween theme. (Sorry, typo! - edit)

The structure of this event was a three part quiz - a picture round, including naming hollywood movies from a still image (some tougher than others), a music round (name the track from a small clip) and finally a ‘google fu’ round with recent history. There were 24 questions in total - our two first place winners getting 19 of them right (and sharing the $500 in prize money).

Q&A was handled by our bot-in-residence Chinzy Quizmaster running the Sinewave Quizbot code, some suggestions for improvements we’ve added to the development roadmap.

We hope to see everyone who participated at the next one - we had a lot of fun running it and want to make this a regular occurance.

As Promised - The Technical Writeup

Technically the Pub Quiz was overall a success - we got a lot of interesting data out of the test (and a 17mb log file), including the fact that OpenSim seems to scale pretty damn well under a tightly controlled environment. We also managed to isolate and fix three critical bugs with OpenSim which have been contributed back to OpenSim already. In addition we have some information about how OpenSim is handling packets internally which I’ll be interpreting this week to try improve general performance with.

We also learnt some other interesting things about running these kinds of profiled events in future which might be useful to other people

  • JetBrain’s dotTrace profiler doesn’t work on OpenSim very well - infact the chances of getting a  “completely random MS Visual C Runtime error” while under their profiler goes up about infinity% (ie, from zero to once every minute). We’re going to try another profiler next time around. A slight shame since we wanted to do a memory profile next time vs re-doing the performance one. That being said, if anything’s going to kill a profiler - we’re it, the Mono profilers dont even start when profiling OpenSim.
  • For the most part OpenSim seems to behave pretty well these days, however we do need to get some kind of mechanism inplace to handle when things do occasionally crash to somehow get users into another backup region. EventQueueGet makes this now rather difficult, but it might be possible to do still somehow.
  • We’ve still got “Grey Avatar Syndrome” showing up on a number of avatars - however we think these are being caused by simply not having an avatar equipped, or having an avatar that was built with local assets enabled. We definetely need to work on providing a nice default avatar in these cases as the simulator should be able to tell the avatar is using a inaccessible asset.
  • Windows 2003 still performs significantly better than Linux/Mono it seems. Our servers didnt hit above 5% CPU usage for the entire event, except during one stack heap (which was fixed). Memory use fluctuated a little bit, but for the most part was sitting comfortably around 230mb of RAM plus a little bit of page.

Written by Adam Frisby

October 12th, 2008 at 2:34 am

Posted in OpenSim, SineWave

SineWave/OSGrid Pub Quiz: $500 Grand Prize, this Friday

without comments

SineWave (with a little bit of help from DeepThink) is running a big Pub Quiz, this Friday on OSGrid.org. For those who are outside of Britan, read the wikipedia article for an overview on what this is, the rules and format.

The short

It’s on OSGrid.org, in the SineWave Region - 5PM GMT / 12PM EST / 9AM PST, Friday the 10th of October (this friday!). Total runtime is expected to be fourty minutes or so. You should register your avatar in advance on this page.

The rest

You should try test logging into SineWave sometime before the event, as we’ll be trying to start promptly. There’ll be other prizes including some hosting from DeepThink and maybe a little more. Performance will be a little slower than usual since the region will be operating under a performance profiler, but should still be acceptable.

As usual, we’ll publish the profiler results to help other developers - if you want to bring friends, feel free as the more avatars logged in, the better the quality of the results we get.

FAQ

Why are you running this, $500 is a lot to give away randomly? We’re doing this as a load test on OpenSim - we’re looking to get about 100 avatars or so and see where OpenSim stresses so we can optimise and fix those areas.

I need to get onto OSGrid - how do I connect? We recommend you grab the Hippo Viewer, it’s free and will connect by default to OSGrid (although it has support for any modern opensim grid)

Written by Adam Frisby

October 9th, 2008 at 2:36 pm

Posted in DeepThink, OpenSim, SineWave

Tagged with , , ,

 

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