In my previous post I installed the Diva distribution of OpenSim and began porting my Tibetan language objects into it from Second Life. This has gone well. I have my complete Tibetan classroom running here behind the firewall on Dharma Drum Mountain. Diva has run splendidly. The only problems I have encountered involve saving and loading OARs (opensim archive files). There is a bug such that the OAR loads fine in the root region (SW) but loading an oar file in the other regions causes aproximately 30% of its prims to become phantom. See the bug report here: http://opensimulator.org/mantis/view.php?id=4163
Since I need to exchange OARs with other users, I decided to pass beyond the Diva distro by downloading and compiling the latest OpenSim release: opensim-0.6.7.
This tutorial is very limited: it will describe how I installed a standalone instance of OpenSim onto my Acer laptop running Ubuntu 9.04, mono 2.0.1, and MySQL. If you already use Ubuntu with these packages installed, read on. If you lack these packages or if you want a grid architecture instead of a standalone, I suggest you consult the OpenSim wiki: http://opensimulator.org/wiki/Main_Page
Ubuntu users will also need to install these compiling tools:
sudo apt-get install mono-devel libmono-microsoft8.0-cil libmono-oracle2.0-cil nant
Use MySQL or phpmyadmin (or some other MySQL manager) to create a MySQL database named opensim or such. It does not need to be populated with tables at this point. I named my new database “opensimRelease” to differentiate it from my “opensim” diva database. Make sure you have privileges.
Download opensim source code from: http://dist.opensimulator.org/opensim-0.6.7-release.tar.gz
Unzip it into its own directory somewhere controlled by you.
If there are problems with the compilation, the problem may be your mono installation. Consult the internet. But if all went smoothly, you will need to configure for a standalone server. Begin by copying the OpenSim.ini.example file to an operational ini files:
cp OpenSim.ini.example OpenSim.ini
Now you will edit the ini file.
In OpenSim.ini all references to databases should look like this:
storage_connection_string=”Data Source=localhost;Database=yourdatabase;User ID=root;Password=yourpassword;”;
DefaultScriptEngine = “XEngine”
This is my network section:
ConsoleUser = “Test”
ConsolePass = “secret”
http_listener_port = 9000
default_location_x = 1000
default_location_y = 1000
http_listener_ssl = false ; Also create a SSL server
http_listener_cn = “localhost” ; Use the cert with the common name
http_listener_sslport = 9001 ; Use this port for SSL connections
http_listener_ssl_cert = “” ; Currently unused, but will be used for OSHttpServer
grid_server_url = “http://172.30.102.148:9000”
grid_send_key = “1234”
grid_recv_key = “1234”
user_server_url = “http://172.30.102.148:9000”
user_send_key = “1234”
user_recv_key = “1234”
asset_server_url = “http://172.30.102.148:9000”
inventory_server_url = “http://172.30.102.148:9000”
messaging_server_url = “http://172.30.102.148:9000”
Kill the evil dotnetengine:
Enabled = false
Now the StandaloneCommon.ini must be edited:
cp StandaloneCommon.ini.example to StandAlone.ini
StorageProvider = “OpenSim.Data.MySQL.dll”
ConnectionString = “Data Source=localhost;Database=yourdatabasename;User ID=root;Password=yourpassword;”
At this point you should be able to run ./OpenSim.exe from the bin. It will ask you questions about your region. Your answers create a /bin/network/network.ini file. It should be configured like this:
[MY Cool World]
Location = 1000,1000
InternalAddress = 0.0.0.0
InternalPort = 9000
AllowAlternatePorts = False
ExternalHostName = your machine’s IP // Note: not 127.0.0.1
MasterAvatarFirstName = Master
MasterAvatarLastName = Avatar
MasterAvatarSandboxPassword = password
If all goes well you will be rewarded with a console prompt. Your region is now ready for use. Visit it with the SL client or Hippo (my favorite). Make sure your loginuri is set to http://127.0.0.1:9000 or whatever your setup demands.
More regions can be added in the /bin/regions/regions.ini file. Each region needs a unique UUID (get them here: http://www.famkruithof.net/uuid/uuidgen) and the coordinates and ports must be increased incrementally. For instance, in the next region the coordinates might be 1000,1001 and the port might be 90001.
Now that I have OpenSim running in standalone mode, my next steps will be to configure it for grid mode and connect my world to the OSGrid.
Added next day: Sucessfully configured the installation to run in grid mode. The process is straighforward. All errors involved wrong port numbers, so be careful about ports. See the Grid Mode section of the wiki: