Install and Run a Simulator

The ScienceSim virtual world is based on the OpenSim 3D application server. OpenSim 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

System requirements are determined by the requirement for OpenSim. The packages described below have been tested on Ubuntu 8.10 for IA32. Windows install packages should run on Windows XP or higher with .NET installed.

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.

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.

Build From Source

The sources for the version of OpenSimulator being run on ScienceSim is available in a git repository. The sources have been patched with Cable Beach and performance optimizations for high prim count sims. To get the sources, the command is:

git clone http://island.sciencesim.com/src/scisim-git scisim-git

This will populate the directory 'opensim-scisim' with a complete opensimulator build tree. There will be three branches in the git repository: 'scisim-stable', 'scisim-experimental' and 'scisim-monthly*'. The branches are listed from most stable to most cutting-edge and the naming follows the published development procedure.

The OpenSim user documentation contains detailed instructions for building and running a simulator on various platforms. We strongly recommend that you familiarize yourself with the OpenSim documentation.

Binary Packages

Opensim.ini Configuration

The network configuration information is the connection back to the central ScienceSim services configuration information the must be placed in the file …/bin/OpenSim.ini file. The [Network] section should include at least:

  [Network]
      http_listener_port = YOUR_SETTING
      default_location_x = YOUR_SETTING
      default_location_y = YOUR_SETTING
  
      http_listener_ssl = false ; Also create a SSL server
  
      grid_server_url = "http://grid.sciencesim.com:8004/"
      grid_send_key = "null"
      grid_recv_key = "null"
  
      user_server_url = "http://grid.sciencesim.com/"
      user_send_key = "null"
      user_recv_key = "null"
  
      asset_server_url = "http://grid.sciencesim.com:8004/"
  
      inventory_server_url = "http://grid.sciencesim.com:8004/"
      secure_inventory_server = true
  
      messaging_server_url = "http://grid.sciencesim.com:8006/"
  
      ; What is reported as the "X-Secondlife-Shard"
      ; Defaults to the user server url if not set
      ; The old default is "OpenSim", set here fro compatibility
      shard = YOUR_SETTING

Note that both the asset and inventory servers use port 8004 and that the user server uses port 80. Obviously “YOUR_SETTINGS” are the values for your site. There may be some other values specified in your [Network] if you are setting some other non-default values.

Since your simulator will be connecting to the ScienceSim services, you must set gridmode:

  gridmode=true

As of OpenSimulator r10000 and any git repository version, you must enable grid architecture by editing the [Architecture] section of OpenSim.ini to un-comment the Include-Grid line and commenting out the others. You must also copy the file config-include/GridCommon.ini.example to config-include/GridCommon.ini and then edit that file with the asset server URL from the [Network] section. This is because the simulator service interfaces are half converted to a new architecture so one must configure both the old and new grid configurations.

Your GridCommon.ini should look something like:

  [Includes]
      Include-Common = "config-include/GridCommon.ini"
  
  [Modules]
      AssetServices = "ModCableBeach.dll:AssetServiceConnector"
      InventoryServices = "ModCableBeach.dll:InventoryServiceConnector"
      NeighbourServices = "RemoteNeighbourServicesConnector"
      NeighbourServiceInConnector = true
      LandServiceInConnector = true

While most of the other settings in the default OpenSim.ini are reasonable, you should make sure that meshing=Meshmerizer and physics=OpenDynamicsEngine are un-commented and the other selections are commented out. If your simulator is behind web proxy, setting HttpProxy and HttpProxyExceptions will make scripts happier. Since you're running in grid mode, everything in the [StandAlone] section can be ignored except set the welcome_message to your greeting.

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 OpenSim.ini file and comment out the “storage_plugin” for OpenSim.Data.SQLite.dll and uncomment and update the configuration for OpenSim.Data.MySQL.dll. Your OpenSim.ini file should look something like this when you are complete:

Comment out SQLite definition:

;storage_plugin = "OpenSim.Data.SQLite.dll"
;storage_connection_string="URI=file:OpenSim.db,version=3";

Uncomment and add configuration for MySQL database name and account. Use the password string for the database user account.

; --- To use MySQL storage, supply your own connectionstring (this is only an example):
;     note that the supplied account needs create privilegies if you want it to auto-create needed tables.
storage_plugin="OpenSim.Data.MySQL.dll"
storage_connection_string="Data Source=localhost;Database=opensim;User ID=opensim;Password=passwordForTheUser;";

Region File Configuration

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:

  • set sim_UUID to a unique GUID (use /usr/bin/uuidgen) to create one;
  • set sim_name to a name for the sim (MyLand00 for instance)
  • set sim_location_x to one of the given grid locations (say 555 from above)
  • set sim_location_y to one of the given grid locations
  • set internal_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…)
  • set 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.

Running OpenSim

Once installed, you run the simulator by executing "OpenSim.exe" on Windows® or "mono OpenSim.exe" on Linux.

 
 
 
 
installsimulator.txt · Last modified: 2010/02/18 14:43 by robertadams
 
RSS - 2008 © ScienceSim