Advanced Megaregions: Up to 5x Faster, and Working Parcel Media

We’ve updated the service today with improvements and bug fixes for megaregions. Kitely’s implementation of megaregions is significantly better than regular OpenSim, so we’ve decided to give it its own name: “Advanced Megaregions”. (See our previous post for more information about Kitely’s support for big worlds.)

Advanced Megaregions solve many of the problems that occur in regular OpenSim megaregions. One of these improvements is that parcel media works correctly throughout the megaregion, whereas in regular OpenSim it only works in the South-West region. Advanced Megaregions are also faster than regular megaregions, so the user experience is better.

Easily Enable or Disable Advanced Megaregion Mode

Some OpenSim features don’t work with megaregions, e.g. changing terrain textures. This is due to a limitation with the viewers. Kitely solves this problem by allowing you to temporarily disable Advanced Megaregion mode and modify each region separately. If you try to use a feature that doesn’t work in Advanced Megaregion mode then you’ll get this message:

Megaregion Warning

If you click on this link then your browser will automatically show the world’s Manage World dialog, where you can disable Advanced Megaregion mode by simply unchecking a checkbox:

Advanced Megaregion mode

This will change the world to normal (non-megaregion) mode, where you can modify each of the regions separately. When you’re done changing the terrain settings you can re-enable Advanced Megaregion mode by simply checking this checkbox.

When using regular OpenSim megaregions, you will encounter problems if you try to disable them: landmarks may stop working, objects won’t show up without additional manual work, etc. Kitely’s Advanced Megaregions don’t suffer from these problems: the world remains fully usable when not in megaregion mode. You can set landmarks in a world and they will continue working even if the Advanced Megaregion mode is changed. Similarly, objects will appear where they were placed no matter how many times you enable or disable Advanced Megaregion mode.

Speed Improvements

We have made numerous improvements to OpenSim to make big worlds work faster on Kitely. These changes reduce OpenSim’s CPU usage up to 80%! This makes the user experience smoother and allows for the use of more complex worlds and more avatars than regular OpenSim. The following chart shows how much we reduced CPU usage compared to regular OpenSim. These tests were done on a world running in its own server, with one avatar in the world.

World SizeWorld ModeCPU Load Reduction
4 RegionsAdvanced Megaregion45%
16 RegionsSeparate Regions64%
16 RegionsAdvanced Megaregion80%

Kitely uses powerful cloud-based servers to run OpenSim: they have multi-core CPUs, 7.5 GB of RAM, and high-speed I/O. Each server runs between 1 and 4 worlds. Worlds that have many avatars in them automatically get a larger portion of the server’s resources, so when your world needs it it will get its own dedicated server automatically.

High-Performance Big Worlds, and World Pictures

Today we’re introducing one of our most highly-anticipated features: big worlds! We’ve got all the details below.

(Update: we made additional improvements to big worlds; see our post about Advanced Megaregions for more information.)

Another new feature in this release is that the Public Worlds page now shows pictures for each world, which is much better for world discovery than the old text-only list.

Big Worlds

You can now create high-performance worlds on Kitely that are up to 16 regions in size. We support the following world sizes:

  • 1 Region
  • 4 Regions (2 x 2)
  • 9 Regions (3 x 3)
  • 16 Regions (4 x 4)

The size of the world is set when you create the world, and can’t be changed afterwards.

World Size

Each of our plans includes a number of free regions, which you can use to create any combination of worlds. For example, our Gold Plan ($35 / month) includes 20 regions, with which you can create a 16-region world and a 4-region world; or 20 1-region worlds; etc.

You can create additional worlds beyond your plan’s quota by using Kitely Credits (KC). Additional regions cost 10 KC per region per day. For example, a 4-region world costs about 4 (regions) * 10 (KC / region) * 30 (days) = 1200 KC per month, or $4 when buying KC at our maximum discount rate. The costs of copying, exporting, and replacing worlds are also dependent on the number of regions in the world. For example, copying a 4-region world costs 40 KC.

Optimized Big Worlds Performance

We optimized big worlds running on Kitely so that they’ll run better than on standard OpenSim. These optimizations reduce CPU and memory consumption on our servers, thus enabling Kitely to support more prims, scripts and users than can be supported with standard OpenSim.

Big worlds in Kitely provide a seamless single-world experience:

  • Vivox voice works throughout the entire world seamlessly. This means that unlike in standard OpenSim, people in different regions can hear each other.
  • There is a limit of 100,000 prims for the entire world. Every prim you use in the world subtracts from this shared quota, regardless of which region it is rezzed in. Note that the viewer will show that the prim limit is 100,000 in each of the regions separately, but you won’t be able to create more than a total of 100,000 prims throughout the entire world.
  • Region crossings are fast, and they are completely eliminated when megaregion mode is enabled (see the next section for details).

With the addition of this new proprietary big-worlds module, Kitely now has two major services which provide improved performance over standard OpenSim: our cloud-based asset service and our high-performance big worlds. These services cleanly integrate with standard OpenSim, which enables us to provide you with all the latest OpenSim features while adding capabilities that standard OpenSim doesn’t provide.

Megaregions

Big worlds in Kitely use megaregion mode by default. A megaregion is a world that contains multiple regions, where the regions have been merged into one big region. Megaregions work better than multiple small regions in several ways: they smooth performance, enable better vehicle behavior, and make it easier to build without needing to consider region borders.

However, Megaregions are an experimental feature so some OpenSim features don’t work properly. For example, parcel audio doesn’t work except in the root region (the region at the South-West corner of the world). Therefore, some people will prefer not to use megaregion mode.

Kitely allows big worlds to run both as megaregions and as non-megaregions. You can enable and disable megaregion mode as often as you like in the Manage World dialog, and Kitely will convert the world to the new mode automatically. Note that switching modes can only be done when the world is inactive, so you may need to use the world’s Access controls to temporarily eject people from your world when you want to switch modes.

Megaregion Mode

Default Region

The default region is the region users appear in when they enter a big world. Initially, the default region is the root region (the region at the South-West corner of the world). You can change the default region by creating a telehub. (Here are the instructions for creating a telehub.) When a telehub is created, we assume that the region that contains the telehub should be the default region. If you don’t want to keep the telehub then you can delete it afterwards: this won’t cause Kitely to forget the default region that you have chosen.

Universal Campus World Template

We’ve added a new built-in world template which you can use to create worlds: the Universal Campus (visit an example of this world). This is a highly-detailed big world (2 x 2 regions) that is ideal for organizations that need a lot of space for collaborative meetings such as classes, research group meetings, and conferences.

The Universal Campus was created by Michael Emory Cerquoni (a.k.a. Nebadon Izumi), and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license. See the Universal Campus homepage for more information.

Multi-Region OAR Files

OpenSim Archive (OAR) files are used to save OpenSim regions. At Kitely we believe that you should have full control over your builds, so we support the use of OAR files to load and save worlds (with some limitations to protect third-party content). Since the current OAR format supports only one region per OAR, we’ve extended the format to allow storing multiple regions per OAR. This makes it possible to save your entire multi-region world in a single OAR file, thus making it easier to restore without having to load separate OAR files for each of the regions that make up the world.

Currently only Kitely can load and save this new multi-region OAR file format, but we’ve submitted the code that we developed to support this capability for inclusion in standard OpenSim. Once it becomes a part of standard OpenSim you will be able to exchange multi-region OARs with other grids, thus making it easier to move your multi-region builds between different OpenSim providers.

When you create a world by uploading an OAR file it’s possible that the number of regions in the OAR won’t match the world size that you selected in the New World dialog. When that happens we make the OAR fit the world as follows:

  • If the OAR contains fewer regions than the world size then we fill the missing regions with empty land. This is what happens when you upload a 1-region OAR into a multi-region world.
  • If the OAR contains more regions than the world size then we discard the extra regions.

There is one caveat: because the multi-region OAR format is still under review for inclusion in standard OpenSim, the file format might still change. If that happens then any multi-region OAR files that you’ve exported from Kitely before the OAR format was finalized may fail to load into other grids. If that happens then you’ll need to export the world again using the final format to get it to load properly. However, this isn’t a problem for single-region OARs (created from single-region worlds) because their format hasn’t changed. We’ll post an announcement to this blog once the OAR file format is finalized.

World Pictures

That’s enough about big worlds. Now let’s talk about the other new feature in this release: world pictures. It’s now possible to upload an image for each world. This image is shown in two places: in the world’s World Page and in the Public Worlds page.

You can set the world picture in two places: in the World Page, and in the Advanced tab of the Manage World dialog. New worlds don’t have a picture, so we show the Kitely logo instead. Here’s what the Manage World dialog looks like when no picture has been set:

Select World Picture

Click on “Select File” to upload a picture for the world. The picture will be resized automatically to fit in the available space. If you like the picture then click “Save”.

New Public Worlds Page

We’ve completely redesigned the Public Worlds page. Instead of the old text-only list we now show world pictures and titles in a grid. Here’s what this looks like:

Please upload screenshots for all of your worlds; doing so has many benefits. First, people are more likely to visit your worlds if they can see what they contain in advance. Second, worlds that have pictures appear earlier in the Public Worlds page than worlds without pictures. And finally, the world picture is shown in social media links (e.g., on Facebook) when people “Like” your world.

Capturing Screenshots

It’s easy to create screenshots of your virtual world: simply press Ctrl+` or Ctrl+Shift+S. For more information, see taking snapshots. When capturing screenshots we recommend that you set your virtual world viewer to the best graphics options that your computer can support: set draw distance to max, enable shadows and full reflections, select environment settings that show your world in attractive lighting, etc.