Friday, October 16, 2009

OpenSim in the Classroom: Diva Distribution Makes It So Much Easier

I have a sim running on XPSP3 on a desktop with a static IP. I set up a network switch so I can run network cables to a class of students' laptops with the Second Life Viewer with a command in the shortcut that makes it connect to the IP of our sim rather than Second Life online. A little more on the details of my setup is here. And here is the step-by-step for getting it up and running:
  1. Desktop running Windows XP SP3, assigned a static IP by the DNS server, no monitor, I just log in remotely. (Ask your system administrator to assign the IP if you, like me, can't.)
  2. Download the zip file for the latest Diva Distribution here. Unzip it to a folder in your Program Files folder called OpenSim or whatever you like. Diva is one of the core developers of OpenSim and has come out with this great binary distribution with good documentation and an update utility, which is an otherwise difficult task. Additionally, Diva has included several major improvements in the program, including 'megaregions,' or a seamlessly connected grid of regions. The default here is 2 X 2, or a total sim of 512 m X 512 m.
  3. Now look in your downloaded folder for the documentation. Read 'install.txt' first just to get an overview. Then read 'MySQL.txt.'
  4. Then install MySQL 5.1. There are good instructions here, though a little old. Stop following it when he gets to configuring the opensim.ini file because it's for an older version of OpenSim. The Toad--MySQL GUI--part is for an earlier version of Toad, but the idea is to create a root account and create a new database called 'opensim'. Then create another account named 'opensim' and any password you like that has full privileges to the opensim database. If you prefer you can use the mysqladmin commands (tutorials are here and here). That's also the method explained in MySQL.txt but you might need a little more to go on than just what commands to type. No need to create any tables. OpenSim will do that on first run.
  5. Download and install the .NET framework 3.5.
  6. Now follow the steps in 'install.txt.' After running OpenSim.exe in the steps you'll see lots of colorful commands fly by and hopefully no errors.
  7. Next you'll need a viewer. I tried Hippo and it's great except that if students are connecting on Windows machines with network accounts Hippo has no way I could figure out of saving the sim IP as the default for all users on the machine. Instead, I downloaded the Second Life viewer, installed it on the student laptops, right clicked on the desktop icon (which will need to be moved to the All Users desktop and given full permissions to 'everyone') and added the following flag in the 'target' field: -loginuri That reroutes the viewer to your sim rather than actual Second Life on the web. If you don't want the occasionally racy SL screenshots showing up either you can add -loginpage
  8. Now with your sim running, open the SL viewer from the icon and login with the master avatar account you created during the config. I hope it works! Enjoy it for a bit before tackling the next steps.
  9. For voice chat you need a voice conference service called FreeSWITCH. At the time of this writing there is a new option for voice called Vivox that sounds better and is fully spatial while FreeSWITCH isn't. But Vivox requires a "customer admin account" from Vivox and I don't know how to get that. (I've since found out it's a commercial application that costs thousands of dollars.) You can download a precompiled binary of FreeSWITCH here, and, yes, you have to install the Microsoft Visual C++ 2008 Redistributable Package like it says before you run the Freeswitch program.
  10. To configure Freeswitch to work with OpenSim, you have to change some config settings in a few xml files, explained here. This video also demos the steps. One confusing part of this video is that he's using v1.22 but he says anything after 1.22 is compatible with FreeSWITCH voice. It turns out the option to enable voice only exists in v1.22, but you switch to 1.23 to use it. More on that later.
  11. Now you're ready to configure settings for OpenSim in the OpenSim.ini file. Find the section labeled Freeswitch and configure those settings as shown at the bottom of the Freeswitch config instructions.
  12. Now you can start up Freeswitch. Double click freeswitch.exe. Ignore the red error messages (really!). Start up OpenSim exe.
  13. Open your viewer (v1.22) and log in to your sim.
  14. You have to enable voice chat for the estate. Click Edit > Preferences and under Voice Chat make sure it's enabled. Then click World > Region/Estate, click the estate tab and make sure "Allow Voice Chat" is checked. Finally, right click on the terrain, click About Land, click the Media tab, and click "use estate spatial channel."
  15. Then log out and log back in with v1.23. To use voice, make sure your headset is plugged in before you start the viewer and to talk click the talk button or the lock next to it.
  16. Once these things are set, you need someone else to log on or you could talk to yourself over two computers. To talk, look for the talk button on the lower right. Click the lock next to it to toggle talking on or just click and hold the talk button while you're talking.


Michael Blade said...

I wrote a detailed article on How to Build Your Own Virtual World. It gives specifics about installing, configuring the Diva Distro Standalone Hypergird version of Opensim. It can be found at

Erik N. said...

That's an excellent tutorial with an amazing number of screenshots! Knowing how long it took me to make this one I know it took you much longer. Nice that you're keeping it updated, too, as I haven't done on this. That query builder in Toad is nice, too. I didn't know about that.