How to set up a mini-grid

A mini-grid is a small, standalone OpenSim grid that doesn’t require a separate grid administration server. How small? Small enough so that all its regions can be run on a single computer. For a typical home computer, four regions is plenty. For a high-speed computer or server, you can get nine or sixteen regions into a single mini-grid.

A mini-grid is one of the easiest ways to set up OpenSim and get on the hypergrid. It’s good for personal regions, creative space for artists and designers, a small shop or meeting area. You can also use a mini-grid to test out OpenSim for a corporate deployment, or run one over an internal network on a school or corporate campus.

If hypergrid-enabled, people can teleport in from other grids to visit or to shop, and then teleport back to their home grids with their purchases.

Keep in mind that the number of people who can visit at the same time, and the number of objects you have on your region, are determined by the speed of your computer and the capacity of your broadband connection. With a typical home high-speed Internet connection, expect to have no more than a handful of simultaneous visitors.

Last week, I set up a clean new mini-grid on my home computer in record time — for me! — and these are the steps that I followed.

How to set up OpenSim

Start out by downloading the Diva Distro, which is a pre-configured four-region mini-grid, no border crossings, hypergrid-enabled out of the box. The Diva Distro comes with a convenient upgrade utility. Without it, upgrading OpenSim manually when new releases come out is a huge pain.

Save it to the computer that will be running OpenSim for you. You will probably want to use a separate computer — if you have one — to run OpenSim and a second computer to run your Hippo browser (or whatever viewer you use to log into OpenSim).

The Diva Distro requires two additional programs to work: the MySQL database platform, and the .Net framework.

You can get MySQL here. You can get .Net for Windows here.

If you’re running Linux, you will need to install Mono instead of .Net. Some Mono information is here, though if you’re smart enough to be running Linux, you probably already know about Mono. If you’re running Mono 2.6.3 and get errors when you run OpenSim, you should erase Mono.Security.dll from the Diva Distro bin directory.

You will need to know your external IP address — you can get it here.

You will also need to configure MySQL to create your OpenSim assets database. The Diva Distro comes with a MySQL ReadMe file with step-by-step instructions.

After you’ve set up MySQL, follow the other ReadMe files to go through the rest of the installation.

You should now be able to run OpenSim and get a prompt in its console  window. Ironically, OpenSim — a 3D server — doesn’t have a graphical user interface. It’s totally old school. If you type “show regions” into the console monitor window at the prompt and hit “Return” you should get a list of all the regions in your mini-grid.

If you have problems, try asking for help in Live OpenSim Chat. I’ve personally found that the OpenSim community is extremely eager to help people set up their grids, since their want the platform to grow and develop. They even helped me, even though I was trying to run my Diva Distro on Linux, which I knew nothing about — not even what “mono” was. I thought it was a disease. And I’m still not too sure about “sudo.”

Set up your port forwarding

If you only have one computer in your house, and it’s connected directly to the Internet, then you can skip this section. You don’t need to forward your ports — they all go to the same place. And if you don’t want people from other grids to come visit you, and you don’t want to teleport from your mini-grids to other grids, you can ignore this part as well.

But if you want to be able to travel the hypergrid from your world, you will need to be able to tell other grids how to find you. You only get one external IP address per Internet connection, and if there is more than one computer sharing that IP address, then they won’t be able to do that. What you will have to do is forward your OpenSim ports to the specific computer in your house running OpenSim.

With the Diva Distro, these ports are going to be 9000, 9001, 9002, and 9003.

To forward these ports, you will need to get to your router’s administration panel, usually located here. If you’ve never changed it, your login will probably be “admin” and your password either “admin” or “password” or “1234”.

On my Linksys router, the port forwarding options are located under the “Applications and Gaming” tab. You might also be able to find them under “Port Forwarding”. If you can’t find them, Google the name of your router and “port forwarding.”

To set your ports, type “OpenSim1” for application name, 9000 for internal port, 9000 for external port, and select both TCP and UDP under “protocol”. Then you will need to provide the internal IP address of the computer running OpenSim. Now repeat this three more times — for 9001, 9002 and 9003. (I used OpenSim2, OpenSim3 and OpenSim4 as my application names.)

But wait. You probably don’t know the internal IP address of your computer. The internal IP address is what your router uses to tell your computers apart — it will look something like “192.168.1.105”. Your router will probably assign IP addresses on the fly to computers as they connect and disconnect from your network. You want your OpenSim computer to have a permanent IP address that doesn’t change. To do this, you will need to enable DHCP Reservation — on my router, this was under the Setup tab, the Enable DHCP Reservation button. When I enable this, and click on “DHCP”, my router shows me the names of all the computers on their network, their MAC addresses, and their internal IP addresses. That internal IP address is what you want, and you may have to create a new one. You may need to Google your router name and “DHCP” to find out how to do this.

Yes, this is all a big pain in the butt. It took me a week the first time out to figure out what “DHCP” was and that I need it in the first place, and where to find it. You might want to keep reminding yourself, “I’m saving $1,200 a month. I’m saving $1,200 a month,” as you try different things, going back to OpenSim chat repeatedly for help, before you get it to work.

Once you have your port forwarding working, you should be able to log into your mini grid and hypergrid teleport from there to any of the 50-plus public grids on the hypergrid — or to your friends’ minigrids. Our Hyperica directory of hypergrid destinations is here.

Make it pretty

One of the first things you’ll probably want to do is change the names, locations, and master avatars for all your regions. To do this, shutdown the OpenSim server (enter “QUIT”) and go to your Regions folder (in the “bin” subdirectory of your “Diva Distro” folder) and click on the OpenSim regions file, called Regions.ini.

There will be a short section for each region, looking like this:

[Region Name 1]
RegionUUID = “9a91ba4e-5719-4330-bb93-38619baa722f”
Location = “2002,9433”
InternalAddress = “0.0.0.0”
InternalPort = 9000
AllowAlternatePorts = False
ExternalHostName = “123.45.67.89”
MasterAvatarFirstName = “Master”
MasterAvatarLastName = “Avatar”
MasterAvatarSandboxPassword = “password”

Don’t change the RegionUUID, InternalAddress, InternalPort, or AllowAlternatePorts. You can change everything else.

You can pick new coordinates for the region’s location, change your region’s name, and create a name and password for your master avatar — the one avatar who will have god powers on your region, able to move or edit any object on it. You need a master avatar for when visitors come and leave a bunch of junk lying around — the master avatar will have the power to get rid of all of it. You will also have the power to take people’s stuff and give yourself full perms. With this power comes the great responsibility of respecting other people’s intellectual property rights. Ask permission from the original creator before modifying objects you don’t have modify rights to.

For the coordinates, I recommend picking a number between 7000 and 12,000 for both coordinates. You cannot currently teleport more than 4,096 regions in any direction. If your friend has a region located at 1000,1000 and you put your region at 9000,9000 you won’t be able to get there in one hop — you will have to teleport to a region at, say, 5000,5000 first. About 15% of all regions are located near 1000,1000. Another 15% are located near 5000,5000. All the rest are up near 10,000, 10,000 — that’s where OSGrid and many other big public grids are centered. The Diva Distro randomly assigns you a set of coordinates, and chances are that you won’t like where they are.

I recommend changing the first digit of each set of coordinates to 7 or 8 if you want to be up high near OSGrid and most other grids, or to 1 or 2 if you want to be down near ReactionGrid.  Leave the other digits as they are – it’s easier, and you won’t have to worry about maintaining the relative position of the regions. In a Diva Distro, the four regions are right next to each other, in a square, and you don’t want to lose this positioning.

Try to avoid round-numbered locations like 1000,1000 — you can’t jump from one location to another when they have the same coordinates, and people put a lot of their regions at 1000,1000 because it’s a nice round number, or because their version of OpenSim sets that as a default location. You should also avoid coordinates used by your favorite destinations, for the same reason. So if you and your buddy plan to spend a lot of time teleporting back and forth, check to see what coordinates he’s using and pick different ones. If you do want to teleport to another region that has the same coordinates, just jump someplace else first.

You may also want to create an easy URL to use for logging into and teleporting to your world, instead of the default IP address, which looks like 123.45.67.89. Much nicer to teleport to something like gridname.com. (You can leave off the :9000 if that’s the port number, since Hippo automatically uses that as the default.)

To do this, you will need to register the gridname.com URL and point your A record to your IP address. If you already have a URL, you can point a subdomain to your external IP address. For example, I use grid.korolov.com as the address of my home-based mini-grid, pointed to my IP address, and korolov.com is my personal website.

You point subdomains by setting your “A record” in the DNS management area of the site where you first registered your domain. I use DreamHost, and it’s under Domains-Manage Domains-DNS.  If you don’t have a domain and don’t want to pay $10 a year to buy a new one, you can use a free domain from a service like DynDNS. Your free domain name will looks something like this: mygrid.ath.cx.

After you’ve got the DNS pointed, change the ExternalHostName to the new URL. Not only will you now to be able to log in and teleport in using the nice URL instead of the IP number, but when you teleport to another grid, you avatar name will be something like “[email protected]:9000” instead of “[email protected]:9000”.

If you want your website and your grid to have the same exact URL (instead of using a subdomain for the grid) you will have to run both your website and your grid on the same server.

Once you’re happy with the region names, avatar names, and passwords, save the file, and restart OpenSim.

Now you should be able to log into your regions. I use a separate computer for this. I go to “Grid Manager” on the Hippo login screen, then add a new grid, and enter my grid’s address — either an IP address like 123.45.67.89:9000 or mygrid.com:9000 — and hit “Apply.” Then I login with my master avatar name. Alternatively, I log into OSGrid and teleport to my grid by typing that address into Map and hitting “Search” then double-clicking on my grid when it shows up.

When you teleport in, you will automatically land in the center of your first region. If you want to land on one of your other regions, teleport to: mygrid.com:9000/RegionName.

You should be standing on a tiny little island. Useless for anything practical.

If you want to create a nice flat terrain for building on, go to the computer running OpenSim, pull up its console monitor window, choose the region you want to work in by typing “CHANGE REGION RegionName” (“RegionName” should be the name of your region) and then enter “TERRAIN FILL 21” — 20 meters is the default water level, so by entering “21” your ground will be one meter above water. You can then log in as master avatar and lower or raise the terrain to create beaches or hills. Remember that it’s a lot easier to build on flat land, and a lot easier to move buildings around later, so don’t mess with the terrain too much if you want a lot of buildings and roads.

If you want a nicer-looking terrain, you can load any terrain file with the “TERRAIN LOAD FileName” command. For some free terrains — or entire regions — check out our resource page here. To load an OAR region file, enter “LOAD OAR FileName”.

You can save your terrain once you’re done working on it with “TERRAIN SAVE filename” and if you want to save a backup of your entire region, type “save oar filename”.

OpenSim commands

Here’s a quick list of the commands you’ll use the most:

CHANGE REGION RegionName — selects the region you want to make changes to

TERRAIN FILL 21 — makes the selected region completely flat

SAVE OAR FileName — saves a backup of the selected region, including terrains and all objects and scripts located on it

LOAD OAR FileName — loads in an OAR file you saved previously — or downloaded or bought from somewhere else. Note that this destroys everything that was there before, so you might want to save a backup first.

TERRAIN SAVE FileName — saves just your terrain

TERRAIN LOAD FileName — loads a new terrain, over-writing the terrain you had in place previously

CREATE USER FirstName LastName Password — creates a new user account on your mini-grid

SHOW USERS — shows all the users logged into your mini-grid

SHOW REGIONS — show a list of all the regions on your mini-grid

RESTART — restarts all regions

QUIT — shuts down the world after saving everything to the dabase. When you start it back up again, everything will be where you left it.

A full list of OpenSim commands is here.

maria@hypergridbusiness.com'

Maria Korolov

Maria Korolov is editor and publisher of Hypergrid Business. She has been a journalist for more than twenty years and has worked for the Chicago Tribune, Reuters, and Computerworld and has reported from over a dozen countries, including Russia and China.

  • Ener Hax

    thank you for the step-by-step! i have been contemplating setting up my own, what we are doing at the moment really does not need to occur in a high user environment

    so since it's 4 regions w/o border crossings, is it one mega region?

  • Ener —

    Yes, it's a megaregion. I've heard that other people have had problems with them, but I've experienced no problems at all over the half-year or so I've been running Divas.

    One thing to watch out for is when saving OARs from a megaregion, and upload to a regular region, you'll wind up with some extra objects beyond the boundaries of each individual region.

    Other than that, though, I gotta say I love 'em. I love not having to mess with the hypergrid settings trying to get it to work, I love the upgrade utility… Diva even packs her distro with a library of clothing and other useful things to start out with!

    I would love to see someone develop an easy launcher for the Diva Distro, though, which sets up and configures MySQL and .Net (or Mono) and does the port forwarding for you, though.

    — Maria

  • mrjoyce

    Maria-

    Great article. This really puts it all in one place.

    I'm still working on the port forwarding and I think I may have it solved. The Diva Distro is fantastic and I look forward to upgrading with it every time.

    I live just a few miles from UCI and hope some day Diva Canto will open a class up there for old guys like me to learn just what I'm doing – rather than stumbling around in the dark.

    Keep up the good work

    Mike

  • The new 0.7 version of OpenSim is out, but I don't recommend using it just yet. Wait for the bugs to be shaken out, and the major grids to switch over. It uses a new, more secure hypergrid protocol — Hypergrid 1.5 — and you can't teleport to grids running older versions.

    Once you do decide to upgrade, Crista Lopes has published a detailed set of instructions for installing and configuring the new version here:

    http://www.metaverseink.com/blog/?p=37

    There are some nice features in it, including a built-in Web interface for creating new users. Sim-sational!

    — Maria

  • mrjoyce

    Maria

    Thank you for the heads up on the new update for Diva Distro.

    I made a duplicate copy of the old Diva Distro and tried an update. It seemed to update well, but when I did the Configure.exe on my Windows 7 computer, I could not get the OpenSim.32BitLauncher.exe to run. Then I tried to update without doing the Configure.exe and although the OpenSim.32BitLauncher.exe ran, when I tried to connect with a viewer, the viewer could not find my location and stopped.

    I have been running my previous Diva Distro on a USB Flash drive using USBWebserver as the server with MYSQL intalled there. This allowed me to be "portable" with my Standalone. Perhaps the new Diva Distro needs some other tweaks for me to do this on the Flash Drive.

    Ah well – so much to learn, so little time to do it in. I'll just have to keep at it (At least my old Diva Distro works as planned)

    Many thanks for the articles –

    -Mike

  • chatworld

    Really like the article, lots of help :p

    What sort of computer/server (as in computer spec) would be needed to run this sucsessfuly? With about 150-200 users in.

  • Chatworld —

    If you want 200 simultaneous users — say, for a conference — you’re going to need a high-speed data center, and spread the event over several regions. The key constraint here is going to be the bandwidth. It’s pretty unlikely that you’re going to be able to get them all on a single server (well, Intel recently got 1,000 avatars on a region, but that was with some very tricky technology that’s not available yet to the rest of us!). So that means that a Diva Distro is out.

    For an up-to-date list of hosting providers, see here: http://www.hypergridbusiness.com/opensim-hosting-providers/

    They’ll be able to get you price quotes.

    If you want 200 users total, with only a handful logging in at any one time, that’s a less expensive proposition. With less than five simultaneous users, you might be able to get away with a high-speed home bandwidth connection. If you’re running your system over a local ethernet, with local users, that will help a lot as well.

    If these 200 users are heavy users — big inventories, lots of assets, a private region each — you’ll need to set up a full grid for them, a mini-grid won’t be enough. Most of the hosting providers do that and can organize that for you, with centralized “Robust” grid servers in addition to the region hosting.

    If you’re just planning to run a four-region mini-grid via the Diva Distro, and your users are light users, and few of them log in at any time, you can do it with a single server.

    I’m running one on an old family computer with not much memory or processing power, and it seems to work fine for the light (family and friends) use we’re putting it to now.

    A good place to start is 2 GHz processor (which I don’t have, but as I said, mine gets very light use), plenty of harddrive storage for assets — textures, etc… — and the fastest network you can get.

    Snoopy at Dreamland Metaverse is good to talk to, and can provide you with some specific configuration advice for your particular needs — very friendly, and very approachable.

    Good luck!

    – Maria

  • How easy (and if it is possiable) would it be to set up your own economy within your own grid?
    So every new users would start with, say ‘C$1000’ and then maybe automaticaly reveice an extra ‘C$£50’ everytime they loged in?

  • Chatworld —

    There’s an easy way to do this and the hard way.

    The easy way is to use an outside service for your currency — OMC, for example, or G$. (OMC is a real currency, fully convertible. G$ is a “fictional currency” and not guaranteed convertible, but there are third parties who can do conversions, and you can also do the same for your users.) Have your users sign up when they register for your grid. Then use part of their subscription fees (you’d have to charge subscription fees here) to give them some virtual money, and deposit part of it back into their accounts every week or every month or whatever.

    The benefits of doing it that way is that they’ll be able to use the currency as they travel the hypergrid — and you won’t have to set up shop as a virtual currency provider (with all the headaches that this entails). Your users will be able to buy and sell the currency as much as they want, etc.. And they’ll be able to set up shops and sell to customers from other grids, who come in via the hypergrid.

    If you’re doing a content-rich grid (like gaming, dating, gambling, etc…) you should be able to charge a subscription fee. If you’re setting up your grid as a residential and commercial land rental area, you can add the currency cost to your rental fees — and advertise “free money” as part of your marketing. I know that I love getting stuff for free — even when, rationally, I know I’m paying for it.

    The other option is to create a closed grid economy. Since the currency will be grid-specific, you won’t be able to have outsiders coming in, or your residents spending it elsewhere.

    You will probably need to have an OpenSin consultant set it up for you — list of providers is here: http://www.hypergridbusiness.com/opensim-hosting-providers/

    I’d recommend using someone close to the core development team — Dreamland Metaverse, 3D Hosting, SimHost…

    They will have to install and configure a currency module for your OpenSim grid.

    If you’re going to do it yourself, the modules are here: http://forge.opensimulator.org/gf/project/

    Please note and heed the warnings on this page — currency isn’t something you want to mess with, especially if you’re setting it up as a real currency. Depending on your jurisdiction, you may have legal issues to deal with, as well.

    There are two great use cases for an in-grid currency:

    1. “Play money” casinos. If you’re serving US customers, you don’t want the money they spend gambling to be real money — that would violate US laws. Instead, you can give them fake money to play with that they can’t redeem for cash if they win (you can let them spend it on virtual gifts).

    2. Role playing games. If you want your players to earn their money in-world, you might not want them to go out and buy the money elsewhere, bring it back, and mess up the dynamics of the game. You also don’t want your sword-and-sorcery types to hypergrid teleport to another grid, pick up a grenade launcher, and come back and blast their enemies with inappropriate firepower! Having a closed grid, with a fictional currency, keeps everything nice and tidy.

    Running your own currency poses some additional challenges beyond the technological and legal ones, though. With a small economy, you have to monitor it carefully to make sure that the money supply just keeps pace with demand.

    — Maria

  • Thanks Maria.

    The currency would more be used as 'tokens'. The word would be on a standalone grid and the only use of traveling the hypergrid would be for development reasons, getting some ready made buildings into the world etc. So the currency would only be used within this grid, to buy objects within it and the people using this would would only use this world.

    Think it would be easyer getting someone else to set it up, I have just failed with it on my test grid. Still thinking which is the best route to take with it, renting a dedicated server for the world or buying a server to run it in the office.

    – Jonathan