The ScienceSim virtual world is based on the OpenSimulator 3D application server. OpenSimulator is unique among virtual world platforms in that simulation of the virtual space can be decentralized. That is, like the Internet itself, participating organizations can host portions of the virtual space and customize its behavior.
System requirements are determined by the requirement for OpenSimulator. The packages described below have been tested on Ubuntu 8.10 and higher for IA32. Windows install packages should run on Windows XP or higher with .NET installed in either 32 bit or 64 bit configurations.
If you are running on a Linux system, you also need Mono version 2.4.2 or better. You can fetch it from http://www.mono-project.com/Main_Page or as an optional package to your Linux distribution.
In general, system requirements (processors, memory, etc) depend on the use of your simulators. Most common desktop computers can support a a few avatars and some building. If you expect to have large numbers of avatars, large builds or many scripts, consider larger, server class systems.
The sources for the version of OpenSimulator being run on ScienceSim are the “0.7” releases from the OpenSimulator git repository. You fetch the sources with
git clone git://opensimulator.org/git/opensim
This will create the directory 'opensim' with the latest version of the sources. The head of the sources can be very experimental so it is best to use one of the stable releases. As of Sept 16th, 2010, the most recent stable release is '0.7.0.2-release'. You get this version of the sources by cd'ing into the 'opensim' directory created above and doing the following commands:
git branch --track 0.7.0.2-release origin/0.7.0.2-release
git checkout 0.7.0.2-release
which sets up a local branch that tracks that release and then updates the source tree to that version.
The OpenSimulator user documentation contains detailed instructions for building and running a simulator on various platforms. We strongly recommend that you familiarize yourself with the OpenSimulator documentation.
Configuration is needed to connect your simulator to the ScienceSim services.
First copy 'OpenSim.ini.example' to 'OpenSim.ini'. Edit 'OpenSim.ini', go to the very bottom of the file and comment out all the “Include-Architecture” lines except the grid configuration:
Include-Architecture = "config-include/SimianGrid.ini"
Then 'cd' into the 'config-include' directory and copy GridCommon.ini.example to GridCommon.ini. Then edit GridCommon.ini.
First configure your local database in the [Database] section.
Comment out the system you are not using and fill in the section for the database system you are using.
The default configuration file uses the SQLite database for region item storage. Even when connected to ScienceSim, each of your regions keeps a database of information about the objects that are rezzed in the region. If you will have many objects in your regions or expect a lot of use, you could consider configuring your regions to use MySQL. For this, you need to install MySQL on your server, create a user and database and put this information in your OpenSim.ini file.
After MySQL installation, the following commands create a database named “opensim” and a user named “opensim” and grants that user access to the database:
> mysql -u root -p Enter password: mysql> create database opensim; mysql> create user 'opensim'@'localhost' identified by 'userPasswordHere'; mysql> grant all on opensim.* to 'opensim'@'localhost'; mysql> exit >
Then, you need to change your GridCommon.ini file and comment out the “Include-Storage” for SQLite and uncomment and update the configuration for OpenSim.Data.MySQL.dll. The [DatabaseService] section of your GridCommon.ini file should contain the following lines (with your database password in place):
storage_plugin="OpenSim.Data.MySQL.dll" storage_connection_string="Data Source=localhost;Database=opensim;User ID=opensim;Password=passwordForTheUser;";
Then edit the URLs that point to ScienceSim.
ScienceSim uses the Simian services. All of the URLs specified in GridCommon.ini will be the same except for AssetServerURI. When you've completed editing, your GridCommon.ini file should contain the following:
[AssetService]
AssetServerURI = "http://grid.sciencesim.com/Grid/?id="
...
[InventoryService]
InventoryServerURI = "http://grid.sciencesim.com/Grid/"
...
[GridService]
GridServerURI = "http://grid.sciencesim.com/Grid/"
...
Where every server URI is identical except for AssetServerURI.
While most of the other settings in the default OpenSim.ini are reasonable, you can made modifications to that file to tweak the many features in OpenSimulator. If your simulator is behind web proxy, setting HttpProxy and HttpProxyExceptions will make scripts happier.
The second piece of information is the grid location of your simulator's land in the overall ScienceSim Grid. We call the space reserved for your sims a plaza. To reserve space for your plaza please select the next unused plaza location from the Region Reservation List.
You will find a sample region file in ''.../bin/Regions/default.xml''. For each of the regions you wish to run (and you do not need to run simulators for each of your reserved regions), make a copy of the default.xml file. For example, if you wish to run four regions, copy default.xml into files that might be named MyLand00.xml, MyLand01.xml, MyLand01.xml and MyLand11.xml. Edit each of these region definition files and make the following changes:
sim_UUID to a unique GUID (use /usr/bin/uuidgen) to create one;sim_name to a name for the sim (MyLand00 for instance)sim_location_x to one of the given grid locations (say 555 from above)sim_location_y to one of the given grid locationsinternal_ip_port to an available port on your server. Each region will have one IP port for outside connections. Commonly these are 9000 and above. Make sure that each region has its own unique port number (9000, 9001, 9002…)external_host_name to the name of the server the simulator is running on.Note that there are special instructions for running a simulator on a NAT'ed network. Please see this discussion for more information.
Once installed, you run the simulator by executing "OpenSim.exe" on Windows® or "mono OpenSim.exe" on Linux. If you are running a 64 bit version of Windows, run "OpenSim.32BitLaunch.exe".