A step-by-step installation guide for creating a region locally on your home computer under Windows XP using the MySQL database for storing region data
The purpose of this article is to present a short,
comprehensive, do-it-yourself tutorial for the installation of
Opensim on a Windows XP machine, using MySQL as the back-end database for
persistence. I've tried to write the tutorial in such a way that
you can understand it even if you've got no previous exposure with
either Opensim or with database concepts. While SQLite (the default
database in Opensim) does it's job very well, MySQL is much faster
and more flexible in the long run - it is portable and has a much
greater capacity for storing region data.
However, before we get started some familiarity with the
operating system is required, in particular you're assumed to know
how to:
1) Open a system prompt ( Start > Type "CMD" in the
text field )
2) Open a text editor and create a file (the "notepad" application
will suffice).
Your computer should also have Microsoft .Net Framework
installed, chances are you already have it installed, but if not
simply go to Microsoft and get it here.
A step-by-step procedure follows; you'll be asked to download
some files; these files implement OpenSim and MySql.
Step 1:
Download latest OpenSim binary release here and
install it, using all default options.
OpenSim is the Open Source Simulator, the set of programs that
will allow you to create virtual worlds on your own computer, and
eventually link them to the outside world for other people to see.
Although in this tutorial we are only looking at setting up a
standalone region locally. Chances are though if you dig this then
the next thing you will likely want to do is hook this up with the
outside world :)
Step 2:
Download MySQL 5.1 (for
Win32 or for
Win64; the Windows ZIP/Setup.EXE option worked for me). Install
with all default options. You will be asked for the "root"
password, chose it carefully, you'll need it below [use that path
if you've neved worked with a RDBMS, or don't even know what a
RDBMS is; otherwise, you should define a special user for
OpenSim-related questions].
Step 3:
You'll need the MySQL GUI tools too: http://dev.mysql.com/downloads/gui-tools/5.0.html.
Again, install with all default options.
MySQL is the program that will implement
persistence in your islands. "Persistence"
is the technical term used to describe the fact that your
appearance is the same (it persists) between logins, the
islands are the same too (they also persist) between
logins (assuming there's not been somebody to alter them, of
course, or a script has altered the world, etc).
To implement persistence, we will need to create a MySQL
database. You must chose a name for your database.
"OpenSim" is a good choice; or you can think big, and use the name
of your own future grid
Step 4:
Go to Start -> All programs -> MySQL -> MySQL Server
5.1 -> MySQL Command Line Client and type the root password
(alternatively, open a system prompt and connect to MySQL using the
OpenSim-specific account). When you get the "mysql>" prompt,
type
create database MyGridName;
substitute "MyGridName" by the name you've chosen; the final
semicolon is necessary; you should get a "Query Ok, 1 row
affected" reply.
[If you've created an OpenSim-specific account, grant this
account all privileges on the database you've just created]
Step 5:
Go to "C:\Program Files\OpenSim", and create a file called
"OpenSim.ini". Cut and paste the text below into it
-------------------- Cut here -------------------
[Startup]
region_info_source = filesystem
gridmode = False
physics = OpenDynamicsEngine
meshing = ZeroMesher
physical_prim = True
see_into_this_sim_from_neighbor = True
serverside_object_permissions = False
storage_plugin = "OpenSim.Data.MySQL.dll"
storage_connection_string = "Data Source=localhost; Database=DDDD;User ID=UUUU;Password=PPPP;";
storage_prim_inventories = true
appearance_persist = true
appearance_connection_string = "Data Source=localhost; Database=DDDD;User ID=UUUU;Password=PPPP;pooling=false;"
asset_database = "local"
startup_console_commands_file = "startup_commands.txt"
shutdown_console_commands_file = "shutdown_commands.txt"
DefaultScriptEngine = ScriptEngine.DotNetEngine
asset_database = local
clientstack_plugin = OpenSim.Region.ClientStack.LindenUDP.dll
EventQueue = True
[StandAlone]
accounts_authenticate = True
welcome_message = Welcome to Condensation!
inventory_plugin = "OpenSim.Data.MySQL.dll"
inventory_source = "Data Source=localhost;Database=DDDD; User ID=UUUU;Password=PPPP;"
userDatabase_plugin = "OpenSim.Data.MySQL.dll"
user_source = "Data Source=localhost;Database=DDDD; User ID=UUUU;Password=PPPP;"
asset_plugin = "OpenSim.Data.MySQL.dll"
asset_source = "Data Source=localhost;Database=DDDD; User ID=UUUU;Password=PPPP;"
dump_assets_to_file = False
[Network]
default_location_x = 1000
default_location_y = 1000
http_listener_port = 9000
remoting_listener_port = 8895
grid_server_url = http://localhost:8001
grid_send_key = null
grid_recv_key = null
user_server_url = http://localhost:8002
user_send_key = null
user_recv_key = null
asset_server_url = http://localhost:8003
inventory_server_url = http://localhost:8004
secure_inventory_server = true
-------------------- Cut here -------------------
Now replace all occurences of "DDDD" by the name of the database
you created in step 4, all occurences of "UUUU" by "root" (or the
name of the OpenSim-specific account you created in step 3), and
all occurences of PPPP by root's password (or the password for the
OpenSim-specific account). You should also replace "Welcome to
Condensation!" by your own welcome message.
Step 6:
Go to Start > Run. Type "cmd" and press ENTER. Type "cd
\program files\opensim" and press ENTER. Type "opensim" and press
ENTER [if you're running Windows Vista 64 bit, type
opensim32bitLaunch instead -- you'll need to run it as an
administrator]. Wait some secs. When asked for "default region
config: region name", enter the name of your first region (I
entered "Condensation Land"); you can accept the default for Grid
Location (X Axis) and (Y Axis), for the internal IP address
or incoming UDP, and for the internal IP port for incoming
UDP; you will then be asked for the first and last names and
password for the master avatar: you can use your SL first and last
names, but I'd suggest you'd not use your SL password, as this
password will be stored as plain text.
We're almost done!
Step 7:
Create a copy of the Second Life icon in your desktop, change its
name to whatever you fancy (in my case I chosed "Condensation"),
right click the new icon and select "Properties", and add
"-loginuri http://localhost:9000/" (without the quotes) to the end
of the first entry field.

That's it.
Now open your newly created icon. You'll see data about Second
Life, which you can disregard, and you'll know that you're not in
Second Life any more because of the red menu bar. Enter the first
name, last name and password you have created in step 6, and press
ENTER. [If for any reason you get a "Could not authenticate your
avatar" message, you can always re-create your avatar by typing
"create user first last password 1000 1000" (without the quotes)
and pressing enter at the "Region <root> # :" prompt in the
OpenSim window.]

You'll log in as usual… into your own
grid!!! If you're using the same first name and last name than in
SL, you'll see the last screen of your last SL session; don't be
confused by that: you'll also see your own welcome message, which
tells you that you're not logging into SL after all.

Wait a few seconds, and… poof! You're
logged in into your own grid!

If you display the map, you'll see that
you're in an universe with only one island, namely, the one you've
named in step 6.

Now, ok, you're ruthed, which means that
you're horrible, and your world is empty, with no other avies, no
economy and no shops. However, you can create prims,upload
textures, etc., and this is more than enough to give you a feeling
of what the technology can do.

Final step:
When you're finished playing/experimenting/whatever, go to the
opensim console and type "quit" (or "shutdown") and press ENTER.
This will guarantee that all the data (i.e., prims, outfits,
terrain, etc) is correctly saved so that you'll find it there next
time you open your world.
Note 1: OpenSim is considered to be alpha
software. This means that many things you expect from your daily
use of Second Life don't work in the same way, or simply they don't
work at all. Development of OpenSim is very active, tho, so that we
can only expect OpenSim quality and features to better with
time.
Note 2: This is not for the faint of heart.
You've been warned!
Note 3: The information presented here was
valid on January the 3rd, 2009. I'll correct errors that are
brought to my attention, but this post should not be taken as a
substitute of the official OpenSim wiki.
Note 4: Make sure your have all ports not used
(defined in opensim.ini and /Regions *.xml) closed at the firewall
and have a proper antimalware on board as long as there is any kind
of network connection.
Note from maxping...
Thanks to Zonja for writing this and letting us put this up on
the site, we will be following this article up presently with
instruction on how to connect the local standalone region you have
just created above to the actual grid.
We recommend that you discuss this article on Think, but if you really want to you can leave a comment right here as well: