OpenSim

You are currently browsing the archive for the OpenSim category.

The main question posed here is how to setup Opensim on AWS EC2 and what might be the costs of such a deployment.  If you know of any prior work in this area please let me know.  As time permits I may do a series of tutorials if there is interest.

I am assuming for the sake of this post you already know about Amazon EC2 and S3web services, but perhaps not how they work.  I started thinking (and I’m sure I’m not the first) could you run a virtual world grid business using Opensim on EC2 and would a tutorial on how to set this up be of interest?

I had three main questions going in (I’m sure there are more):  

  • Question #1 - Setup
    Each Opensim region is practically like the other, except with some tweaks to config files.  Is it possible to have one standard region Amazon Machine Image (AMI) that you clone then tweak once it is running or would you have to automate the construction/upload of a custom image for each region and pay for storage, etc.?
  • Question #2 - Bandwidth/Cost
    With EC2, you also pay for bandwidth.  How do you go about quantifing the bandwidth required on average to support an Opensim Simulator?
  • Question #3 - Database
    There would be one or two servers handling avatar and inventory services and then multiple region servers.  Opensim supports a variety of databases.  Is the Amazon storage service (S3) an option for Opensim storage?

I asked a Jeff Barr an AWS evangelist about these questions.  His response ”Wow, these are great questions.”  He went on to provide some thoughts on how I might run these questions to ground.

For #1, You should be able to create a generic OpenSim image. The image
would use a runtime parameter to determine its identity. There is a
standard EC2 mechanism for passing and receiving such parameters.

For #2 - You could take an otherwise idle Windows machine, start up the
SL client, then open up the Windows Network Connections dialog. From
there you would find the icon for your network interface,
double-click on it, and note the initial byte count. Then you would
log in, do some TP’ing, and so forth and watch the byte count rise.
You would then be able to measure bytes/hour and use this to
estimate your bandwidth costs (multiplied, of course, by the
expected number of users).

For # 3 - Using our soon-to-be-released persistent storage facility for EC2,
you will be able to run a MySQL database on EC2 without worrying
about instance persistence. I blogged about this a while ago.

Adam Frisby of DeepThink and a few others seem to have made this work, but found it costly based on this thread.  Adam blogs about this here.

As time permits and if there is interest, I will proceed with a tutorial.

I’ve gone dark for quite a bit due to other projects, but wanted to put a post up on several issues which temporarily stalled my OpenSim efforts.  My main goal here is to ensure others don’t run into these AND for someone to post links on better approachs/solutions.

I got OpenSim stood-up and running on Debian Linux.  I then sorted out how to configure the terrain to my purposes and setup physics.  Using the client estate editing tools I also sorted out how to build/apply custom terrain textures (haven’t posted on this yet, there are some good resources out there though). 

Then I invited a few friends from SL to come on over and start building.  This is when I started to run into very practical problems.  The main issues were around avatar and object persistance across OpenSim upgrades and restarts.  The first issue I ran into is somehow I had not setup persistance of objects in the world.  Things were built, but when I restarted the server one day, it was all lost. 

Test #1: Test object persistance with a friend.  Get another avatar in your world.  Build a few things together.  Leave.  Restart the server.  Login and see if things are still there.  Do this early before you create a master piece.

Secondly, when upgrading, I had used the default MSSQL for persistance.  I don’t really know how to manage MSSQL or have any confidence that if I backed up the data I could script my way through a schema change if needed.  So, I tried to move from MSSQL to MySQL which is more familiar territory for me.  This looked like it was going to be a major scripting effort and I could not find any tools that existed to do this.  So, once again I scrubbed my sim as part of the upgrade to get to MySQL.

Test #2 Test database backup/restore.  Once you have confirmed suggestion #1, create a backup of the stores.  Try to spin up a new instance of OpenSim using these stores.  See if you can do it.

I haven’t had time to do this yet, but it will be a real issue if I start inviting several SecondLifer friends into my SIM only to have them loose everything during some upgrade.  I expect there are some solutions to this problem which have been built mainly by other grid providers like OSGrid and the like, but nothing quickly found in a web search.  Send me info if you have it :-).

Finally, I ran into a physics problem which required me to rebuild ODE on Debian Linux in order to get up to date with the latest OpenSim trunk.  This exercise and subsequent debugging was where I had to leave it.  I finally decided to wait a few months and then do a clean install/upgrade.  It was a far cry from the fun of building out your own sim.

No surprise, but OpenSim is still early days.

This tutorial takes you through the process of hosting a public, standalone OpenSim server running Debian 4 Linux at the cost of $15/month.  Major credit to Adam Zaius and his [HOWTO] Get OpenSim running on OSgrid.org for cheep cheep without which this tutorial never would have existed.

Unlike my OpenSim server on Windows this is not really guide for non-developers.  To succeed you need to be familiar with things like Unix/Linux comand line, jed, ssh, putty, screen, and apt-get.  However, I have tried to give you enough detail that you have some hope of success, but no gaurantees offered.  So, let’s get started on the journey.

After spending some time in my new Windows Vista hosted region, I started to get lonely and well bored.  Perhaps there was some Second Life builder who could stop by and whip up a scripted sailboat I could use.  Trying to give someoneelse access to Sim from my home PC-based had a few challanges and the reality of hosting your own virtual world started to emerge.  The challanges mainly took the form of Comcast and their “high-speed” broadband internet access (quotes intended).

It may be high-speed for downloading, but it is more like low-speed narrowband internet access going the other way.  Coupled with the additional costs of a static IP address and punching a hole in my wireless router led me to the conclusion I needed to host the region in the cloud.  So, I went in search of cheap but reliable and fast, hosted server which would fit into a hobbiest budget.

Step 1 - Find a Place to Host Your Region

A dedicated Blade for $60/month — Almost all cheap web hosting options do not allow you to upload and manage a customish application like OpenSim so I started to look for a basic server hosting solution.   A good friend of mine pointed me at http://www.cari.net where you can get your own dedicated blade for the extreme deal of $60/month.  This gets you dedicated hardware, a single core Celeron D processor, 1 GB of RAM, Fedora Core 7 OS, and 160GB Disk and 4Mbps burstable to 100Mbps up to 1300GB a month.  Now thats pretty great for $60 a month.  However Windows was +$20 a month another gig was +$20 a month and so on.

Other options considered:

  • Co-location (some services allow you to buy a machine and rent space in their datacenter)
  • Amazon EC2 (more on this in a future post)
  • Get IT friend to sneak your machine into their companies datacenter

I finally decided to start with Cari, but couldn’t stomach an extra $20 a month to run Windows.  However, before I committed to Linux I need to convince myself that my rusty *nix skills were up to the task.  This is when I found Adam’s excellent HOWTO referenced above.

Step one of Adam’s tutorial pointed me at TexTonic and a Virtual Private Server virtualization at work.  The barebones, unmanaged VPS is $15/month or 4x less than Cari’s bottom shelf.  By comparision this gets you 294MB dedicated RAM, 30GB disk space, CPU burstable to 25% of available CPU, and 500GB of monthly transfer.  Note, no meantion of what type of CPU is behind the 25%.  But at $15 a month I figured I could risk it.

In the time it has taken me to write what I did in Step 1, I had an e-mail message with my new IP address and root password.  A very easy and quick setup.  I picked Debian linux and based on my experience following Adam’s tutorial I think the Linux flavor you pick does impact the exact steps required for success.  I suggest you pick the one you are most familiar with as Ubuntu and CentOS were both options.  Otherwise, I suggest you pick Debian.

NOTE: I also picked a 32-bit operating system.  OpenSim supports 64-bit the process is much more complicated.

Step 2 - Login to Your New Server

To login to your sever you need a secure shell (or SSH) client.  The most widely used, reliable, and free is Putty download here.  One of the things I love about Putty is when you download it, there is just one file and it is NOT a zip, it is an executable.  Put it somewhere and double click it and it runs.  None of this run an installer, agree to terms and conditions, unpack and copy a bunch of crap to my harddrive, then twiddle registry keys so your presence on my machine can never be fully purged.  Nope, just one simple file. 

When putty comes up, simply enter your new IP address in to the field as shown below, leave the port to 22 and hit Open.

Putty Login Screen

Putty Login Screen

 

Step 3 - Login and Load an Editor

When the login screen comes up enter ‘root’ for the user and the password TexTonic provide you.  You should arrive at the command line of your newly dehydrated virtual server.  Before you get all the packages you need to build and run OpenSim it is necessary at least on a TexTonic clean Debian 4 linux to update where you look for packages in order to get the right version of a little program called mono. 

WARNING: The wrong version of mono caused me extreme problems trying to build OpenSim and several hours of debugging so follow carefully.

Type the following to ensure your catalog of software is up to date.

apt-get upgrade && apt-get dist-upgrade

Then load the jed editor (or another editor of your choice) with:

apt-get install jed

You can now add one location to where your server looks for software to ensure you get the latest version of mono.

Step 4 - Add to and Update Your Package Distribution List 

I won’t get into how to use JED, if it is not obvious try some docs here.  Type the following:

cd /etc/apt

jed sources.list

Add the following line at the top of the sources.list file

deb http://debian.meebey.net/etch-backports /

There is a space between backports and the last backslash.  I discovered this little gem obscurely on the opensim site under http://opensimulator.org/wiki/Monodevelop.  Under troubleshooting for Debian 4 there is a section which suggestions you use all “unstable sources”  which can’t be a good thing.

Hit ctrl-x ctrl-s to save and ctrl-x ctrl-c to exit.  Now reload the sources for your packages with:

apt-get upgrade && apt-get dist-upgrade

Step 5 - Load the Necessary Packages

Using “apt-get install packagea packageb packagec” load all the following packages. 

apt-get install subversion nant, monoSubversion is only required if you want to pull directly from the source code repository.

OpenSim Documentation lists the following required packages for Debian 4

  • mono
  • libmono-corlib2.0-cil
  • libmono-sqlite2.0-cil
  • libmono-system-web2.0-cil
  • libmono-microsoft8.0-cil
  • libmono-system-runtime2.0-cil

Adam recommends a bit larger set including:

  • subversion
  • nant
  • mono-gmcs
  • libgdiplus
  • libmono-i18n2.0-cil

I ended up with many more once it was all said done, but never got the libmono-i18n2.0-cil which may be one of those “unstable sources”.

Once everything is installed which may take a little bit, check some versions with the following commands:

svn --version (mine was 1.4.2 (r22196))

nant --version (mine was 0.85)

mono --version  (mine was 1.9.1)

WARNING: The version of mono should be 1.9.x, I could not build OpenSim 0.5.8 or the latest turn using mono 1.2.2.1

Step 6 - Download and Build the OpenSim Source

To download 0.5.8 (latest stable):

cd /var
svn co http://opensimulator.org/svn/opensim/tags/0.5.8-release opensim
cd opensim
./runbuild.sh
nant

To download the latest and greatest trunk version substitute:

http://opensimulator.org/svn/opensim/trunk opensim

With lots of luck, you will get a clean build.  If you have issues many common build problems are documented in Opensimulator Troubleshooting (your mileage may vary).

Step 7 - Edit the OpenSim.ini file Spin It Up

First you need to create a new ini file and edit it to use the OpenDynamicsEngine or else you will be able to just walk through prims.

cd bin
cp OpenSim.ini.example OpenSim.ini
jed OpenSim.ini

Comment out the line: physics = basicphysics and uncomment out the line physics = OpenDynamicsEngine. Ctrl-x Ctrl-s saves, Ctrl-x Ctrl-c exits.  Now spin it up.

mono OpenSim.exe

Then answer the questions thusly:

  • Region Name [Opensim Test]:
    • The name of the your new Sim, you can safely change this but keep it short and one or two words, I no evidence to suggest it would not work with a long sentence, but based on SL sim naming conventions I’m suggesting you adhere to this if you are not a developer.
  • Grid Location (X Axis) [1000]:
  • Grid Location (Y Axis) [1000]:
    • Starting location in the world for your avatar.  Keep defaults.
  • Internal IP Address for incoming UDP client connections [0.0.0.0]:
    • Should remain 0.0.0.0
  • Internal IP Port for incoming UDP client connections [9000]:
    • Modify only if you are planning to use a different port or expose your sim to the internet
  • External Host Name [127.0.0.1]:
    • WAKE UP HERE!  Put in the external IP address to your server 
  • First Name of Master Avatar [Test]:
    • First name of your main avatar
  • Last Name of Master Avatar [User]:
    • Last name of your main avatar.  Yes, you can pick this in Opensim :-).
  • (Sandbox Mode Only)Password for Master Avatar Account [test]:
    • Password for your avatar

At this point the Opensim server should be up and running

Step 8 - Login From Somewherelse and Test with your SL Client

You can’t just login with your Second Life client because it has no way of knowing about your Opensim server.  You need to launch the SL client with some command line parameters to tell it to use Opensim vs. the SL grid.  Open a command window and navigate to the directory where you installed Second Life.  You should find SecondLife.exe  You can then type in:

SecondLife.exe -loginuri http://<YOUR IP HERE>:9000/

Start Building.  Or if you are so inclined learn how to create your own custom terrain here.

Step 9 - Keep OpenSim Running After You Log Out

The final step is getting OpenSim up and running even after you log out of your Putty/ssh session.  To do this first shutdown OpenSim by typing “shutdown”.  Then enter the following sequence:

screen
mono OpenSim.exe
ctrl-a ctrl-d

You should now be able to logout and your region will still be up and running. Try it!

Continuing to drive an interop standard, Linden Lab starts to build code to bridge into OpenSim.  Biggest open question is how will content movement happen and how will creator rights be protected or put at risk?

My second experiment in writing for the press. 

MIT Technology Review Article

Today is a historic day indeed the opening of a public bridge between the Second Life Preview Grid and the Opensim Grids who choose to participate.  Now for the uninitiated the bridge looks something like the following (image thanks to Crooked Brains):

It is narrow a bit wobbly, but it is really a masterful start and a further signal of Linden Lab’s strategy to open the architecture.

There are limits of course, no inventory is transferred so your fancied up SL avatar will appear in Ruth format with an empty inventory.  But if you only focus on the limitations, you might miss the big picture.  Opensim is have fantastic success, with 26 grids registered hosting approximately 2300 regions.  The SL grid has 28070 regions.  By these numbers Opensim grids combined are about 8% of the size of the entire SL grid, and I for one know there are many singleton Opensim regions waiting to go public.

SL’s Columbus has arrived in the new new virtual world and Opensim residents represent the native population.  So far, it is all turkeys and cranberry sauce.  I can’t wait for the next 12 months.

Here are some key links:

Ok, so you’ve spun up a new Opensim and logged in a couple times.  You are the proud owner of a big mound of grass in the middle of an infinite ocean.  Is that all there is?  Of course not.  In this tutorial, we will explore how to create a custom terrain using Bryce

Jane on Default Opensim Terrain

Jane on Default Opensim Terrain

You can of course create a terrain with MSPaint or other more sophisticated 3D landscape generating packages like L3DT, but I have always had a love for Bryce’s fantastic landscapes long before the availability of shared 3D spaces.  Embedded in it is a nice little Terrain editor and I was curious whether I could walk upon a Bryce terrain.

A couple things.  1) This is not a Bryce tutorial, although I’ll try to take you through the steps in case your Bryce usage is rusty.  If you don’t know anything about Bryce, just skip ahead and grab the texture image to use as your new terrain.  2) This tutorial was built/tested with Opensim 0.5.8.

Step 1 - Launch Bryce and Create a Terrain

Along the top, look for the mini-terrain icon and click it.


Creating a Terrain in Bryce

Creating a Terrain in Bryce

You should get something like the following.

Click on the “E” next to the terrain to enter the terrain editor.

Step 2 - Edit the Terrain

I won’t go into details here on the Bryce Terrain editor but it is basically a mash-up of painting tools and pattern/noise generators. In terms of using it for Opensim, I’ve found it is a bit challanging for fine grained controls.  The terrain editor looks something like this:

Bryce Terrain Editor

Bryce Terrain Editor

Step 3 - Avoid Gottchas

A couple lessons I learned.

  • A dramatic landscape in Bryce becomes a REALLY dramatic landscape in Opensim.  Less is more, use Lower and Dampen.
  • Avoid spikey, drastic changes in elevation, veritical cliffs don’t show all that well
  • Experiment with New and the drop down under Fractal to get some unusual terrains
  • Avoid a terrain that runs up to the edge

If you have a terrain that is not black at the edge, it will also not have zero elevation in Opensim.  This leads to some interesting visual artifacts.  Below is a terrain without black edges and one screen capture of how it looks in Opensim.

Bryce Terrain

Bryce Terrain

The above terrain loaded into Opensim.  Notice the artifacts at the non-black edges.

Terrain Artifacts

Terrain Artifacts

To avoid this, use the Round Edges control.

Step 4 - Export Your Terrain

Once you get the terrain looking like you want, the next step is to export it to an image file.  At the top of the main editing window inside the terrain editor, there is a drop down.  Select Export Image.  You have the option of PNG and TIFF.  Choose PNG and save it either alongside your Opensim.exe file or in a path that is easy to type (e.g. c:\terrains)

Export Image from Bryce

Export Image from Bryce

Here is the terrain image I ended up with (click on this and download it to use if you like).  You’ll notice I tried to edit in an inlet for water, and a few flat spots to build on along with a “secret” narrow passage through the ridge line to another over look.  This was done using the Bryce drawing tools and where the whole Bryce terrain editor thing broke down for me.  It is likely the best workflow is to generate the basic terrain and do hand editing in the Opensim client.

Bryce Terrain Final

Bryce Terrain Final

Step 5 - Load the Terrain in Opensim

The file you want to load needs to be .r32 (raw 32-bit), .png, or .bmp.  I did not have success with .jpg at least in the version of Opensim I was using.

Spin up Opensim (remember to run it as Administrator on Vista).  Once it spins up, issue the terrain load command.

terrain load <file path/filename>

Example:

terrain load c:\terrain\myterrain.png

Loading A Terrain Opensim CLI

Loading A Terrain Opensim CLI

You will see either a success message or some complaint.

Step 6 - Login to Opensim and see your results

Here I am flying around in the new terrain. 

Bryce Terrain Loaded in Opensim

Bryce Terrain Loaded in OpensimHere is the terrain from aerial view rendered in Bryce.Bryce Render - Aerial View

 And finally, an aerial view of the same terrain in Opensim.  Love the waves, love Windlight.

Aerial View in Opensim

Aerial View in Opensim

Would you like a tutorial on how you tune the textures on your new terrain?  If you’re an estate owner in Second Life, this may not be required.

 <<Previous Section     Tutorial Start

In part 5 of this tutorial, we will finally get Opensim running. After a few edits to some config files you will be able to fire up your first sim.  My apologies for the delay of this final installment which may have frustrated a few of you, I got caught up in the Google Lively launch.

Step 1 - Start the Opensim.exe application

Find the Opensim.exe in an explorer window.  Right click on the file and select “Run As Administrator”.  If you don’t do this, it won’t work.  A windows command shell will come up and you will see messages indicating Opensim is starting up.

Step 2 - Enter First Time Startup Data

The first time you do this you will either get errors or be prompted for some default information.  If you get errors it is likely that you did not configure the database settings properly or your firewall is hindering your progress.  Below are the prompts and what they mean.

DEFAULT REGION CONFIG

  • Region Name [Opensim Test]:
    • The name of the your new Sim, you can safely change this but keep it short and one or two words, I no evidence to suggest it would not work with a long sentence, but based on SL sim naming conventions I’m suggesting you adhere to this if you are not a developer.
  • Grid Location (X Axis) [1000]:
  • Grid Location (Y Axis) [1000]:
    • Starting location in the world for your avatar.  Keep defaults.
  • Internal IP Address for incoming UDP client connections [0.0.0.0]:
    • Should remain 0.0.0.0
  • Internal IP Port for incoming UDP client connections [9000]:
    • Modify only if you are planning to use a different port or expose your sim to the internet
  • External Host Name [127.0.0.1]:
    • Modify only if you plan to login to this sim from elsewhere
  • First Name of Master Avatar [Test]:
    • First name of your main avatar
  • Last Name of Master Avatar [User]:
    • Last name of your main avatar.  Yes, you can pick this in Opensim :-).
  • (Sandbox Mode Only)Password for Master Avatar Account [test]:
    • Password for your avatar

At this point the Opensim server should be up and running

Step 3 - Login with your SL Client

You can’t just login with your Second Life client because it has no way of knowing about your Opensim server.  You need to launch the SL client with some command line parameters to tell it to use Opensim vs. the SL grid.  Open a command window and navigate to the directory where you installed Second Life.  You should find SecondLife.exe  You can then type in “SecondLife.exe -loginuri http://localhost:9000/ -loginpage http://localhost:9000/?method=login“  Replace localhost:9000 with the server/port in question if you have modified the defaults above.

Start Building.  Or if you are so inclined learn how to create your own custom terrain here

<<Previous Section     Tutorial Start

 

<<Previous Section Tutorial Start Next Section>>

In part 4 of this tutorial, we will finally get into some Opensim s**t. After a few edits to some config files you will be ready login to your own sim.

Step 1 - Install (Unzip) Opensim

Installing Opensim is not really like installing a regular application at this point. There is no click though forehead installer. However, installation cannot be easier. Simply upzip/extract the zip file it comes in. For me the zip file I downloaded was opensim-bin-0.5.8. After extracting, I had a directory named opensimbin. Note, this was different from 0.5.5 where there was an opensim/bin directory structure.

Step 2 - Find and Rename the MySQL Connection Initialization file.

The first thing we need to do is tell Opensim where to find the MySQL database and how to connect to it. Find the file mysql_connection.ini.example.

NOTE: You may only see mysql_connection.ini. In reality this file is actually named mysql_connection.ini.example. You may not see the .example unless you have enabled file types. If you have not enabled file types in Vista then do so. To do this select the opensimbin folder and then from the Windows Explorer menu select “Organize” and then “Folder and Search Options” from the drop-down list. Go to the “View” tab and uncheck “Hide Extensions for Known File Types”.

We want to change this from an example to the real thing, so create a copy and rename it to “mysql_connection.ini”. Accept the change when Windows complains about changing the file type.

WARNING: Rename the mysql not mssql file. I’ve gotten the wrong one several times. Not mSsql file, rather mYsql.

Step 3 - Edit the mysql_connection.ini file

Now that you have created the mysql connection file let’s edit it and tell it how to reach our database. Open the mysql_connection.ini file using whatever editing program you like. I’d suggest wordpad as it deals with line wrapping pretty well. There are only a few lines to edit.

  • hostname=localhost
  • database=<name of your database, mine was opensimdb>
  • username=<name of your user, mine was opensimdbuser>
  • password=<password you set for this user>

Step 4 - Find and Rename the OpenSim Initialization File

The next part of the configuration is to tell Opensim to use MySQL vs. other databases. We need to copy and rename the example initialization file like we did in step 2. Find the file OpenSim.ini.example. Copy it and rename it to “OpenSim.ini”. Tell Windows to bug off and accept what you are trying to do.

Step 5 - Edit OpenSim.ini

There are several changes we want to make in this file. The main one is to tell Opensim to use MySQL as the datastore for everything. The second one is to enable the more sophisticated physics engine. If you don’t you won’t be able to walk on any prim, instead you will just walk through the prims.

Find and replace the following items:

  • Change the storage plugin from Null to MySQL
    • Change: storage_plugin = “OpenSim.Data.Null.dll”
    • To: storage_plugin=”OpenSim.Data.MySQL.dll”
  • Add a semi-colon to the following line (this comments the line out or tells Opensim to ignore it).
    • storage_connection_string=”URI=file:OpenSim.db,version=3″
  • Remove the semi-colon on the following line and add your database information.
    • ;storage_connection_string=”Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;”;
    • storage_connection_string=”Data Source=localhost;Database=<your db>;User ID=<your user>;Password=<yourpassword>;”;
  • Comment out (add a semi-colon to the front of basic physics and uncomment out OpenDynamicsEngine). IT should look like this when you are done.
    • ; Choose one of the physics engines below
    • ;physics = basicphysics
    • ;physics = POS
    • physics = OpenDynamicsEngine
    • ;physics = modified_BulletX
  • Change the inventory plugin to MySQL and add a inventory_source string for MySQL. It should look like the following:
    • ; Inventory database provider
    • ; inventory_plugin = “OpenSim.Data.SQLite.dll”
    • inventory_plugin = “OpenSim.Data.MySQL.dll” <– Change to MySQL
    • ; inventory_plugin = “OpenSim.Data.NHibernate.dll” ; for nhibernate
    • ; Inventory Source NHibernate Example (DIALECT;DRIVER;CONNECTSTRING)
    • ; inventory_source = “SQLiteDialect;SqliteClientDriver;URI=file:Inventory.db,version=3″ <– Comment out by adding a semi-colon
    • inventory_source=”DataSource=localhost;Database=<your db>;User ID=<your user>;Password=<your password>;”; <– Added this line
  • Do the same thing for Asset and User sections (change the plugin and add the following lines

That’s it! Next, lets fire up that new server.

<<Previous Section Tutorial Start Next Section>>

<<Previous Section Tutorial Start Next Section>>

In part 3 of this tutorial, we will be installing and configuring MySQL and creating the database to house our Opensim virtual world. At this point, you no longer need to be connected to the Internet.

Step 1 - Install MySQL

Go to the location you downloaded MySQL and run the installer. In my case, mysql-essentials-5.0.51b-win32. Accept all the defaults and the installation will begin. Of course, inform Vista again that it is ok in fact to install something.

Leave the “Configure the MySQL Server now” checked and click “Finished”

Step 2 - Configure MySQL

For me, the MySQL configuration wizard never started, I’m not sure why. To configure MySQL, go to My Programs->MySQL->MySQL Server 5.0->My SQL Server Instance Configuration Wizard. Accept all defaults and make sure to remember the password you pick for root access to MySQL.

Step 3 - Install MySQL GUI Tools

Once MySQL is installed and up and running you can install the GUI tools which we will use to create our Opensim database. Go to the place on your harddrive where you saved the GUI tools download and run the installer. For me this was mysql-gui-tools-5.0.r12-win32.

Step 4 - Login to MySQL AdministratorMySQL Login Page

The next step is to login to the MySQL Administrator so you can create a user and database that the Opensim server will use to store all its data. Go to All Programs->MySQL->MySQL Administrator.

At the login screen type the following:

  • Stored Connection: <leave blank>
  • Server Host: localhost
  • Username: root
  • Password: <the password you entered in Step 2>



Step 5 - Create a User

On the left hand nav, select “User Administration”. In the lower right, click “Add new user” button. This will be the user that is used to access the database, not an Opensim user. I used “opensimdbuser”, but you can call it whatever you like (I suggest no spaces or odd chars though). Then pick a password. Click “Apply Changes”.

Step 6 - Create a Database

Back on the left hand nav, select “Catalogs”. Now the mystical part, to create a new database, you have to right click in a blank area below Catalogs in the section labeled “Schemata” and select “Create New Schema”. I called mine “opensimdb”.

Step 7 - Grant the User Access to the Database

The final step is to grant the user full access to the new database (schema). To do this, navigate back to “User Administration” and select the user you created in the lower left hand panel. The user properties will appear to the right. Select the “Schema Privileges” tab. On this tab are all the schemas. Select the “opensimdb”. You will see assigned privileges and available privileges. By clicking the double arrow button “<<” you can quickly assign all privileges to the user.

Make sure to hit “Apply Changes”. It should look something like this:

At this point, the database is ready to use, we just need to configure Opensim to use it.

<<Previous Section Tutorial Start Next Section>>

<<Previous Section Tutorial Start Next Section>>

In part 2 of this tutorial, we will download all the necessary components to setup and run a virtual world server all for free. We will be using the Opensim server on Windows Vista operating system with a MySQL database.

Step 1 - Preparing the List

You will need to download four things for this project:

  1. MySQL Community Edition
  2. MySQL GUI Tools (optional if you know MySQL well, recommended if you don’t)
  3. An Opensim Build
  4. A Second Life client (Any Linden Lab client should work)

Step 2 - Download MySQL

Ever since MySQL went commerical, the community tools are a bit obscurly located IMO and of course may move again by the time you read this. Go to http://www.mysql.com. Navigate to “Downloads” then to “MySQL Community Server”, then “Community Downloads”

For this tutorial, I used the MySQL 5.0 Community Server GA edition. Pick “Windows” assuming you are following along for a Vista install. What you want now is Windows Essential (x86). When I downloaded this, I was using MySQL 5.0.51b.

MySQL Download Page

Select “Pick a Mirror”. At this point you are asked to register, very sneaky! Look below all the registration graphics and you’ll find a link “No thanks, just take me to the downloads!”. Select this and you’re off and running. Select HTTP next two a mirror site close to you for best speed. Save the file to a download location on your PC.

Step 3 - Download MySQL GUI Tools

Next you want the GUI tools, these are optional and if you know how to use the MySQL command line interface feel free to skip this step. However, if you are new to MySQL, then I would suggest downloading these tools. The GUI Administrator will be used in this tutorial to setup the database.

Navigate back to MySQL 5.0 Downloads page. On the left hand nav, you’ll see the various versions of the MySQL Community Server. Look below these and you’ll see a link that says “GUI Tools”. Click on this and then select MySQL Administrator. Scroll down a little bit and you’ll find the Windows (x86) version with the same “Pick a Mirror” link. I used version 5.0-r12.

Follow the same download procedure you did for MySQL.

Step 4 - Download Opensim Server Build

Head over to the Opensim project web site. Select “Downloads” and mostly ignore the instructions as they are geared toward someone who is planning to get the source code and build the project.

Opensim Wiki

Scroll down a bit and select the offical builds, ZIP file. As I wrote this I picked Opensim 0.5.8 and just yesterday it was 0.5.5 so things are moving quickly on this project.

Step 5 - Download A Second Life Viewer

If you already have the Second LIfe client installed on your machine you don’t need to do anything. If you’ve never used Second Life before, than you may want to do so before proceeding with this project. To get the latest Second Life viewer go here. This tutorial assumes we are installing all components on one Vista laptop so get the Windows version.

<<<Previous Section Tutorial Start Next Section>>

« Older entries