OpenSim 102: Running your own sims
(Last updated April 26, 2013)
There are plenty of reasons to run OpenSim on your own computers.
If you’re a content creator, you can have as many regions as you want, for free, and load them up when you need to work on them. There’s no lag due to connectivity issues, because the users and the servers are both on the same computer — yours. And you can work on your builds if you don’t have the Internet connected, like on an airplane.
If you’re on a school or corporate campus, you can run OpenSim completely behind the firewall, for maximum security. You can even integrate it with your employee or student directories, for single sign-ons and centralized user provisioning. If you need outsiders to access your world, you can enable outside logins, or turn on hypergrid teleports.
With a typical home bandwidth connection, you might be able to get a handful of visitors onto your region. With an enterprise network, you can have as many visitors as your Internet pipe will bear. If you want your sim to be part of a larger grid, you can connect it to OSgrid, FrancoGrid, MyOpenGrid, Metropolis, New World Grid, or another open grid.
Does it take a lot of technical expertise? No. In fact, there’s a version of OpenSim that comes with an installer, so all you have to do is click “OK” a few times, and you’re inside your own virtual world. It’s called New World Studio, and you can have a virtual world up in running in five mouse clicks.
The quick and easy way to your own virtual world
Go to the New World Studio downloads page and click on the Community Edition version you need — it’s available for Windows, for the Mac, and for Linux. Go have coffee — the download will take a while, since it includes every single component you need to run OpenSim. Unzip the file, open the unzipped folder, and click on NewWorldStudio.exe. Click on the first button, labelled Start 3D world.
Now sit back and wait as New World Studio does all the hard stuff. It configures your Apache server, your MySQL database, your OpenSim server, loads a starter region, and creates an avatar for you. In a couple of minutes, the first button will flash red, and become Stop 3D world, and the second button — Login to 3D world — will turn blue. Click that second button to enter your world.
New World Studio now loads up a viewer, and logs you into your very own, private virtual world. If you know how to use Second Life, think of it this way — you are now the owner of a region, and are saving yourself $300 a month plus a $1,000 setup fee. You can now do anything you want here. You can build, your can change the terrain, you can change your avatar.
If you don’t mind having just one region to work on and having “NewWorld Studio” as your avatar name you’re done. You can stop reading. Go have fun building!
But say you want a different starting region, different avatar, or more than one region? What do you do? And can you do it without becoming a network engineer?
One option is to upgrade to the licensed version of New World Studio, which, in addition to offering all the configuration option listed below in a very nice, easy interface also adds backups, upgrades, firewall configuration, and other nice features.
But if you can edit one text file with Notepad, there’s also some things that you can do without upgrading.
Do you still have that zipped file of the New World Studio you downloaded? Unzip it again. You can either delete the first unzip, or unzip the second one to a new folder.
But this time, hold on before you launch the installer and take a look at the NewWorldStudio.ini file.
You can open it with any text editor, such as Notepad. It’s a small file, and pretty understandable, but I’ll walk you through it.
First, look at the [World] section. This is where you can change some things about your OpenSim installation.
First, you can change the name of the world. Where it says Name = New World Studio just replace New World Studio with something else. Such as Name = Monkey Planet.
Then look at the InitialRegion = OpenVCE line. OpenVCE is the conference center that you start it by default. You can change it.
To see the available option, go back to your New World Studio unzipped folder and open the regions folder.
As of this writing, the other options are Flat 21, Business District (LindaKellie.com), Mountain Retreat (LindaKellie.com), and Undersea Observatory (blog.wsd.netjreeve). Copy those names, and put them into the NewWorldStudio.ini file like this: InitialRegion = Flat 21 or InitialRegion = Mountain Retreat (LindaKellie.com) making sure you get the names exactly right. Copy-and-paste, to be totally sure.
If you want to use a region that doesn’t come provided, such as an older region you’ve saved before, or one you downloaded from Kitely, or one your friend gave you, or one you got from LindaKellie.com or OpenSim Creations, create a new folder for that region and name the folder with the region’s name. Put your region’s OAR file into this folder, and rename it to just region.oar. Put the name of the folder into the NewWorldStudio.ini file.
Moving on. We’ll skip the port number — that’s for when you have multiple copies of New World Studio running on the same computer. I don’t want to get into a discussion of port forwarding here.
The next option is SizeX and SizeY. These refer to the size of your world. Do you want to keep it at one region? Leave both values at 1. Do you want a four-region world? Set both values to 2. Now you’ll have a 2×2 world, with the four regions arranged in a square. You can also put them all in a line — just set SizeX = 4 and SizeY = 1.
How big can you go? It depends on the power of your computer, and how much stuff you plan to have on each region. Intel was able to run more than 1,000 regions on a single computer. On an average home computer, though, you should easily be able to do four regions, or push it as high as 16. If you need more, just create duplicate copies of New World Studio.
The next line is IsMegaregion = False. If you’re going to have more than one region running, you might want to set it to True so that you don’t have to deal with border crossings. Keep it False if you plan to save your regions as individual OAR files in the future.
PosX and PosY refer to your region’s position on a giant map. You can ignore this if you have a private world, but if you’re going to be hypergrid teleporting to other grids, keep in mind that you can’t jump more than 4,096 regions in any direction, and you can’t jump between regions with the same coordinates. So if you want to be able to travel to the OpenSim Creations grid, you’ll need to be within jumping distance of 1000,1000, which is where they’re centered. I recommend coordinates like 4076, 4019 — unusual numbers, so that other folks aren’t likely to put their grids on the same spot. But OSgrid is centered on 10000,10000. So if you want to jump there, the 7000-neighborhood is a good place to be.
The last item in this section I want to point out is the line that says ShowOsWindow = False. Change it to ShowOsWindow = True if you want to see the server console window while OpenSim is running. The server console is where you would type in advanced commands, such as saving regions as OAR files, exporting inventories as IAR files, moving and renaming regions, and other advanced functions.
The last item in this section I want to point out is the line that says IpAddress = Localhost. In order for me to be able to travel to other grids, I had to look up my computer’s IP address and replace Localhost with the actual number. So, in my case, it became IpAddress = 184.108.40.206 — if you can’t get your hypergrid jumps to work, try changing this setting.
Moving on to the [Owner] section, this is where you change your avatar name and initial appearance. New World Studio comes with four starter avatars — just pick the one you want. Note that you need to spell the names correctly, and if using Benjiro 2 or Cara 2, remember the space before the 2.
Finally, one more thing you might want to change is your choice of default viewer. The standard installation launches Imprudence. But what if you wanted to use a different viewer — like, say, Firestorm?
The answer is in the [Software] section of the file.
First, change UseCustomViewer = False to UseCustomViewer = True.
Then look up the address of your viewer. In my case, on Windows, I right-clicked on the viewer icon and selected Properties. The address was in the Target: box: “C:\Program Files (x86)\Firestorm-Release\Firestorm-Release.exe” –channel “Firestorm-Release” –settings settings_firestorm-release_v4.xml –set InstallLanguage en
You don’t need all of that. Just the first part that’s in the quotation marks — in my case, C:\Program Files (x86)\Firestorm-Release\Firestorm-Release.exe — your address might be different, if you installed the viewer to a different folder, or you want to use a different viewer.
Copy that, and change CustomViewerPath = to CustomViewerPath = C:\Program Files (x86)\Firestorm-Release\Firestorm-Release.exe — you don’t need the quotation marks. Now when you click on Enter world, New World Studio will automatically log you in with your preferred viewer.
The rest of the settings have to do with the MySQL database and other stuff you shouldn’t fiddle with unless you know what you’re doing After you’ve made all the changes, start NewWorldStudio.exe. But if you do know your way around a command line interface and your router’s port forwarding tables — or are willing to learn — then you can do a lot more. Just as with the starter regions, you can also add different starter avatars by opening the avatars folder and adding new ones via IAR files.
Now start New World Studio up as you did before, by double-clicking on NewWorldStudio.exe.
It took me a few tries to get it configured right, with just the right number of regions, the right avatar name, the right IP address, the right viewer, the right starting avatar, and the right starting region. If you’re like me, working through trial and error, I recommend making copies of things along the way — copies of the NewWorldStudio.ini file, for example, once you’ve got the settings right. Or if you use your own OAR files for starting regions, making copies of those region folders.
For additional help, log into the OpenSim Live Chat channel on IRC. However, you may have to check back in a few times before you find someone who’s on and can help with your particular problem.
You can also download and install a version of OpenSim pre-configured to work with OSGrid. The download is here. OSGrid typically uses the latest stable version of OpenSim, tests it throughly, and pre-configures the settings to work with OSGrid. To connect to the grid itself, however, you will need to have either a direct access from your computer to the Internet, or configure your router to forward OpenSim traffic correctly. If you need help, OSGrid has its own IRC chat channel, which is one of the busiest discussion forums for OpenSim. Additional help is available through the OSGrid Forums.
An even easier way to set up and run one region of OpenSim on your computer is to download the “single sim set up” from Sim-on-a-Stick. And yes, as the name suggests, you can run this from a USB stick — you can carry your virtual world around with you in your pocket and use it on any computer.
If a region is run in standalone mode, then it handles its own avatar registrations and asset inventories. If a region is run connected to a larger grid, then the grid handles the avatar registrations and inventories. You can read about how I set up my first-ever OpenSim region here.
A minigrid is a group of regions that are running on a single computer — or, to be more precise, within a single instance of OpenSim.
Minigrids are typically configured as megaregions, so that there are no border crossings between regions, in large squares composed of four, nine, or 16 regions each.
A minigrid, like a standalone region, handles its own avatars and inventory assets. It can be set up to run privately behind a firewall, or be hypergrid enabled and allow visitors to teleport in and out from other grids.
If you read my New World Studio instructions above, you can turn a one-region world into a minigrid by editing the the NewWorldStudio.ini file or upgrading to the licensed version of the software. Sim-on-a-Stick also comes in a mini-grid option, with four, nine, or 16 regions.
Another way to set up a minigrid is to use the Diva Distro, created by hypergrid inventor and UC Irvine professor Crista Lopes. You can download the Diva Distro here — select the most recent “Preconfigured hypergridded standalone.” The same download page also offers a selection of starter terrains, and a large inventory archive filled with clothing, accessories, and other items useful for a new minigrid.
Instructions are included with the Diva Distro — read the “Install” text file. Lopes takes you through installing Mono if you’re running on Linux, setting up the MySQL database, setting up your DNS and forwarding ports, and creating your avatar and regions.
The Diva Distro comes with an update utility. OpenSim on its own is not an easy system to upgrade, as configuration files can change from one version to the next, and databases need to be migrated. Many OpenSim users who manage to get their first region up and running will give up after their first upgrade and switch to paid hosting to avoid having to go through that again. The Diva Distro eliminates much of the pain involved in upgrades, and makes self-hosted sims more accessible to a wider range of people.
The Diva Distro is, by default, hypergrid enabled. This means that schools and companies, even if they run these minigrids privately, behind their firewalls, can link multiple minigrids together into a large virtual grid. However, each individual minigrid will maintain its own user accounts and asset inventories.
You can read about how I set up my Diva Distro and port forwarding here.
When a minigrid doesn’t offer sufficient virtual space, and chaining multiple minigrids together is just too unwieldy, it’s time to deploy a full grid.
A full grid differs from minigrids and standalones in that multiple servers can be used to host different parts of the grid and there’s no limit to how many regions you can have.
To keep them all organized, a central server, called Robust, handles all the users, inventory assets, groups, and region map locations. Robust also allows avatars to send messages to one another when they are on different regions.
A full grid can be run in private mode, behind a firewall, or it can be hypergrid-enabled to allow teleports in and out to other grids. Instructions on how to configure OpenSim in grid mode are here.
With every upgrade, the main release of OpenSim becomes more complete and functional. However, since it is a work in progress, the specific functionality you need might not be available. OpenSim addresses this issue by allowing grid operators to install third-party modules with additional functionality.
Modules can be used to create an in-world currency, to connect to corporate directories, to use a different voice server or physics engine, to integrate PayPal payments, and for many other purposes. There’s a long list of OpenSim modules on this page. You can get a PayPal module here. Instructions for creating your own modules are here.
As always, you can log into the OpenSim Live Chat channel on IRC for additional help, or check in on the OpenSim Dev channel. You can’t read about how I set up my first full grid because I didn’t. I used a hosting provider to do it all for me, for a tiny extra fee.
I recommend Dreamland Metaverse for folks looking for fully-featured commercial grid setups — groups, voice, currency, land rentals, instant restarts of crashed regions, regular backups, upgrades, OAR and IAR exports and imports, and other functionality. You can use them to host your whole grid, or just get central grid services from them and host everything yourself. SimHost and Zetamex are two other well-known vendors who can set up a full grid. (Full list of vendors here.)
OpenSim in the cloud
Running OpenSim with a cloud-based hosting provider like Amazon EC2 involves all the difficulty of running OpenSim itself, plus the added complexity of dealing with the cloud service provider. Cloud-based hosting can save money when a sim is needed for only a short period of time, but can get pricey if a region is used a lot. Read about one such project at OpenSim-in-a-Box, by Dirk Krause. He also has a YouTube video up explaining the process here.