Hosting A Virtual Universe — on My PC
Today I attempt to create my own virtual world. Second Life, World of Warcraft — prepare to meet your new competition.
I’m not speaking facetiously. With the new OpenSim platform for creating and hosting virtual worlds — and linking them to other virtual worlds — any person, and any company, can create a virtual world to use for corporate training, conferences, office virtual tours, or as virtual showrooms for customers. Or for games and social communities.
In my case, I’m going to create a little world just big enough to hold me, my 16 square acres, and a handful of my closest friends. On my world, we can do anything we want. Being geeks, we’ll probably sit around and discuss technology trends and new business models.
So here I go. (Skip ahead to the summary here.)
A Vista laptop which I bought at Walmart for $400 last summer, just in case my work computer crashed, and the family computer was busy, and neither of my kids was willing to lend me their laptop. (We’re a wired household.) The laptop comes with an Intel Celeron processor running at 2 gigaherts, and 1 gigabyte of DDR — the operating memory that is critically important to making a computer run fast. I’ve got a standard cable modem connection with a Linksys wireless router (foreshadowing: the router turns out to be the bad guy).
My most important resource is the OpenSim Grid support forum, which I access through the OSGrid.org home page. These guys are nice, friendly, and often even helpful.
They are trying to explain to me how to install the OpenSim platform without using words like “compiling binaries.” I may have known at some point in the past what that was, but no longer.
They point me to the following download page:
They tell me to download the last file in the list, which is the newest release, called opensim-0.6.4-TRUNK.zip
Here is what happens next:
I download the file. Double-click on it in the download list, click “Extract” and select my Programs folder on the C: drive to install it to. I create a new folder called “OpenSim.”
Still extracting. It took me a couple of tries. Apparently, Vista requires you to confirm every single step five times, and if you miss any of the confirmations, everything stops. I miss Windows XP.
Got it downloaded. Some license information files, and, the most important part, the “bin” folder. From what they tell me.
Oh, there’s an OpenSim meeting for developers on the OpenSim Grid. They all leave the forum and go into the virtual world for a discussion about how the OpenSim software should evolve.
I log into OpenSim Grid and follow them in to a conference center inside the Wright Plaza of the OSGrid. It’s a serious conference room, and there are giant display screens around us showing various performance indicators for the grid. I try to take an out-of-the way seat, but accidentally wind up sitting down right where the speaker is standing. Embarrassing! Especially since I don’t even notice for a few minutes. Everybody is too polite to say anything — maybe they thought I meant to sit there. I sit down where I’m supposed to.
The guys are still discussing scalability and patching issues and load balancing. I hope I don’t have to learn anything about any of this to run my own virtual world.
The guys all look type typical programmers. Jeans. T-shirts. One guy dressed as an elf, pointy ears and all. The one who really sticks out is Paulie Flomar, who’s heading up the Q&A session, and is one of the guys who runs the OSGrid. He’s dressed as a fox, with a big bushy tail. However, he’s also wearing pin-striped gray slacks and a horizontally-striped short-sleeve button-down shirt. So I’m not exactly sure what look he’s going for.
After spending more than an hour discussing arcane technical issues, they move on to something I can understand — they decide to create a new login area to make it easier for people to get started and learn their way around the OSGrid, the largest OpenSim grid in the OpenSim universe. OSGrid currently used mostly as a platform for developers, but they want to make it more user friendly. I somehow wind up volunteering to serve on a committee to help design the welcome center for business visitors.
I log out, take a lunch break, clear out some of my inbox.
Back at the online support forum. The developers there keep sending me to documentation pages that are not intelligible. Fortunately, one page has a link to a “for dummies”-style guide called the Unofficial Hypernauta’s Basic Manual — a guide to launching your own OpenSim platform. Score! I’m warned against using it, but I refuse to heed the warnings. It’s written in baby English, and there are pictures and everything. I abandon the forum in favor of the Basic Manual.
I learn that my computer’s address on the Internet — a string of numbers known as the IP address — changes every time I connect to the Internet. Most home computers do this. This makes it hard for me to host a virtual world. Fortunately, there’s a solution, and the Basic Manual tells me how to do it, using a free online service, DynDNS. Thank you, Hypernauta!
I’ve already got the OpenSim software downloaded, so I skip that step in the manual. Now, to configure it. First, I need to download a small initial configuration file — OpenSim.ini — and save it in that bin folder. I can’t — I don’t have the permissions. Darn that Vista! I check the properties on the folder, and it’s “Read Only.” That might have something to do with it. I uncheck “Read Only” and try to save the file again. No go. I check the properties of the OpenSim folder that the bin folder is in — also “Read Only.” Okay, I uncheck that. Still can’t save. I work my way up the folder structure all the way back up to “Programs.” I notice that the “Read Only” setting checks itself back on again, every time I uncheck it. Arrrgh.
I can’t even download a stupid file.
Give up, break for dinner. Nobody’s around on the forum to help, anyway. Maybe, they’re out for dinner, too.
Let’s try something else. I move the whole OpenSim folder from my Programs directory to my D: drive, where my backup documents live. Nothing “read only” there. I can now edit the OpenSim.ini file.
I update this file with my new, unchanging, IP address: mariakorolov.merseine.nu (it doesn’t always have to be all numbers, it seems).
Time to run the program. It requires that I hit Start and type in a command and execute it.
The command is: C:opensim-6.0.1binOpenSim.exe -hypergrid=true
Clearly, they don’t know that not only do I have a newer version of this program, but also that I’ve stuck it in a different directory.
I cross my fingers and type: D:OpenSimopensim-0.6.4binOpenSim.exe -hypergrid.exe
I run the file and a scary text window comes up… takes me back to the bad old DOS days.
I give the permissions that Vista and my firewall require.
And it asks me for the Region Name! Whoo hoo! I name it after myself. I’m like Donald Trump that way.
Then I fill in the rest of the fields as the Basic Manual suggests, going for the default values at all times.
[Note: it later turns out that I can simply click on the OpenSim icon to run it. Also, the OpenSim.ini file turns out to be my Achilles heel. Danger awaits!]
Now on to the next stage, still following the Basic Manual. I need to check that my 9003 port is open. Whatever that is.
There’s a free online utility to check this. And my port is closed!
Bad news for me. The Basic Manual cannot help at this point. It says that there are too many different kinds of firewall and antivirus programs out there, with each one using a different method to open ports. “You need to know how to do it. Unfortunately we can not help you. Sorry.” What kind of a basic manual is this!
Hold on, I will use Google. I find out that with the firewall I have — McAfee — I need to go to “System Services.” I finally find it under “Configure – Internet & Network”. I added the new port permission — didn’t work. I turned off the firewall altogether. Still doesn’t work.
I crawl back to the OSGrid forum, and the developers take me back. Maybe they didn’t even notice I was gone. Who knows. ARADTech suggests that I log into my wireless router, at http://192.168.1.1. I do, randomly trying admin for both my login and password (good thing I’m lazy about security). And I’m in.
Now I’m told to “find the IP of your machine and route the ports to it.”
Well, I know the IP of my machine from one of the steps from the Basic Manual above. But the rest of that sentence makes no sense to me. I mean, individually, I understand all the words…
The developers on line get into helping me open my port. They show me how to find the “Internal IP” on my router (it’s under Status, Local Network, and DHCP Clients table) and help me fill in everything in the Application/Gaming settings, which is where the routing of the ports apparently takes place.
The port-checking utility www.youcanseeme.org can now see me! I’m serving up stuff to the universe.
I would not have been able to do it without ARADTech, Bri_Hasp, and Key_Gruin. Thanks, guys!
Now that I’ve conquered this obstacle, I hike back to the Basic Manual.
Now, it wants me to install the Hippo viewer. Already done that — I’ve been wandering around the OpenSim worlds for a week now. I’m an old hand. Really, a week’s experience puts me in the “advance user” category at this point. This stuff is NEW, folks!
The Basic Manual has instructions for how to set up a stand-alone grid – kind of like having your own domain. That’s nice for a big company — or just someone with a really fast computer — but running the grid infrastructure as well as the individual regions in it is probably too much for my little laptop to handle.
So I will add my region to the OSGrid, which is the largest grid in OpenSim, and is open to anyone to join. In effect, this is like having one individual webpage on their domain. Or having one of the regions on the map. A square region – think one of the midwestern states of the U.S.
You can pick whichever area is empty on the map. Fortunately, the OSGrid is not full yet.
I pick a region, start up OpenSim — and it’s not working. I go back to the forum.
It seems all the work I went through to make the changes to the first OpenSim.ini file were for nought — I was editing the wrong OpenSim.ini file. They told me not to trust the Basic Manual. But not, I didn’t listen to them. I was seduced by its friendly language and easy illustrations.
I go and download the OpenSim.ini file that the folks at OSGrid support forum kindly send me to.
The OpenSim.ini file tells OpenSim how to connect to the OSGrid.
But, as I later learn, I make a tragic, tragic mistake.
Now I run the OpenSim application again… drum roll.. fingers crossed… oh, no, crash.
I’m told that only one usage of each socket address is normally permitted — what does that mean? — and the installer snidely asks me to check whether I have permission to listen on port 9003.
The folks on the OSGrid forum channel suggest that I go back into my bin folder, open the regions folder, and open the “default” file. This is the file that tells OpenSim what the name of my region is, what my computer’s IP address is, and where my region is located.
In this file, my region coordinates are set at 1000 and 1000 — and this location is apparently already taken.
I need to find an open spot on the map to put my region in.
Fortunately, the folks at OSGrid provide a convenient list of available regions.
I pick the first one. And I run OpenSim again.
Then I notice — I already have OpenSim running. That might be causing all the problems!
I shut down everything and try again. And there is no crashing this time!
It asks me: Region <Maria Korolov> #
That’s the working prompt for the program! I might be finished! Time to see if I can visit my new world. Or is it?
I load up the old familiar Hippo browser.
I pull up the Map and search for Maria Korolov — that’s me.
Okay, my region is not on the grid.
Back to the developers on the OSGrid forum. They suggest I take another look at my OpenSim.ini file.
In there, I have a setting gridmode=false.
That’s for standalone grids.
I don’t have a standalone grid — I want to be part of OSGrid. I change the setting to “true”.
I’ve shut down and re-run a couple of times — but my region is not showing up in the grid list. I pick the next region in the “available” list. Shutdown (this time by typing “shutdown” like you’re supposed to and not just closing down the application). Restart.
[I later learn that instead of doing it the right way and typing “shutdown” you should instead quit by typing Control-Z. If you formally shutdown, anyone can take your region away from you. If you Control-Z, the grid assumes that your computer crashed, and holds it reserved for you for 24 hours. Sounds like another reason to own your own domain.]
On advice from the forum (thanks, Bri_Hasp!) I go through the log files (OpenSim.log) to see if there are any fatal errors. Nothing.
I type the commands “show stats” and “show regions.” I’m told that the results are good.
I type “help” just to see what would happen, and get a list of possible commands. Nice!
But I gotta say — I don’t miss the days of old command-line interfaces one single bit. I like clicking on pretty pictures, thank you very much.
It’s ironic that a platform which is all about taking the graphical user interface to its absolute limit — interaction with actual objects — still has an old-fashioned DOS-era interface for its control panel. Ha ha ha. I’m laughing through my tears.
Note to self: Will the “graphical user interface” (clicking on icons) be soon replaced with an “object user interface” (where you interact with objects)? Will the next version of Windows – or Linux — be an immersive, three-dimensional environment?
Okay, reboot complete.
Checked my port — 9003 is still open. Whew!
Then I launch OpenSim. It works. It loads. Now, to see if my region has appeared…
I launch my Hippo browser and search for my now-renamed region, “MariaKorolov Home.”
… And it’s still not there.
That’s like uploading a website to the web, and when you type in the URL, getting a message that the page doesn’t exist.
Over the past two hours, I’ve disconnected the router — going directly through my modem. Changed the port from 9003 to 9000, per expert instructions.
Finally, someone notices that instead of editing OpenSim.ini, I’m actually editing a temporary file called OpenSim.ini.example.
I cannot rename the file to make the “example” extension go away. Oh, Vista, Vista, Vista! How you betray me. I copy and paste the contents of the file into a new document and save it as OpenSim.ini.
And I am up! Yes! My little laptop — I’m sorry, Vista, for all the bad things I sad — is generating a three-dimensional world. With oceans, and mountains, and trees, and oh — I just put up a house on it. And I can walk around in it and fly around in it and laugh maniacally in it.
This is one of the most exciting moments in my life. Almost as exciting – and only partially as painful – as childbirth.
My first two guests arrive in my region. Key Gruin and ARADTech, who’ve been helping me get it set up. They are so proud. ARADTech is tall, skinny, with a long, jet-black ponytail and a black leather trenchcoat. Key is shorter, more muscular, bald, and wearing sunglasses. They tell me that this is what they look like in real life (they actually told me this a few hours earlier, when I met them on a different parcel of land.)
Bri Hasp follows shortly afterwards. She shows me how to make trees. And I get a present from RetroDan Dezu — a new map coordinate next door to my current office region.
[I move the region over to its new, better location later on in the night.]
I am planning to use the region to build a tree house, as part of a learning how to build stuff. But first, as my teenage daughter is complaining about not being able to get on the Internet, I plug my router back in.
And everything grinds to a halt. The router — which allows me to have our six computers using a single cable modem — is also protecting me from myself. Apparently, its firewall is designed to prohibit exactly the kind of applications I’m running now.
My beautiful world has vanished.
I check and recheck all the router settings.
It’s late. I’m about to give up. With no changes, I boot up OpenSim again. And it works!
I pull up the Hippo browser and attempt to log in.
Browser crashes. Two other people try to visit my region. Their browsers crash, as well.
I shut down, try to reload. Now, it refuses to load at all, and the program gives a warning: “Failed to register the region” and then automatically shuts itself down.
So I summarize to myself: plugged in directly to the cable modem, I can have my own universe. Plugged in through the router — not so much.
The folks on the OSGrid forum say that having a router in the loop makes it 100 times more difficult.
I’ve unplugged the router again — and it works. My 16 acres are back.
I move the region over to its new coordinates. RetroDan and ARADTech come over to chat. We discuss setting up an enterprise users group for companies interested in doing something with this new platform (presumably, not on home laptops).
I’ve played around with it some more. Everything works.
I raise some mountains and plant some trees.
Tomorrow, I’ll decide whether to continue running it on my laptop, or to move it someplace a little bit more reliable.
After all, I don’t host my own website from my house. I use a webhosting company. And that business with the router — it would probably cost me more to fix the router or replace it than to switch to an outside host. And getting a separate Internet connection just for my world? Overkill.
But knowing that I, at home, over the course of just a few long, aggravating hours, was able to create my own three-dimensional domain?
That is priceless.