Some notes on migrating open simulator sim regions across grids, platforms, and databases.




Some notes on migrating open simulator sim regions across grids, platforms, and databases.

To preface saying Open Simulator gives rock-solid performance is about as ludacris as claiming Second Life never has sim crashes, loses things off regions or inventories, or that it rarely needs rolling restarts to ensure some stability of assets for its residents.

Granted, the development cycles and teams responsible of either the Linden grid builds or OpenSim builds are quite unique, as well the motivations of the grid administrators and their sim’s residents can differ greatly in principle, opinion, and innovation.

For one, Linden Labs is a corporation whose currency is publicly traded along with the US dollar. They have paid staff, a HQ near downtown San Francisco, centralized server farms, that sorta thing. If somewhere things go wrong, you may be able to resolve them through a support department or by contacting others. You may even get a refund for something you paid for that didn’t quite work out.

Most opensim grids, on the other hand, are run by volunteers who exist in quite a decentralized way, coming into and going out of the picture at random, with servers scattered all over the world. Some stuff works, some doesn’t, and people just deal with it. If you break your server, it’s your own dang fault and you keep both pieces. Yes there may be community help for you, but then again you are a bit on your own, since the expectation is you wouldn’t be installing servers, configuring firewalls and creating databases unless you had some clue what you were doing.

There are exceptions to this, of course, but the very atmosphere of “seat of your pants” nonprofit, open platform, opensource, creative commons based public administration and development (e.g., OSgrid, NWG, 3Dworlds) is notably in contrast to the for-profit, closed, dmca based private administration and development of other virtual worlds (e.g., YAL, InWorldz, SL).

Then there are some virtual world models that fall somewhere between the commerce driven, big-brother governed grids and the creator-driven, unmoderated grids, such as ReactionGrid & RolePlayWorlds, where it’s a somewhat closed grid, yet exists more in the space-time fabric of openness than it does in intentionally closedness (if that’s a word..)

There is a point to these comparisons, in that a server admin has several options (like my earlier post stated).

Yes, you can manage things “on your own” 100% if you choose, or you can let “them” manage it 100% if you aren’t savvy enough to do it, or if money/cost is simply not a factor for you and you don’t mind paying and trusting someone to care for your creations.

Then there is the grey areas in between, where you run your own sim, but let a chosen grid manage the users, inventories, and maintenance of the interconnected systems itself, so you only assume partial ownership, or, you use a pre-configured distribution which basically runs itself out if the box with little configuration needed; You supply the hardware and bandwidth, and as a friendly consolation for putting your sim on their grid, they do the rest.

In all cases, scalability and portability becomes a factor. Some grids (even ones you may connect to with your own server, now linked into their grid system) may tell you that you can’t bring some objects or avatar data across to other grids, in fact some will enforce it, while others don’t mind, or in fact encourage you to openly share data across to other places and their users freely (as long as it’s legal).

Some grids wish to enforce content ratings as well, while others have no controls at that level. NWG for example is based in France and centers around educational or nonprofit use, so likes to keep it around the PG level.

There are elements within the hypergrid which can help to hinder or permit open sharing, but let’s skip that for now and just sum this entire post thus far to say it all really boils down to one thing: your choice.

You may chose where your avatar logs in, where you spend time, where you wish to build a virtual home, and if you want to share it with anyone else.

You also decide which sims or grids or people you wish to spend your dollars.

As you spend time, resources, energy, money, etc, so do you then propagate that grid to continue.

Even though much of the underlying architecture, scripting languages, and file formats are similar across server builds and their varied grids, the implementation of each is customizable to the degree that inconsistencies or incompatibilities may arise between versions. Not all virtual worlds use the same engine as Opensim or SecondLife, for example the Utherverse, GaiaOnline, the now defunct and IMVU use different engines entirely.

This is true of not only the server level (which many end users just don’t understand, or won’t take into consideration), but also the viewer code, that which an end user uses to connect their computer into the virtual environment. Some worlds and MMORPG can be accessed by a standard web browser with some 3D plugins, while others prefer you to use their own client software (aka a “viewer”)

Take for example the features of the SecondLife viewer, where there are three distinct code bases; the older linden 1.23 client code base, the web viewer (which is in beta) and the newer linden 2.0 client interface; Each viewer may have its own menu structures, features, and plugins, which, although connecting to the same grid of servers, will offer differing levels of performance or interactivity. The experience of some aspects (like enhanced audio/video streaming, building tools, graphics options, or avatar structure) will exist in one viewer, yet be lacking of the other.

Some viewers allow you extra functions like exporting to hard disk, additional shortcuts to commonly used features, or the like, while other viewers use a very small footprint to only give the most basic functions.

Back to the sims though, and how well they manage things..

Some folks will say that OpenSimulator is just an older version of SecondLife, and that it sets you back a few years in comparison with today’s Linden sims– actually, we often find that the bleeding edge of technology in many respects belongs to the OpenSim engines, and the Linden grid is constantly trying to keep up with OpenSim.

Some examples include megaregions (which are 512sqm x 512sqm with no sim crossing issues), megaprims (which are limited to 256x256x256 in size, unlike SecondLife’s 10x10x10 building limits), hypergrid support, meshes, multilayer Photoshop PSD importing, and other features not yet available in SL.

On the other hand, SL uses the ever-popular Havok physics engine, and has touts some cool features you don’t have in OpenSim.. Uhm.. Trying to think of some.. Let’s see.. Did I say Havok physics? Oh yes, I did.. Hmm.. What else.. Well there’s the SL marketplace where you can buy stuff, of course in most opensim worlds, everything is free, so a marketplace wouldn’t make much sense..

Well anyways, I’m sure there are some great reasons people prefer SL over other similar worlds, other than pure ignorance.. Maybe it is because SL caters to teens and a less savvy group of newbies along with the hobo tech elite? Who knows.. Each grid has specific communities or groups that like to congregate in them, so that’s worth consideration when building your dream place. Why bother building a mature art gallery in NewWorldGrid if there’s nobody to come look at it? Why have an educational institution or nonprofit in SecondLife if the average person (and certainly, the lindens themselves) won’t cater to it?

Back to what happens on your sim though, each one is just as fallible as the other, really. I’ve lost objects from my SL inventory, they are simply gone and unable to be restored. I’ve also lost things on OpenSim grids, either by my own human error, or because technical issues arise when running several different builds of open simulator on various platforms..

Yeah, I’ve run OpenSim 0.66 up to the recent 0.71 development builds, and used pre-packaged installs of New World Grid, OSgrid, Diva Distro, even compiled my own binaries from the source packages on, I’ve owned linden mainland and private islands in SecondLife as well.

Migrating data between sim builds, worlds and even minor changes in version can be tricky, as well, I have changed my database and inventory providers a few iterations along the way.. Some XML captures, some OAR files, some SQLlite, some MySQL backend.

Most recently, I’ve just moved 9 sims of data (4 of which were earlier standalone builds) from OSgrid’s custom opensim install, into my more recent Diva Distribution of a hypergridded stand alone sim, which already had 4 brand new sims installed by default.

The OSgrid terrains were saved as .raw files, as well the objects of each sim saved to .oar archive files, and my user inventories were backed up to .iar archive files.

Although saving the files appeared to go well, loading them all back into my new sims didn’t go as planned. I’ll detail what went wrong, along with what I did to resolve the issues as they arose.

For some background, I started with some objects and terrains in SecondLife, then exported them to files which were imported to opensim on the mac. The mac ran opensim on mac os x with sqllite, then windows xp via bootcamp, back to mac os x on opensimulator standalone, then mac new world grid to pc new world grid, to pc osgrid, and finally moved to a different pc running windows xp, osgrid build, then finally mysql with diva distro. The reasons for so many version iterations and changes of platform were my own experimentation. Nevertheless, stuff migrated fairly cleanly up to the last few versions, where there are significant code changes.. and these code changes caused things like object imports and teleporting around my sims to break.

First I created a diva distro with four fresh clean sims, they are the NW, SW, NE, and SE corners of one large region called “Islandia”

I took my standalone avatar inventory and saved it to several .iar inventory archives.

Next, I took my 9 OSgrid regions and backed them up, each sim had a .raw terrain file and a .oar object archive file (which includes a .raw terrain as well). The logic was, if object export fails, at least I will have the land the way it was and add the objects in later.

Most of the sims imported successfully, though some simply bombed out, crashing the sim in the process!

When I logged in to look at the sims, they were not all there, in fact some land was now transparent for whatever reason!

I created a 1 sim moat around the islandia regions, placing my 3×3 grid of 9 sims just west of the 2×2 islandia.

When trying to teleport, it ended up in a strange zero point instead of one of the 9 sims, and most in fact were not reachable at all (either by walking, flying, or teleporting over to them.)

So, next I moved the sims together so there was no moat of water between them.

I was able to import all the raw files and observe the sims rendered the land correctly.

Upon importing the object archives, some worked, some threw errors (though appeared to complete) and a few couldn’t import and just threw an exception, crashing the entire opensim.exe

Next up.. I’m going to try and put the osgrid regions back online, save the archives again, then try to reload them into the diva distro one more time. My guess is, it was a bad oar, so hopefully doing it over will resolve things.

One Reply to “Some notes on migrating open simulator sim regions across grids, platforms, and databases.”

  1. well i’m not sure what happened here but i somehow horked the sims with the crashing of the imported OAR files , one of the four initial sims shows up, but the 3 others have invisible terrain textures for no apparent reason … even applying new textures to the terrains and loading new terrain maps did nothing to change this effect. objects show up, but terrains do not. also, when i try to teleport to one of the added 9 sims, it ends up on the otaku sim at 0,0, about 30m in height. why? i don’t know.. i think the best thing to do (though troubleshooting would be fun) would be, to wipe the install and rebuild it from scratch, which is actually easier to do, at this point … ugh! also, i am going to look at reaction grid if osgrid is still having issues (they were having some issues earlier… hope it’s worked out by now!)

    as always, feel free to comment or ask questions about my experiences, if there are any terms or works or acronyms you don’t recognize, just ask! ๐Ÿ™‚


Leave a Reply

Your email address will not be published. Required fields are marked *