<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://opensimulator.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://opensimulator.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Amitgoel</id>
		<title>OpenSimulator - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://opensimulator.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Amitgoel"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Special:Contributions/Amitgoel"/>
		<updated>2026-05-11T05:55:21Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/wiki/Database_Settings</id>
		<title>Database Settings</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Database_Settings"/>
				<updated>2014-10-12T11:52:45Z</updated>
		
		<summary type="html">&lt;p&gt;Amitgoel: /* MySQL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
If you want to quick know the walkthrough for database setup, see [[#Quick Setup]].&lt;br /&gt;
&lt;br /&gt;
'''TODO: This page needs to be improved for setting up database usage in Robust, though the config parameters are identical to the StandaloneCommon.ini/GridCommon.ini files.&lt;br /&gt;
&lt;br /&gt;
= Structure =&lt;br /&gt;
&lt;br /&gt;
On OpenSimulator 0.7.1 and later, you need to set '''StorageProvider''' and '''ConnectionString''' so that OpenSimulator can connect to a database. Usually you'll need to edit '''StandaloneCommon.ini''' for standalone or '''GridCommon.ini''' for grid mode.&lt;br /&gt;
&lt;br /&gt;
In those files, you'll find the [DatabaseService] section.  This is where the database is configured.  There are number of entries - the only ones that should be uncommented (by removing the beginning semi-colon) are those which apply to the database that you want.  All the others must be commented out (by adding a semi-colon to the front of the line).   &lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===MySQL===&lt;br /&gt;
&lt;br /&gt;
For MySQL you will uncomment the required lines and configure as appropriate.  For instance, the lines&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
StorageProvider = &amp;quot;OpenSim.Data.MySQL.dll&amp;quot;&lt;br /&gt;
ConnectionString = &amp;quot;Data Source=localhost;Database=opensimdb;User ID=opensim;Password=h0tgrits;Old Guids=true;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case, it will connect to a MySQL database called opensimdb on the same machine running the simulator (localhost).  The user connecting is opensim with the password h0tgrits.&lt;br /&gt;
&lt;br /&gt;
===PostgreSQL===&lt;br /&gt;
&lt;br /&gt;
For PostgreSQL you will uncomment the required lines and configure as appropriate.  For instance, the lines&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
StorageProvider = &amp;quot;OpenSim.Data.PGSQL.dll&amp;quot;&lt;br /&gt;
ConnectionString = &amp;quot;Data Source=localhost;Database=opensimdb;User ID=opensim;Password=h0tgrits;Port=5432;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case, it will connect to a PostgreSQL database called opensimdb on the same machine running the simulator (localhost).  The user connecting is opensim with the password h0tgrits. If you changed the port number on PostgreSQL installation, you may add to connection string &amp;quot;Port=5432&amp;quot; where 5432 you may change to the installed port.&lt;br /&gt;
&lt;br /&gt;
* PostgreSQL database module isn't in 0.7.6 release. It is still on the bleeding edge source code.&lt;br /&gt;
&lt;br /&gt;
===SQLite===&lt;br /&gt;
&lt;br /&gt;
SQLite is slightly different.  Instead you would uncomment (or leave uncommented) the line.&lt;br /&gt;
&lt;br /&gt;
Or, you can include another ini files. You'll find a line like that:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Include-Storage = &amp;quot;config-include/storage/SQLiteStandalone.ini&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will go on to read config-include/storage/SQLiteStandalone.ini after reading this ini file. If you open SQLiteStandalone.ini file, you'll find StrageProvider and ConnectionString lines in each sections.  As SQLite does not require users or passwords to be setup, there is no further configuration to be done unless you want sqlite to use different filenames for its databases.&lt;br /&gt;
&lt;br /&gt;
===MSSQL===&lt;br /&gt;
&lt;br /&gt;
'''NOTE: There had been another way to connect to MSSQL database, which was using &amp;quot;mssql_connection.ini&amp;quot; in bin/ directory. On OpenSimulator 0.7.1 or later, it will NOT be read even if you set it properly. Use ConnectionString in *Common.ini instead. For more specific details, see the section [[#MSSQL]].'''&lt;br /&gt;
&lt;br /&gt;
== Database Parameters ==&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:#DDDDFF;&amp;quot;&lt;br /&gt;
| Parameter&lt;br /&gt;
| Possible Values&lt;br /&gt;
| Description&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| StorageProvider&lt;br /&gt;
| &amp;quot;OpenSim.Data.SQLite.dll&amp;quot; (SQLite)&amp;lt;br /&amp;gt;&amp;quot;OpenSim.Data.MySQL.dll&amp;quot; (MySQL)&amp;lt;br /&amp;gt;&amp;quot;OpenSim.Data.PGSQL.dll&amp;quot; (PostgreSQL)&amp;lt;br /&amp;gt;&amp;quot;OpenSim.Data.MSSQL.dll&amp;quot; (Microsoft SQL Server)&amp;lt;br /&amp;gt;&amp;quot;OpenSim.Data.Null.dll&amp;quot; (disable persistence)&lt;br /&gt;
| The name of the storage provider modules, which can be found in bin/ folder. The three above are which OpenSimulator officially support (though MSSQL is partially).  If you choose &amp;quot;OpenSim.Data.Null.dll&amp;quot;, OpenSimulator will keep all data in its memory instead of using DBMS.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ConnectionString&lt;br /&gt;
| See [[#ConnectionString Syntax]]&lt;br /&gt;
| A string that OpenSimulator specifies information about a data source. Usually it may include the hostname or ip addresses of database server, database service names, username, schema name and password. The syntax varies between databases.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EstateConnectionString&lt;br /&gt;
| See [[#ConnectionString Syntax]]&lt;br /&gt;
| The same as ConnectionString, but it will be used only for Estate Service. (optional)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ConnectionString Syntax ==&lt;br /&gt;
&lt;br /&gt;
=== MySQL ===&lt;br /&gt;
&lt;br /&gt;
''Data Source=[1];Database=[2];User ID=[3];Password=[4];Old Guids=true;''&lt;br /&gt;
&lt;br /&gt;
* [1] The hostname or ip address of database server&lt;br /&gt;
* [2] Database name&lt;br /&gt;
* [3] Username for the database above&lt;br /&gt;
* [4] Password for the user above&lt;br /&gt;
&lt;br /&gt;
Example: If you have created the database &amp;quot;opensim&amp;quot; in localhost, and then created &lt;br /&gt;
the user &amp;quot;opensimuser&amp;quot; and its password is &amp;quot;opensimpassword&amp;quot;, it will be:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ConnectionString = &amp;quot;Data Source=localhost;Database=opensim;User ID=opensimuser;Password=opensimpassword;Old Guids=true;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PostgreSQL ===&lt;br /&gt;
&lt;br /&gt;
''Data Source=[1];Database=[2];User ID=[3];Password=[4];Port=[5]''&lt;br /&gt;
&lt;br /&gt;
* [1] The hostname or ip address of database server&lt;br /&gt;
* [2] Database name&lt;br /&gt;
* [3] Username for the database above&lt;br /&gt;
* [4] Password for the user above&lt;br /&gt;
* [5] Port number for the server (default=5432)&lt;br /&gt;
&lt;br /&gt;
Example: If you have created the database &amp;quot;opensim&amp;quot; in localhost, and then created &lt;br /&gt;
the user &amp;quot;opensimuser&amp;quot; and its password is &amp;quot;opensimpassword&amp;quot;, and the server port number is 5435 it will be:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ConnectionString = &amp;quot;Data Source=localhost;Database=opensim;User ID=opensimuser;Password=opensimpassword;Port=5435&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SQLite ===&lt;br /&gt;
&lt;br /&gt;
''URI=file:[1],version=3,UseUTF16Encoding=True;''&lt;br /&gt;
&lt;br /&gt;
* [1] The path to the database file (relative to the bin/ directory - If there is no file on this path, it will be created automatically)&lt;br /&gt;
&lt;br /&gt;
Example: If you want to create the database for Inventory Service in the directory &amp;quot;bin/db&amp;quot;, it will be:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ConnectionString = &amp;quot;URI=file:db/inventory.db,version=3,UseUTF16Encoding=True&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MSSQL ===&lt;br /&gt;
&lt;br /&gt;
''Server=[1];Database=[2];User Id=[3]; password=[4];''&lt;br /&gt;
&lt;br /&gt;
* [1] &amp;quot;servername\instance name&amp;quot; - You can see this string in SQL Server Managerment Studio login dialog(Server:).&lt;br /&gt;
* [2] Database name&lt;br /&gt;
* [3] Username for the database above&lt;br /&gt;
* [4] Password for the user above&lt;br /&gt;
&lt;br /&gt;
Example: If you have installed Microsoft SQL Server Express Edition with default settings on your local machine&lt;br /&gt;
, created the database &amp;quot;opensim&amp;quot; in localhost, and then created the user &amp;quot;opensimuser&amp;quot; and its password is &amp;quot;opensimpassword&amp;quot;, it will be:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ConnectionString = &amp;quot;Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensimuser; password=opensimpassword;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using different database settings for different services ==&lt;br /&gt;
&lt;br /&gt;
'''Note: This is extremely advanced configuration and needs to be updated for ROBUST configuration as well as standalone (which is what is implied here).'''&lt;br /&gt;
&lt;br /&gt;
Currently there are several services in OpenSimulator.&lt;br /&gt;
* [InventoryService]&lt;br /&gt;
* [AssetService]&lt;br /&gt;
* [AvatarService]&lt;br /&gt;
* [AuthenticationService]&lt;br /&gt;
* [UserAccountService]&lt;br /&gt;
* [GridUserService]&lt;br /&gt;
* [FriendsService]&lt;br /&gt;
* [EstateDataStore]&lt;br /&gt;
* [SimulationDataStore]&lt;br /&gt;
* [PresenceService]&lt;br /&gt;
* [AuthorizationService]&lt;br /&gt;
* [GridService]&lt;br /&gt;
&lt;br /&gt;
You can use a different database for each service by overriding the StorageProvider and ConnectionString properties as we saw in the general [DatabaseService] section above.  For instance, if you want to use MySQL 'opensim' in general but MySQL 'opensim2' for Inventory Service and MSSQL for Authentication Service, you'll need to write in StandaloneCommon.ini something like:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[DatabaseService]&lt;br /&gt;
StorageProvider = &amp;quot;OpenSim.Data.MySQL.dll&amp;quot;&lt;br /&gt;
ConnectionString = &amp;quot;Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
[InventoryService]&lt;br /&gt;
ConnectionString = &amp;quot;Data Source=localhost;Database=opensim2;User ID=opensim;Password=***;Old Guids=true;&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
[AuthenticationService]&lt;br /&gt;
...(another parameters for authentication service)...&lt;br /&gt;
StorageProvider = &amp;quot;OpenSim.Data.MSSQL.dll&amp;quot;&lt;br /&gt;
ConnectionString = &amp;quot;Data Source=(local);Database=opensim;User=opensim;password=********;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If OpenSimulator can't find StorageProvider or ConnectionString in each service's section, it will use those in [DatabaseService] section. If OpenSimulator find each or them, it will use the parameter in each service's section. Thus, then the settings in these sections override those in [DatabaseService] section.&lt;br /&gt;
&lt;br /&gt;
In this case, Inventory Service will:&lt;br /&gt;
* read [DatabaseService]StorageProvider&lt;br /&gt;
* read [DatabaseService]ConnectionString -&amp;gt; read [InventoryService]ConnectionString and override&lt;br /&gt;
&lt;br /&gt;
Authentication Service will:&lt;br /&gt;
* read [DatabaseService]StorageProvider -&amp;gt; read [AuthenticationService]StorageProvider and override&lt;br /&gt;
* read [DatabaseService]ConnectionString -&amp;gt; read [AuthenticationService]ConnectionString and override&lt;br /&gt;
&lt;br /&gt;
Note: SQLite and MSSQL providers don't support some services.&lt;br /&gt;
&lt;br /&gt;
Note: For Estate Service, there is another parameter EstateConnectionString in [DatabaseService]. It is the middle priority between [DatabaseService] and [EstateDataStore] ConnectionStrings. OpenSimulator reads ConnectionString in [DatabaseService] section first, next EstateConnectionString, finally ConnectionString in [EstateDataService] section and overrides.&lt;br /&gt;
&lt;br /&gt;
= Quick Setup =&lt;br /&gt;
&lt;br /&gt;
== SQLite Walkthrough ==&lt;br /&gt;
&lt;br /&gt;
By default, OpenSimulator will automatically create its SQLite database files(*.db) in bin/ directory. You don't need to do anything generally.&lt;br /&gt;
If you want to create the database files in another directory, you can change by editing ConnectionString in bin/config-include/storage/SQLiteStandalone.ini included by config-include/*Commons.ini. See [[#SQLite]] section for the detailed syntax.&lt;br /&gt;
&lt;br /&gt;
== MySQL Walkthrough ==&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
Download and install &amp;quot;MySQL Community Server&amp;quot; from [http://dev.mysql.com/downloads/mysql/ MySQL Downloads Page]. On Linux, you can even fetch &amp;quot;mysql-server&amp;quot; or &amp;quot;mysql-community-server&amp;quot; with your native package manager. &lt;br /&gt;
&lt;br /&gt;
=== Installing MySQL Server ===&lt;br /&gt;
On Windows:&lt;br /&gt;
Download MSI and run it. Select &amp;quot;Typical&amp;quot;. After installation, it will launch &amp;quot;MySQL Server Instance Configuration Wizard&amp;quot;. Select &amp;quot;Standard Configuration&amp;quot;. In the next screen, you might be happy later if you check &amp;quot;Include Bin Directory in Windows PATH&amp;quot;. In the next screen, provide mysql root password. It will complete settings for mysql and startup its service automatically. See [http://dev.mysql.com/doc/refman/5.5/en/windows-installation.html MySQL Documentation] for more details.&lt;br /&gt;
&lt;br /&gt;
On Mac OS X:&lt;br /&gt;
Download DMG package and install it normally. After install the server package, you can even install MySQL Startup Item if you want MySQL to start automatically during system startup. After that, startup your MySQL by following commands. See [http://dev.mysql.com/doc/refman/5.5/en/macosx-installation.html MySQL Documentation] for more details.&lt;br /&gt;
&lt;br /&gt;
MySQL must be configured to use UTF8 as its default character set. In the config file /etc/my.cnf (Linux) or my.ini (Windows), add these settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 character-set-server=utf8&lt;br /&gt;
&lt;br /&gt;
 [client]&lt;br /&gt;
 default-character-set=utf8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And it's ready to run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 $ cd /usr/local/mysql&lt;br /&gt;
 $ sudo ./bin/mysqld_safe&lt;br /&gt;
 (enter your password, if necessary)&lt;br /&gt;
 (press ctrl-Z)&lt;br /&gt;
 $ bg&lt;br /&gt;
 (press ctrl-D or enter &amp;quot;exit&amp;quot; to exit the shell)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
RPM install the downloaded package or install &amp;quot;mysql-server&amp;quot; or &amp;quot;mysql-community-server&amp;quot; with your package manager. For more instructions for installation, see [http://dev.mysql.com/doc/refman/5.5/en/linux-installation.html MySQL Documentation]. After that, startup your MySQL with following command.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ /etc/init.d/mysqld start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to startup MySQL server automatically, see [http://dev.mysql.com/doc/refman/5.5/en/automatic-start.html 2.10.1.2. Starting and Stopping MySQL Automatically in MySQL 5.5 Reference Manual].&lt;br /&gt;
&lt;br /&gt;
=== Creating MySQL Database ===&lt;br /&gt;
Now you can configure your MySQL with the command line tools. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -u root --password&lt;br /&gt;
(enter your password, or if you haven't set password for MySQL server, type &amp;quot;mysql -u root&amp;quot; instead)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can even use MySQL Command Line Client on Start menu on Windows. After login, create user and database for OpenSimulator.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; create database opensim;&lt;br /&gt;
mysql&amp;gt; use opensim;&lt;br /&gt;
mysql&amp;gt; create user 'opensimuser'@'localhost' identified by 'opensimpassword';&lt;br /&gt;
mysql&amp;gt; grant all on opensim.* to 'opensimuser'@'localhost';&lt;br /&gt;
mysql&amp;gt; quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configuring OpenSimulator ===&lt;br /&gt;
Open StandaloneCommon.ini or GridCommon.ini with your editor. First, comment-out the line for SQLite. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; SQLite&lt;br /&gt;
;Include-Storage = &amp;quot;config-include/storage/SQLiteStandalone.ini&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After that, uncomment StorageProvider and ConnectionString property lines in [DatabaseService] section and change the line like that:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; MySql&lt;br /&gt;
StorageProvider = &amp;quot;OpenSim.Data.MySQL.dll&amp;quot;&lt;br /&gt;
ConnectionString = &amp;quot;Data Source=localhost;Database=opensim;User ID=opensimuser;Password=opensimpassword;Old Guids=true;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that &amp;quot;Data Source=localhost;&amp;quot; actually specifies a TCP socket. If your MySQL server is set up to refuse remote connections (i.e. with skip-networking enabled) you'll need to replace &amp;quot;localhost&amp;quot; with the path to MySQL's UNIX socket.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ConnectionString = &amp;quot;Data Source=/var/run/mysqld/mysqld.lock;Database=opensim;User ID=opensimuser;Password=opensimpassword;Old Guids=true;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can find the path to the socket that your MySQL server is using with mysqladmin.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysqladmin -p -u root version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and start OpenSimulator. It will access to your new MySQL database instead of the default SQLite databases.&lt;br /&gt;
&lt;br /&gt;
== PostgreSQL Walkthrough ==&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
Download and install PostgreSQL server from [http://www.postgresql.org/download/ PostgreSQL Downloads Page]. On Linux, you can even fetch &amp;quot;postgresql&amp;quot; with your native package manager.&lt;br /&gt;
&lt;br /&gt;
== MSSQL Walkthrough ==&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
To download Microsoft SQL Server 2008 Express edition: [http://www.microsoft.com/Sqlserver/2008/en/us/express.aspx]&lt;br /&gt;
Make sure you download Microsoft SQL Server 2008 Express with Tools ([http://www.microsoft.com/downloads/details.aspx?FamilyId=7522A683-4CB2-454E-B908-E805E9BD4E28]) since you will likely want a nice tool to work with your database. If you already downloaded Microsoft SQL Server before, skip to &amp;quot;Checking Instance Configurations&amp;quot; step.&lt;br /&gt;
&lt;br /&gt;
=== Installing Microsoft SQL Server ===&lt;br /&gt;
Double-click the downloaded executable and select click Installation and &amp;quot;New SQL Server stand-alone installation or add features to an existing installation&amp;quot;. It will start installation process, you only need to click &amp;quot;OK&amp;quot;, &amp;quot;Next&amp;quot; or &amp;quot;Install&amp;quot; until you come across the &amp;quot;Feature Selection&amp;quot;. In this screen, you need to check &amp;quot;Database Engine Service&amp;quot; and &amp;quot;Management Tools - Basic&amp;quot;, then click &amp;quot;Next&amp;quot;. In next screen &amp;quot;Instance Configuration&amp;quot;, check what is filled in &amp;quot;Named instance:&amp;quot; property - you will later use this later. For example, for default Express Edition, you'll see &amp;quot;SQLEXPRESS&amp;quot;. Click &amp;quot;Next&amp;quot;. Then go on default until you reach &amp;quot;Server Configuration&amp;quot;. In this screen, fill in Account Name and Password field with you windows login name and password. In next &amp;quot;Database Engine Configuration&amp;quot; screen, you will need to enable '''Mixed Mode'''. After that provide password, click &amp;quot;Add Current User&amp;quot;, and then continue clicking &amp;quot;Next&amp;quot; or &amp;quot;OK&amp;quot; until it completes the installation process. After that, you'll find the entry &amp;quot;SQL Server Managerment Studio&amp;quot; in &amp;quot;Microsoft SQL Server 2008&amp;quot; on the Windows Start menu. Open it and click &amp;quot;connect&amp;quot; to connect to your instance.&lt;br /&gt;
&lt;br /&gt;
=== Checking Instance Configurations ===&lt;br /&gt;
Right-click on your database server in Management Studio and select Properties, then go to the Security tab and select '''SQL Server and Windows Authentication mode''', click OK. If you have already installed SQL Server before and you find &amp;quot;Windows Authentication mode&amp;quot; enabled instead, change it.&lt;br /&gt;
&lt;br /&gt;
=== Creating User for Database ===&lt;br /&gt;
Expand the Security node, then right-click the Logins node. Select &amp;quot;New Login...&amp;quot; to open &amp;quot;Login - New&amp;quot; dialog. In this screen, fill &amp;quot;Login name&amp;quot; with the string whatever you like, select &amp;quot;SQL Server authentication&amp;quot;, give it a strong password, uncheck &amp;quot;User must change password at next login&amp;quot;, and click &amp;quot;OK&amp;quot;. In this tutorial, we'll assume you have typed &amp;quot;opensimuser&amp;quot; for Login name, and &amp;quot;opensimpassword&amp;quot; for password.&lt;br /&gt;
&lt;br /&gt;
=== Creating Database ===&lt;br /&gt;
Right-click on the Databases node and and select &amp;quot;New Database...&amp;quot; to open &amp;quot;New Database&amp;quot; dialog. In &amp;quot;Database name&amp;quot; field, you provide any names for the new database, which we'll assume is &amp;quot;opensim&amp;quot;. In &amp;quot;Owner&amp;quot; field, provide the name of newly created database user(&amp;quot;opensimuser&amp;quot; in this tutorial). Accept all defaults and click &amp;quot;OK&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Configuring OpenSimulator ===&lt;br /&gt;
Open StandaloneCommon.ini or GridCommon.ini with your editor. First, comment-out the line for SQLite. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; SQLite&lt;br /&gt;
;Include-Storage = &amp;quot;config-include/storage/SQLiteStandalone.ini&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After that, add these line in [DatabaseService] section. As of OpenSimulator 0.7.1, there is no sample configurations for MSSQL(Microsoft SQL Server), so you need to add them by yourself.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; MSSQL&lt;br /&gt;
StorageProvider = &amp;quot;OpenSim.Data.MSSQL.dll&amp;quot;&lt;br /&gt;
ConnectionString = &amp;quot;Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensimuser; password=opensimpassword;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save and start OpenSimulator. It will access to your new SQL Server database instead of the default SQLite databases.&lt;br /&gt;
&lt;br /&gt;
= Additional Settings =&lt;br /&gt;
== MySQL ==&lt;br /&gt;
MySQL's own configuration is handled in its my.ini file (found in &amp;quot;C:\ProgramData\MySQL\MySQL Server x.y&amp;quot; on recent versions of MySQL on Windows) or my.cnf file (found at /etc/mysql/my.cnf on Ubuntu Linux systems, for instance).&lt;br /&gt;
&lt;br /&gt;
In general, the default configuration is fine for OpenSimulator.  However, you may want to check the max_allowed_packet size.  Very large objects, such as linksets with a very large number of parts or large mesh objects may generate OpenSimulator assets that exceed the default BLOB size that MySQL can store.  On Ubuntu the max_allowed_packet size is 16M, which should be fine.  On Windows MySQL it can be set larger.  In early versions of MySQL [http://dev.mysql.com/doc/refman/5.1/en/packet-too-large.html the default is 1M] which may be too small. Windows 5.6 MySQL default is 4M. &lt;br /&gt;
&lt;br /&gt;
Notes: [http://osgrid.org OSGrid] maximum asset size is reported as 45MB at May 2013. [http://vue.ed.ac.uk/openvue/ Openvue] grid maximum asset size is reported as 16MB as at May 2013.&lt;br /&gt;
&lt;br /&gt;
To change this setting, one would add a line like the following in the [mysqld] section of the my.ini or my.cnf file.  E.g.,&lt;br /&gt;
&lt;br /&gt;
 max_allowed_packet  = 16M&lt;br /&gt;
&lt;br /&gt;
On Ubuntu 14.04.1 with MySQL latest, this setting was already found to be 16M.&lt;br /&gt;
&lt;br /&gt;
[[Category:Database]]&lt;/div&gt;</summary>
		<author><name>Amitgoel</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Configuration</id>
		<title>Configuration</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Configuration"/>
				<updated>2014-10-11T22:35:00Z</updated>
		
		<summary type="html">&lt;p&gt;Amitgoel: /* Database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== OpenSimulator simulator configuration file ==&lt;br /&gt;
The region simulator configuration is managed using a file called OpenSim.ini. This file is used regardless of whether the sim is running in standalone or grid mode. This file references some additional configuration information from the config-include/ directory. Information about the various settings is contained in the OpenSim.ini file itself (or OpenSim.ini.example for reference).&lt;br /&gt;
&lt;br /&gt;
Please note, that the name OpenSim.ini can be changed via [[OpenSim.exe Command Line Options|command line arguments]].&lt;br /&gt;
&lt;br /&gt;
It is also possible to distribute the inifile settings over two files. This is useful if you want to run several OpenSimulator processes where most of your settings are identical except for a few. The master file is read first, then the inifile is read. Settings given in the inifile overrule settings given in the master file. The master file has the same format and the same keywords as the inifile, so the same documentation applies.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
'''TODO: Database settings do not apply until we have create the ini files from example files first. Hence Database Section Should be moved below.'''&lt;br /&gt;
&lt;br /&gt;
Opensim supports the following database-engines. Information about setting these up can be found in the OpenSim.ini.example file and the other various example files in bin/config-include.  '''If you do not want to use the default SQLite configuration then you will need to setup your database before proceeding further'''.  SQLite does not require further configuration.  See [[Database Settings]] for the detailed settings.&lt;br /&gt;
&lt;br /&gt;
* '''SQLite''' (default) - a lightweight database that comes bundled with OpenSimulator and can be used without requiring any extra configuration. It is mostly intended to get you up and running quickly, not for production use. It is significantly slower than MySQL. A few features here (such as attachment persistence) have not yet been fully implemented. &lt;br /&gt;
&lt;br /&gt;
* '''MySQL''' (fully supported) - This is the recommended database for any use beyond experimentation or small standalone applications. The minimum MySQL version is 5.1.&lt;br /&gt;
::* '''Windows x64 systems:''' &amp;amp;nbsp;There is currently an unresolved [http://opensimulator.org/mantis/bug_view_advanced_page.php?bug_id=5294 bug_id=5294] found when running OpenSimulator with MySQL 5.5 on Windows x64 systems.&lt;br /&gt;
::* '''Opensim 0.7.0.2:''' &amp;amp;nbsp;Some users have reported problems with MySQL 5.1.55 and up with Opensim 0.7.0.2, see [http://opensim-users.2152040.n2.nabble.com/OpenSim-1-7-0-2-and-MySQL-Versions-td6155064.html this thread] for more information. The issue can be resolved by using an updated version of MySql.Data.dll OR installing an older version of MySQL such as [http://downloads.mysql.com/archives.php?p=mysql-5.1&amp;amp;v=5.1.52 MySQL 5.1.52] with Opensim version 0.7.0.2. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
* '''MSSQL''' (fairly supported) - persistence support for some recent OpenSimulator features may not yet be implemented though the vast majority of them are supported.&lt;br /&gt;
&lt;br /&gt;
== Standalone vs. Grid ==&lt;br /&gt;
We recommend that you first get OpenSimulator running in standalone mode before you attempt to connect it to a grid or run your own grid. OpenSimulator will start up in standalone mode out-of-the-box on the binary distributions.&lt;br /&gt;
&lt;br /&gt;
An OpenSimulator configuration consists of regions (run by region simulators) and backend data services (such as user, assets and inventory management).&lt;br /&gt;
&lt;br /&gt;
A system running in '''standalone mode''' runs both the region simulator and all the data services in a single process when you run OpenSim.exe. In this mode you can run as many regions as you like but only on a single machine.&lt;br /&gt;
&lt;br /&gt;
[[Image:Opensim-standalone.png|frame|center|OpenSimulator running in standalone mode. Both simulator and services run in the same process (OpenSim.exe).]]&lt;br /&gt;
&lt;br /&gt;
In '''grid mode''', the data services are not part of the region server process. Instead, they are run in a separate executable called Robust.exe. A Robust shell can run all the services or they can be split amongst any number of Robust instances. This allows them to be run on entirely separate machines if necessary. In this mode, the OpenSim.exe acts solely as the region server, serving one or more regions that communicate with the separate data services. At this point you can run multiple OpenSim.exe region simulators on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Image:Opensim-grid-simple.png|frame|center|OpenSimulator running in grid mode. In this case, all the services are being run within a Robust.exe process. Multiple copies of OpenSim.exe (usually running on different machines) all use the same set of common services.]]&lt;br /&gt;
&lt;br /&gt;
Running in grid mode is more complicated than running in standalone mode. It requires an understanding of UUID, X,Y location, server handshake passwords, estates and estate owners, and a couple of other settings. These require more care and patience to set up. We strongly recommend that you don't attempt this unless you are extremely patient and very technically proficient.&lt;br /&gt;
&lt;br /&gt;
= Running OpenSimulator in Standalone mode =&lt;br /&gt;
&lt;br /&gt;
Binary distributions of OpenSimulator are by default configured to run in standalone mode.&lt;br /&gt;
&lt;br /&gt;
However, if you build OpenSimulator from the source distribution or from the git repository then you will need to:&lt;br /&gt;
&lt;br /&gt;
# Change into the '''''bin''''' folder&lt;br /&gt;
# Copy the file '''''OpenSim.ini.example''''' to '''''OpenSim.ini'''''. This configures the 3D simulator itself.&lt;br /&gt;
# Change into the '''''bin/config-include''''' folder&lt;br /&gt;
# Copy the file '''''StandaloneCommon.ini.example''''' to '''''StandaloneCommon.ini'''''. This configures the in-process data services used by the standalone configuration.&lt;br /&gt;
# In the '''[Architecture]''' section of '''''OpenSim.ini''''', near the bottom of the file, uncomment the ''Standalone.ini'' line. To uncomment a line of code, remove the semi-colon (;) comment symbol preceding the line so that it says:&lt;br /&gt;
&lt;br /&gt;
 Include-Architecture = &amp;quot;config-include/Standalone.ini&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Running OpenSimulator is then a matter of launching OpenSim.exe. However, you need to have installed all dependencies before that. See [[Dependencies]] for details. After that, open a command prompt (for Windows users, Start menu &amp;gt; Run &amp;gt; cmd) and navigate to the Opensim /bin directory.&lt;br /&gt;
&lt;br /&gt;
On a '''Windows 32-bit''' command prompt:&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
Under '''Windows 64-bit''', ODE cannot yet be compiled for 64 bit mode, so if using the default ODE physics plugin run:&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
On '''Linux''' run:&lt;br /&gt;
 mono OpenSim.exe&lt;br /&gt;
This can be done under both 32 and 64 bit modes with the ODE physics engine.&lt;br /&gt;
&lt;br /&gt;
== Running for the first time ==&lt;br /&gt;
&lt;br /&gt;
If you're running OpenSimulator for the first time, it will ask you several questions at the console that will set up a single region for you. The configuration options you enter will be written to the bin/Regions/Regions.ini file, which you can then edit at a later date if you need to make changes.&lt;br /&gt;
&lt;br /&gt;
Many of the questions have defaults. Here are some explanations of the questions asked:&lt;br /&gt;
&lt;br /&gt;
* '''New region name'''&lt;br /&gt;
::The name for your region. Don't leave this blank!&lt;br /&gt;
* '''Region UUID'''&lt;br /&gt;
::The unique ID of your region. In pretty much all cases you will want to accept the randomly generated default in the square brackets. The only time when you wouldn't is if you were trying to set up a configuration to point to pre-existing region data. But in this case you are probably better off editing the Regions.ini file directly anyway&lt;br /&gt;
* '''Region Location'''&lt;br /&gt;
::This is the location of the region on the grid. In standalone mode you can safely leave these as the default (1000,1000). If you were to set up additional regions later on in Regions.ini then they would need different grid co-ordinates (e.g. 1000,1001). OpenSimulator regions can be placed anywhere on a 65536 by 65536 grid, but [[Hypergrid]] enabled regions may need special consideration for region location. See [[Installing and Running Hypergrid#The 4096 Regions Limit]] for more information.&lt;br /&gt;
* '''Internal IP address'''&lt;br /&gt;
::In virtually all cases this can be left as 0.0.0.0 (this is a wildcard that allows OpenSimulator to listen for UDP connections on any of the server's network interfaces). If you want to restrict UDP connections to only one network interface then you can specify an explicit IP address. This address is only used internally - the '''External host name''' is the one that is actually passed to the viewer (and hence is the important one).&lt;br /&gt;
* '''Internal port'''&lt;br /&gt;
::This is the IP port for all incoming client connections. The name is a bit misleading since it will be used externally (by a Second Life viewer, for instance) as well as internally. You can make this any port you want, but it is safe to leave at the default 9000. Each region on your server must have a unique port.&lt;br /&gt;
* '''Allow alternate ports'''&lt;br /&gt;
::This is currently experimental. Please leave it at the default of False.&lt;br /&gt;
* '''External host name'''&lt;br /&gt;
::If you leave this at the default 'SYSTEMIP' then this will become the LAN network address of the machine (e.g. 192.168.1.2). This is fine if you are connecting only from within your LAN. If you want to connect to it from a client on the internet, this should be the External IP Address of your router. Fully Qualified Domain Names (FQDNs) can also be used though they will be converted to a numeric IP address before being sent to the viewer.&lt;br /&gt;
&lt;br /&gt;
The following details are also asked in OpenSimulator 0.6.9 and earlier.&lt;br /&gt;
&lt;br /&gt;
* '''Master Avatar UUID'''&lt;br /&gt;
::This is a legacy OpenSimulator feature and can be left at the default of 00000000-0000-0000-0000-000000000000. Later on, you may want to change this to your own avatar's UUID in Regions.ini if you have problems editing terrain.&lt;br /&gt;
* '''Master Avatar first name'''&lt;br /&gt;
::This is an alternative way of specifying the master avatar by avatar name rather than UUID. If you press enter here then both this field and the last name field will be left blank. Accepting the blank default is fine - this can always be changed later in Regions.ini file.&lt;br /&gt;
* '''Master Avatar last name'''&lt;br /&gt;
::The last name of the master avatar.&lt;br /&gt;
* '''Master Avatar sandbox password'''&lt;br /&gt;
::The password of the master avatar.&lt;br /&gt;
&lt;br /&gt;
In OpenSimulator 0.7 and later, OpenSimulator will ask you to assign each region to an estate during the setup process. If an estate needs to be created then it will also ask you to assign an estate manager. In standalone mode, an estate manager can also be created during the setup process.&lt;br /&gt;
&lt;br /&gt;
Don't forget the account details you use to set up the master avatar (in 0.6.9) or the estate manager (in 0.7 and later). Only this user will initially be able to configure the in-world settings for your region. This is also a user account that you can use to perform your initial login test.&lt;br /&gt;
&lt;br /&gt;
See [[Configuring Regions]] for more information about the Regions.ini file that these questions generate.&lt;br /&gt;
&lt;br /&gt;
If you want to create a user other than the estate manager, then in the server console type:&lt;br /&gt;
&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
This will ask you a series of questions for creating a user (such as first name, last name and password).&lt;br /&gt;
&lt;br /&gt;
== Network access for the standalone installation ==&lt;br /&gt;
In standalone mode, a viewer connecting to your installation needs the following network access to your installation machine.&lt;br /&gt;
&lt;br /&gt;
1. TCP over the http_listener_port as used in your simulator.  This is set in the [Network] section of your OpenSim.ini.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[Network]&lt;br /&gt;
http_listener_port = 9000&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will be the default of 9000 if you have not explicitly changed it.&lt;br /&gt;
&lt;br /&gt;
2. UDP over each region's InternalPort as configured in your region files (such as Regions.ini).  For instance, if you have configured&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[test]&lt;br /&gt;
RegionUUID = dd5b77f8-bf88-45ac-aace-35bd76426c81&lt;br /&gt;
Location = 1000,1000&lt;br /&gt;
InternalAddress = 0.0.0.0&lt;br /&gt;
InternalPort = 9000&lt;br /&gt;
AllowAlternatePorts = False&lt;br /&gt;
ExternalHostName = mygrid.com&lt;br /&gt;
&lt;br /&gt;
[test2]&lt;br /&gt;
RegionUUID = dd5b77f8-bf88-45ac-aace-35bd76426c82&lt;br /&gt;
Location = 1000,1001&lt;br /&gt;
InternalAddress = 0.0.0.0&lt;br /&gt;
InternalPort = 9001&lt;br /&gt;
AllowAlternatePorts = False&lt;br /&gt;
ExternalHostName = mygrid.com&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then you will need to open ports 9000 and 9001 to UDP traffic.&lt;br /&gt;
&lt;br /&gt;
3. The network address of the machine hosting the OpenSimulator installation must be accessible to connecting viewers.  In the example above, the installation machine is reachable from the Internet via the domain name &amp;quot;mygrid.com&amp;quot;.  If the same installation needs to be accessed by viewers on the same network, it must be possible for them to also successfully resolve that domain name (not all routers, especially home routers, have this &amp;quot;loopback capability&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
If the installation only needed to be accessed on the same LAN, then one could you the local IP address of the server (e.g. 192.168.1.2).&lt;br /&gt;
&lt;br /&gt;
== Connecting to a standalone installation ==&lt;br /&gt;
&lt;br /&gt;
To connect to your new sim with your user, start up a Second Life viewer with the following command line switches:&lt;br /&gt;
&lt;br /&gt;
'''Client on same machine as OpenSim:'''&lt;br /&gt;
 -loginuri http://127.0.0.1:9000&lt;br /&gt;
&lt;br /&gt;
'''Client on same LAN as OpenSim:'''&lt;br /&gt;
 -loginuri http://lan_ip:9000&lt;br /&gt;
&lt;br /&gt;
'''Client on different machine or internet:'''&lt;br /&gt;
 -loginuri http://external_ip:9000&lt;br /&gt;
&lt;br /&gt;
Then enter the user name and password you set up in the previous step and your new user should login.&lt;br /&gt;
&lt;br /&gt;
Be aware of [http://osgrid.org/forums/viewtopic.php?f=5&amp;amp;t=400&amp;amp;start=0&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a loopback] problems when Running viewer &amp;amp;amp; server(s) on the same machine (LAN) by using the &amp;quot;external&amp;quot; configuration. (&amp;lt;u&amp;gt;'''You might notice endless waiting for region handshake'''&amp;lt;/u&amp;gt;.) See also [[Troubleshooting|troubleshoot hints]]. If you're having Connectivity problems, [[Network Settings|be sure to read the Network Configuration Page]]. This is important if you see Region handshake issue.&lt;br /&gt;
&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
== IMPORTANT NOTE, DIVA DISTRO - 4 Apr. 2012  - ==&lt;br /&gt;
&lt;br /&gt;
'''If you download the latest version of diva-r18611.tar.bz''', it is necessary to first launch the setup program ''configure.exe''&lt;br /&gt;
*In Linux or MacOSX : open a terminal and enter &amp;quot;mono /diva-r18611/bin/Configure.exe&amp;quot; (assuming that you have placed the Diva distro in /diva-r18611)&lt;br /&gt;
*In Windows, assuming they extracted Diva in My Documents, one would open &amp;quot;Run =&amp;gt; cmd&amp;quot; and enter '''cd &amp;quot;%USERPROFILE%\My Documents\diva-r18611\&amp;quot;'', followed by &amp;quot;Configure.exe&amp;quot;. &lt;br /&gt;
After issuing the command, you can set your sim's domain name, and carefully answer the program's questions, then start the program as instructed in above paragraphs.&lt;br /&gt;
&lt;br /&gt;
The program will install the optimum configuration for OpenSim, example: '''&amp;lt;nowiki&amp;gt;http://&amp;lt;your_IP&amp;gt;:9000&amp;lt;/nowiki&amp;gt;''' and WiFi '''&amp;lt;nowiki&amp;gt;http:&amp;lt;your_IP&amp;gt;:9000/wifi&amp;lt;/nowiki&amp;gt;''' &lt;br /&gt;
In the standalone version, four regions will be set up. You can optionally add other regions later on, so make sure to use the same first name with the addition of a number &lt;br /&gt;
(ex: &amp;quot;region 5&amp;quot;, &amp;quot;region 6&amp;quot;, &amp;quot;region 7&amp;quot;, etc. otherwise you can't enter the region and you'd be placed in the nearest free location.&lt;br /&gt;
&lt;br /&gt;
 If you wish to enter a different region name, make sure that the &amp;quot;distance&amp;quot; between the island created by the Wifi configuration program and the next, &lt;br /&gt;
 will be at least 40 positions away from the first installed region)&lt;br /&gt;
 (command console: create region Johnnyland RegionConfigure.ini)&lt;br /&gt;
&lt;br /&gt;
= Running OpenSimulator in Grid mode =&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
NOTE: 0.7 is the first OpenSimulator release that fully migrates all services to the ROBUST server shell.  OpenSim.Grid.UserServer.exe and MessageServer.exe from OpenSimulator 0.6.9 are no longer necessary.  Please see the [[0.7 Release|0.7 release notes]] for more details.  For details on how to set up grid services in OpenSimulator 0.6.9 and earlier please see [[OpenSim 0.6.9 Grid Mode Configuration]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Running OpenSimulator in grid mode is considerably more complicated than running a standalone instance. Instead of running everything in the same process, backend data services (asset, inventory, etc.) run in one or more separate processes, often on a different machine. This allows multiple OpenSim.exe simulator instances to use the same asset and inventory data.&lt;br /&gt;
&lt;br /&gt;
== Step 1: Set up a ROBUST services instance ==&lt;br /&gt;
&lt;br /&gt;
1. In the bin directory, copy Robust.ini.example to Robust.ini. The example file is configured to run all the services in a single ROBUST instance.&lt;br /&gt;
&lt;br /&gt;
2. Configure the [[Database Settings]] in Robust.ini to use your MySQL database. Only MySQL is supported for running grid services.  &lt;br /&gt;
&lt;br /&gt;
3. Start up Robust.exe. &lt;br /&gt;
&lt;br /&gt;
 mono Robust.exe (Linux, BSD, Mac OS X)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 Robust.exe (Windows)&lt;br /&gt;
&lt;br /&gt;
If you don't see any errors (in red) on the console then you can move on to the next step.&lt;br /&gt;
&lt;br /&gt;
4. Every region must belong to an estate, and every estate must have an owner which is a valid user account in OpenSim's user account service. Create a user on the ROBUST command console with the following command.&lt;br /&gt;
&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
This will ask you for the user's name, password and an optional e-mail. Remember this name since you will need it when you start up the simulator for the first time.&lt;br /&gt;
&lt;br /&gt;
== Step 2: Configure an OpenSim.exe to use the ROBUST services ==&lt;br /&gt;
&lt;br /&gt;
In grid mode, as in standalone mode, you need to configure OpenSim.ini which controls the 3D simulator itself.&lt;br /&gt;
&lt;br /&gt;
However, instead of using and configuring the file config-include/StandaloneCommon.ini, a simulator connecting to a grid needs to use and configure the config-include/GridCommon.ini file, in order to connect to the ROBUST hosted remote data services rather than in-process local ones.&lt;br /&gt;
&lt;br /&gt;
The steps for both these operations are as follows.&lt;br /&gt;
&lt;br /&gt;
1. Copy bin/OpenSim.ini.example to OpenSim.ini&lt;br /&gt;
&lt;br /&gt;
2. Find the [Architecture] section at the very bottom of OpenSim.ini. Make sure that one of the following lines is uncommented:&lt;br /&gt;
&lt;br /&gt;
 Include-Architecture = &amp;quot;config-include/Grid.ini&amp;quot; (in OpenSimulator 0.7.1 and later)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 Include-Grid         = &amp;quot;config-include/Grid.ini&amp;quot; (in OpenSimulator 0.7.0.2 and earlier)&lt;br /&gt;
&lt;br /&gt;
The others should remain commented.&lt;br /&gt;
&lt;br /&gt;
3. Go to bin/config-include and copy GridCommon.ini.example to GridCommon.ini.&lt;br /&gt;
&lt;br /&gt;
4. Open GridCommon.ini in a text editor. You will see lots of URL entries, each of which have dummy defaults of http://myassetserver.com:8003, http://myinventoryserver.com:8003, etc. You will need to change each of these to point towards the address of your ROBUST instance. For instance, if you're running ROBUST on a machine with a local IP address of 192.168.1.2, you will need to change AssetServerURI to the setting&lt;br /&gt;
&lt;br /&gt;
 AssetServerURI = &amp;quot;http://192.168.1.2:8003&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Run OpenSim.exe. If you're running OpenSim.exe for the first time you will get the same questions about setting up the region that occur on a first-run in standalone mode. Please see the standalone section for instructions on how to answer these, or read more information about the Regions.ini file on the [[Configuring Regions]] page.&lt;br /&gt;
&lt;br /&gt;
If everything is set up correctly, when starting up OpenSim.exe you shouldn't see any errors. You should also see the ROBUST console display log lines saying that the region has registered with the grid service. For example,&lt;br /&gt;
&lt;br /&gt;
 21:43:45 - [GRID SERVICE]: Region t1 (176cc95e-f693-4b02-8e08-af86e2372faa) registered successfully at 256000-256000&lt;br /&gt;
 21:43:47 - [GRID SERVICE]: region t1 has 0 neighbours&lt;br /&gt;
&lt;br /&gt;
== Network access for a grid installation ==&lt;br /&gt;
In standalone mode, a viewer connecting to your installation needs to access&lt;br /&gt;
&lt;br /&gt;
# The login service over TCP and other configured public services (e.g. grid info, map).&lt;br /&gt;
# The http_server_port of each configured simulator over TCP.&lt;br /&gt;
# The InternalPort and ExternalHostName of each configured region.&lt;br /&gt;
&lt;br /&gt;
The last two requirements are the same as for standalone installations, except that they apply to each server that hosts a simulator.  Please see the standalone section above for more details.&lt;br /&gt;
&lt;br /&gt;
The login service is a little different.  Whereas in standalone this uses the same http_server_port as the simulator itself, in grid mode it's running in a separate ROBUST service.&lt;br /&gt;
&lt;br /&gt;
The default port for the login service is 8002.  You can see this used in the [ServiceList] section of Robust.ini.example.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[ServiceList]&lt;br /&gt;
AssetServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AssetServiceConnector&amp;quot;&lt;br /&gt;
InventoryInConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:XInventoryInConnector&amp;quot;&lt;br /&gt;
GridServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:GridServiceConnector&amp;quot;&lt;br /&gt;
GridInfoServerInConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector&amp;quot;&lt;br /&gt;
AuthenticationServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector&amp;quot;&lt;br /&gt;
OpenIdServerConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector&amp;quot;&lt;br /&gt;
AvatarServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector&amp;quot;&lt;br /&gt;
LLLoginServiceInConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector&amp;quot;&lt;br /&gt;
PresenceServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector&amp;quot;&lt;br /&gt;
UserAccountServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector&amp;quot;&lt;br /&gt;
GridUserServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector&amp;quot;&lt;br /&gt;
FriendsServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector&amp;quot;&lt;br /&gt;
MapAddServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector&amp;quot;&lt;br /&gt;
MapGetServiceConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here all the public services (those where the viewer connects directly to the service) are served on port 8002, with internal services on 8003.  So you need to make sure that the viewer can access port 8002 over TCP but you do not want to expose port 8003.  Only simulators need to be able to connect to port 8003.&lt;br /&gt;
&lt;br /&gt;
== Connecting to a grid installation ==&lt;br /&gt;
&lt;br /&gt;
Your client startup line will look something like&lt;br /&gt;
&lt;br /&gt;
 -loginuri http://mygrid.com:8002&lt;br /&gt;
&lt;br /&gt;
The loginuri needs to be the address to the login service. In standalone mode, this was the same address as the region simulator and the port was 9000 by default. However, in grid mode it will be the address to login service hosted on the ROBUST instance. In this case, the address will be 192.168.1.2. The port number of 8002 is the traditional one for the grid login service and is the default in Robust.ini.example.&lt;br /&gt;
&lt;br /&gt;
If the login is successful, you will see log lines on the ROBUST console (for the login itself) and then log lines on the region simulator console (as the login process tells the simulator to expect the avatar, tells the viewer the address of the region simulator and then when the viewer starts talking to the simulator directly).&lt;br /&gt;
&lt;br /&gt;
= Running multiple ROBUST service instances =&lt;br /&gt;
&lt;br /&gt;
If you are operating a grid, then you can run different services (e.g. asset, inventory) in different ROBUST instances, in order to spread the load.  To do this, you will need to edit the ServiceConnectors parameter in the [Startup] section of Robust.ini (or Robust.HG.ini if you're running Hypergrid).  The default ServiceConnectors parameter looks something like this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[ServiceList]&lt;br /&gt;
AssetServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AssetServiceConnector&amp;quot;&lt;br /&gt;
InventoryInConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:XInventoryInConnector&amp;quot;&lt;br /&gt;
GridServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:GridServiceConnector&amp;quot;&lt;br /&gt;
GridInfoServerInConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector&amp;quot;&lt;br /&gt;
AuthenticationServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector&amp;quot;&lt;br /&gt;
OpenIdServerConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector&amp;quot;&lt;br /&gt;
AvatarServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector&amp;quot;&lt;br /&gt;
LLLoginServiceInConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector&amp;quot;&lt;br /&gt;
PresenceServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector&amp;quot;&lt;br /&gt;
UserAccountServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector&amp;quot;&lt;br /&gt;
GridUserServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector&amp;quot;&lt;br /&gt;
FriendsServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector&amp;quot;&lt;br /&gt;
MapAddServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector&amp;quot;&lt;br /&gt;
MapGetServiceConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each entry has the form &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;port-number&amp;gt;/&amp;lt;dll&amp;gt;:&amp;lt;connector-class-name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For instance, the first entry above&lt;br /&gt;
&lt;br /&gt;
 8003/OpenSim.Server.Handlers.dll:AssetServiceConnector&lt;br /&gt;
&lt;br /&gt;
says to start an AssetServiceConnector (and hence an asset service) from the OpenSim.Server.Handlers.dll and to server that from port 8003.&lt;br /&gt;
&lt;br /&gt;
By default, Robust.exe loads a configuration file with the same name but with .ini appended instead of .exe.  So Robust.exe will look for an inifile called Robust.ini.  You can change this by giving the parameter on the commandline.  For instance, to start Robust with HG parameters, one would use&lt;br /&gt;
&lt;br /&gt;
 Robust.exe -inifile=Robust.HG.ini&lt;br /&gt;
&lt;br /&gt;
So if you wanted to run every connector apart from assets in one instance of ROBUST and the asset connector in another instance, you would have two ini files.  One could remain Robust.ini and have&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[ServiceList]&lt;br /&gt;
InventoryInConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:XInventoryInConnector&amp;quot;&lt;br /&gt;
GridServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:GridServiceConnector&amp;quot;&lt;br /&gt;
GridInfoServerInConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector&amp;quot;&lt;br /&gt;
AuthenticationServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector&amp;quot;&lt;br /&gt;
OpenIdServerConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector&amp;quot;&lt;br /&gt;
AvatarServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector&amp;quot;&lt;br /&gt;
LLLoginServiceInConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector&amp;quot;&lt;br /&gt;
PresenceServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector&amp;quot;&lt;br /&gt;
UserAccountServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector&amp;quot;&lt;br /&gt;
GridUserServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector&amp;quot;&lt;br /&gt;
FriendsServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector&amp;quot;&lt;br /&gt;
MapAddServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector&amp;quot;&lt;br /&gt;
MapGetServiceConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The other could be called Robust.Assets.ini and have&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[ServiceList]&lt;br /&gt;
AssetServiceConnector = &amp;quot;8004/OpenSim.Server.Handlers.dll:AssetServiceConnector&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this is using port 8004 instead of port 8003.  This is necessary since only one executable can use each port at a time.  You will need to make sure your simulator configuration files use port 8004 for the asset service as well.&lt;br /&gt;
&lt;br /&gt;
You will also need to change the default network port to 8004 for this second copy of Robust.exe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Network]&lt;br /&gt;
   port = 8004&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you've created the two ROBUST configuration files (Robust.ini containing all services apart from asset and Robust.Assets.ini containing only the asset service), then you could start the first Robust.exe as usual.&lt;br /&gt;
&lt;br /&gt;
 Robust.exe&lt;br /&gt;
&lt;br /&gt;
This will load Robust.ini, as we haven't specified a Robust.ini.  Also, the logfile it will use will be Robust.log as we haven't manually specified one.&lt;br /&gt;
&lt;br /&gt;
The second ROBUST instance we would start with&lt;br /&gt;
&lt;br /&gt;
 Robust.exe -inifile=Robust.Assets.ini -logfile=Robust.Assets.log&lt;br /&gt;
&lt;br /&gt;
The -inifile switch tells the second Robust instance to load it's configuration from Robust.Assets.ini rather than Robust.ini.  The -logfile switch tells Robust.exe to use Robust.Assets.log as its logfile rather than the default Robust.log.  If you don't specify this switch then you may see errors on the console about a locked log file.&lt;br /&gt;
&lt;br /&gt;
At this point you should have two running Robust.exe instances.&lt;br /&gt;
&lt;br /&gt;
If you put the ROBUST instances on different machines then don't forget to change the relevant service URIs in each simulator to match.&lt;br /&gt;
&lt;br /&gt;
Since OpenSimulator services are stateless (e.g. every request is unconnected with other requests as long as they affect the same persistent data where necessary), you can also load balance by starting more than one ROBUST instance with a copy of the same service (e.g. multiple asset services using the same database).  Requests would be round-robined between the service copies using an HTTP reverse proxy implementation (e.g. nginx).  See [[Performance#Services]] for more details.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
[http://opensimulator.org/pipermail/opensim-users/2012-October/011099.html Useful discussion about separating Robust instances]&lt;br /&gt;
&lt;br /&gt;
= Attaching your sim to someone else's grid =&lt;br /&gt;
&lt;br /&gt;
To set up the region server (i.e., &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt;) to connect to an external grid, follow the [[Configuration#Step 2: Configure an OpenSim.exe to use the ROBUST services]] instructions above.&lt;br /&gt;
&lt;br /&gt;
The grid will have already provided with the required services. In step 2 you will need to use the provided URLs for their services.&lt;br /&gt;
&lt;br /&gt;
In your bin/Regions.ini file (or other region config file) you will also need to set the grid co-ordinates to your regions provided from the grid operator. See [[Configuring Regions]] for more information.&lt;br /&gt;
&lt;br /&gt;
= Running an OpenSimulator standalone or grid installation with Hypergrid enabled =&lt;br /&gt;
[[Hypergrid]] is an emerging architecture supported by OpenSimulator that allows a user with an account on one standalone or grid to visit other Hypergrid-enabled standalones or grids, and for users from those grids to visit the home grid. This does not require the two installations to share a central set of data services (assets, inventory, etc.). Please see [[Installing and Running Hypergrid]] for more details.&lt;br /&gt;
&lt;br /&gt;
= Further notes =&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
See [[Troubleshooting]] &lt;br /&gt;
&lt;br /&gt;
== Running OpenSimulator 0.6.7 to 0.7.6.1 in 64 bit Windows ==&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' ''Commits 3e5bc75 and e8ca900 move these to the directory ./share/32BitLaunch as they should no longer be needed and are slated for removal from the project'&lt;br /&gt;
&lt;br /&gt;
As of OpenSimulator 0.6.7 and up to release 0.7.6.1, the default physics engine for OpenSimulator was changed to the ODE engine. This is because ODE was the most advanced physics engine plugin at the time in OpenSimulator. Unfortunately, it has the drawback in that its library is not compilable under 64-bit in Windows. &lt;br /&gt;
&lt;br /&gt;
Therefore, in order to launch the region simulator under 64-bit Windows for versions 0.6.7 to 0.7.6.1 using ODE, users may need to run: &lt;br /&gt;
&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
&lt;br /&gt;
instead of:&lt;br /&gt;
&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
An alternative is to use the basicphysics engine instead or one of the other alternative physics engines bundled with OpenSim, though all these were less functional than the ODE plugin.&lt;br /&gt;
&lt;br /&gt;
From OpenSim 0.8 the default physics engine is BulletSim.&lt;br /&gt;
'&lt;br /&gt;
&lt;br /&gt;
== Note About Mono ==&lt;br /&gt;
&lt;br /&gt;
Mono and .NET have a built in threadpool.  By default, OpenSimulator is instead configured to use a third-party threadpool called SmartThreadPool for many tasks, partly because of issues with early implementations of the Mono threadpool.&lt;br /&gt;
&lt;br /&gt;
However, even with this setting, some other operations are carried out with the built-in threadpool.  At least in some versions of Mono (chiefly prior to 2.6), the default configuration for this can cause issues with OpenSimulator - [http://www.mono-project.com/ThreadPool_DeadLocks ThreadPool_Deadlocks at the mono-project website].&lt;br /&gt;
&lt;br /&gt;
If this is an issue or if the threadpool runs out of available threads, then the operation of your sim will start to break in all sorts of different ways. A common symptom is the freezing of all activity upon login of a new avatar.&lt;br /&gt;
&lt;br /&gt;
The MONO_THREADS_PER_CPU parameter affects the number of existing built-in threadpool worker threads below which Mono will always spawn a new thread when OpenSimulator adds a new task.  This is MONO_THREADS_PER_CPU * 4.  So if set to 50, the minimum number of worker threads will be 200.&lt;br /&gt;
&lt;br /&gt;
Above this number, Mono will make an internal decision whether to spawn a new thread or wait for an existing thread to complete its task.&lt;br /&gt;
&lt;br /&gt;
The effect of this parameter is extremely implementation dependent, and so dependent upon the version of Mono that you are using.  Before 2.6 for instance, it was definitely worth setting a high MONO_THREADS_PER_CPU due to issues with the Mono thread pool.  In theory, later versions of Mono should not be susceptible to this issue.  Mono 2.10.8.1, for instance, has a default MONO_THREADS_PER_CPU of 1 (despite what the incorrect Mono manpage says).&lt;br /&gt;
&lt;br /&gt;
However, people still report a benefit from setting MONO_THREADS_PER_CPU higher than default.  The exact number depends on many factors including: the number of CPUs in your machine, what else you use that machine for, how many regions you have in your sim, how many of them are adjacent, how many scripts you have, and how many avatars you expect to serve at the same time. As a reference, Wright Plaza in OSGrid, which is running as a single region on a sim and routinely hosts meetings with 20 avatars, uses the value 125. &lt;br /&gt;
&lt;br /&gt;
For example: $ export MONO_THREADS_PER_CPU=125&lt;br /&gt;
&lt;br /&gt;
So if you are having problems with avatars freezing and you're hardware meets or exceeds recommended [[Performance]] requirements, then you may want to setting this environment variable.&lt;br /&gt;
&lt;br /&gt;
There is a very basic program for displaying current threadpool configuration settings at https://github.com/justincc/opensimulator-tools/tree/master/analysis/threadpool-info.  &lt;br /&gt;
&lt;br /&gt;
All this applies to the min threadpool numbers, not the max thread numbers.  OpenSimulator itself will attempt to adjust the max numbers.  You can see the output from this very near the top of the OpenSim.log file.&lt;br /&gt;
&lt;br /&gt;
== Increasing the stack reserve level when using OpenDynamicsEngine on *nix ==&lt;br /&gt;
&lt;br /&gt;
If you have problems using the OpenDynamicsEngine on *nix, try setting your stack reserve level higher than the default with the following command;&lt;br /&gt;
&amp;lt;tt&amp;gt;ulimit -s 262144&amp;lt;/tt&amp;gt; Or, run the opensim-ode.sh to start up OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
== Firewalls ==&lt;br /&gt;
Some operation systems or distributions run their own firewall by default. If you can't access to OpenSimulator from remote client, you'll need to check their settings. See [[Firewall Settings]] for details.&lt;br /&gt;
&lt;br /&gt;
== Legacy Configuration Information ==&lt;br /&gt;
These are some pages containing some legacy configuration information of unknown accuracy.&lt;br /&gt;
&lt;br /&gt;
[[OpenSim 0.6.6 legacy configuration information]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Optional Configuration Tasks ==&lt;br /&gt;
&lt;br /&gt;
=== Further configure OpenSimulator ===&lt;br /&gt;
If you've looked through OpenSim.ini.example or any other of the config files, you'll see that there's a very large number of configurable parameters spread across multiple files. See [[Configuring Simulator Parameters]] for more details about the configuration infrastructure and how settings in identically named sections (e.g. [XEngine]) are merged by OpenSimulator on loading.&lt;br /&gt;
&lt;br /&gt;
=== Set up a second region to run on the same simulator ===&lt;br /&gt;
See [[Configuring Regions]].&lt;br /&gt;
&lt;br /&gt;
=== Run Multiple Standalone Instances of OpenSimulator on the Same Server ===&lt;br /&gt;
For each subsequent instance of OpenSim, change the 'http_listener_port' in OpenSim.ini to the value excluding 9000, and 'InternalPort' in Regions.ini to the value excluding 9000. Also, make sure your regions are using different ports, as explained in [[Configuring Regions]].&lt;br /&gt;
&lt;br /&gt;
=== Load region content ===&lt;br /&gt;
You can load content onto regions by using the [[OpenSim Archives|load oar command]]. To load individual OAR files into each region, use the 'change region [regionname]' command and then 'load oar [oar-location]'.&lt;br /&gt;
&lt;br /&gt;
=== OpenSim.exe command line options ===&lt;br /&gt;
OpenSim.exe has command line options which allow you to perform actions such as reading configuration files from a different directory. See [[OpenSim.exe Command Line Options]] for more details.&lt;br /&gt;
&lt;br /&gt;
=== Script engine ===&lt;br /&gt;
OpenSimulator supports multiple script engines. See [[ScriptEngines]] for details. If you don't know what this means then the default script engine will be fine. In fact, recent versions of OpenSimulator only ship with one script engine, the XEngine.&lt;br /&gt;
&lt;br /&gt;
=== Permissions Configuration ===&lt;br /&gt;
OpenSimulator has a quite elaborate set of permissions. See [[Permissions (Server)]] for details. By default, permissions are active on region simulators.&lt;br /&gt;
&lt;br /&gt;
=== Logging ===&lt;br /&gt;
By default, OpenSimulator logs information to a file called OpenSim.log in the bin directory. See [[Logging]] for details on how to further configure this if required.&lt;br /&gt;
&lt;br /&gt;
=== Set up other optional modules ===&lt;br /&gt;
* [[IRCBridgeModule]]&lt;br /&gt;
* [[Freeswitch Module]]&lt;br /&gt;
* [[Offline Messaging]]&lt;br /&gt;
* [[Enabling Groups]]&lt;br /&gt;
* See also [[User_Documentation#Setup]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of Web Server and Pages ===&lt;br /&gt;
OpenSimulator contains a web server that can serve up a variety of pages. Some which come from external files and some are generated internally.&lt;br /&gt;
* [[External Files]]&lt;br /&gt;
* [[Internally Generated]]&lt;br /&gt;
&lt;br /&gt;
= Where to go from here =&lt;br /&gt;
&lt;br /&gt;
* [[NAT Loopback Routers]] Router and Nat Loopback Information&lt;br /&gt;
&lt;br /&gt;
* [[Upgrading]] from an old OpenSimulator version to a newer one.&lt;br /&gt;
&lt;br /&gt;
* [[Server Commands]] for creating users and controlling the system.&lt;br /&gt;
&lt;br /&gt;
* Fix the bent knees bug: [[FAQ#Why are my knees bent when I stand idle.3F]]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
* [http://dist.opensimulator.org/wiki/opensim-standalone.odg OpenOffice draw file for OpenSimulator standalone diagram]&lt;br /&gt;
* [http://dist.opensimulator.org/wiki/opensim-grid-simple.odg OpenOffice draw file for OpenSimulator grid diagram]&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration]]&lt;/div&gt;</summary>
		<author><name>Amitgoel</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Configuration</id>
		<title>Configuration</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Configuration"/>
				<updated>2014-10-11T22:24:55Z</updated>
		
		<summary type="html">&lt;p&gt;Amitgoel: /* Database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== OpenSimulator simulator configuration file ==&lt;br /&gt;
The region simulator configuration is managed using a file called OpenSim.ini. This file is used regardless of whether the sim is running in standalone or grid mode. This file references some additional configuration information from the config-include/ directory. Information about the various settings is contained in the OpenSim.ini file itself (or OpenSim.ini.example for reference).&lt;br /&gt;
&lt;br /&gt;
Please note, that the name OpenSim.ini can be changed via [[OpenSim.exe Command Line Options|command line arguments]].&lt;br /&gt;
&lt;br /&gt;
It is also possible to distribute the inifile settings over two files. This is useful if you want to run several OpenSimulator processes where most of your settings are identical except for a few. The master file is read first, then the inifile is read. Settings given in the inifile overrule settings given in the master file. The master file has the same format and the same keywords as the inifile, so the same documentation applies.&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
&lt;br /&gt;
TODO: Database settings do not apply until we have create the ini files from example files first. Hence Database Section Should be moved below.&lt;br /&gt;
&lt;br /&gt;
Opensim supports the following database-engines. Information about setting these up can be found in the OpenSim.ini.example file and the other various example files in bin/config-include.  '''If you do not want to use the default SQLite configuration then you will need to setup your database before proceeding further'''.  SQLite does not require further configuration.  See [[Database Settings]] for the detailed settings.&lt;br /&gt;
&lt;br /&gt;
* '''SQLite''' (default) - a lightweight database that comes bundled with OpenSimulator and can be used without requiring any extra configuration. It is mostly intended to get you up and running quickly, not for production use. It is significantly slower than MySQL. A few features here (such as attachment persistence) have not yet been fully implemented. &lt;br /&gt;
&lt;br /&gt;
* '''MySQL''' (fully supported) - This is the recommended database for any use beyond experimentation or small standalone applications. The minimum MySQL version is 5.1.&lt;br /&gt;
::* '''Windows x64 systems:''' &amp;amp;nbsp;There is currently an unresolved [http://opensimulator.org/mantis/bug_view_advanced_page.php?bug_id=5294 bug_id=5294] found when running OpenSimulator with MySQL 5.5 on Windows x64 systems.&lt;br /&gt;
::* '''Opensim 0.7.0.2:''' &amp;amp;nbsp;Some users have reported problems with MySQL 5.1.55 and up with Opensim 0.7.0.2, see [http://opensim-users.2152040.n2.nabble.com/OpenSim-1-7-0-2-and-MySQL-Versions-td6155064.html this thread] for more information. The issue can be resolved by using an updated version of MySql.Data.dll OR installing an older version of MySQL such as [http://downloads.mysql.com/archives.php?p=mysql-5.1&amp;amp;v=5.1.52 MySQL 5.1.52] with Opensim version 0.7.0.2. &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
* '''MSSQL''' (fairly supported) - persistence support for some recent OpenSimulator features may not yet be implemented though the vast majority of them are supported.&lt;br /&gt;
&lt;br /&gt;
== Standalone vs. Grid ==&lt;br /&gt;
We recommend that you first get OpenSimulator running in standalone mode before you attempt to connect it to a grid or run your own grid. OpenSimulator will start up in standalone mode out-of-the-box on the binary distributions.&lt;br /&gt;
&lt;br /&gt;
An OpenSimulator configuration consists of regions (run by region simulators) and backend data services (such as user, assets and inventory management).&lt;br /&gt;
&lt;br /&gt;
A system running in '''standalone mode''' runs both the region simulator and all the data services in a single process when you run OpenSim.exe. In this mode you can run as many regions as you like but only on a single machine.&lt;br /&gt;
&lt;br /&gt;
[[Image:Opensim-standalone.png|frame|center|OpenSimulator running in standalone mode. Both simulator and services run in the same process (OpenSim.exe).]]&lt;br /&gt;
&lt;br /&gt;
In '''grid mode''', the data services are not part of the region server process. Instead, they are run in a separate executable called Robust.exe. A Robust shell can run all the services or they can be split amongst any number of Robust instances. This allows them to be run on entirely separate machines if necessary. In this mode, the OpenSim.exe acts solely as the region server, serving one or more regions that communicate with the separate data services. At this point you can run multiple OpenSim.exe region simulators on different machines.&lt;br /&gt;
&lt;br /&gt;
[[Image:Opensim-grid-simple.png|frame|center|OpenSimulator running in grid mode. In this case, all the services are being run within a Robust.exe process. Multiple copies of OpenSim.exe (usually running on different machines) all use the same set of common services.]]&lt;br /&gt;
&lt;br /&gt;
Running in grid mode is more complicated than running in standalone mode. It requires an understanding of UUID, X,Y location, server handshake passwords, estates and estate owners, and a couple of other settings. These require more care and patience to set up. We strongly recommend that you don't attempt this unless you are extremely patient and very technically proficient.&lt;br /&gt;
&lt;br /&gt;
= Running OpenSimulator in Standalone mode =&lt;br /&gt;
&lt;br /&gt;
Binary distributions of OpenSimulator are by default configured to run in standalone mode.&lt;br /&gt;
&lt;br /&gt;
However, if you build OpenSimulator from the source distribution or from the git repository then you will need to:&lt;br /&gt;
&lt;br /&gt;
# Change into the '''''bin''''' folder&lt;br /&gt;
# Copy the file '''''OpenSim.ini.example''''' to '''''OpenSim.ini'''''. This configures the 3D simulator itself.&lt;br /&gt;
# Change into the '''''bin/config-include''''' folder&lt;br /&gt;
# Copy the file '''''StandaloneCommon.ini.example''''' to '''''StandaloneCommon.ini'''''. This configures the in-process data services used by the standalone configuration.&lt;br /&gt;
# In the '''[Architecture]''' section of '''''OpenSim.ini''''', near the bottom of the file, uncomment the ''Standalone.ini'' line. To uncomment a line of code, remove the semi-colon (;) comment symbol preceding the line so that it says:&lt;br /&gt;
&lt;br /&gt;
 Include-Architecture = &amp;quot;config-include/Standalone.ini&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Running OpenSimulator is then a matter of launching OpenSim.exe. However, you need to have installed all dependencies before that. See [[Dependencies]] for details. After that, open a command prompt (for Windows users, Start menu &amp;gt; Run &amp;gt; cmd) and navigate to the Opensim /bin directory.&lt;br /&gt;
&lt;br /&gt;
On a '''Windows 32-bit''' command prompt:&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
Under '''Windows 64-bit''', ODE cannot yet be compiled for 64 bit mode, so if using the default ODE physics plugin run:&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
On '''Linux''' run:&lt;br /&gt;
 mono OpenSim.exe&lt;br /&gt;
This can be done under both 32 and 64 bit modes with the ODE physics engine.&lt;br /&gt;
&lt;br /&gt;
== Running for the first time ==&lt;br /&gt;
&lt;br /&gt;
If you're running OpenSimulator for the first time, it will ask you several questions at the console that will set up a single region for you. The configuration options you enter will be written to the bin/Regions/Regions.ini file, which you can then edit at a later date if you need to make changes.&lt;br /&gt;
&lt;br /&gt;
Many of the questions have defaults. Here are some explanations of the questions asked:&lt;br /&gt;
&lt;br /&gt;
* '''New region name'''&lt;br /&gt;
::The name for your region. Don't leave this blank!&lt;br /&gt;
* '''Region UUID'''&lt;br /&gt;
::The unique ID of your region. In pretty much all cases you will want to accept the randomly generated default in the square brackets. The only time when you wouldn't is if you were trying to set up a configuration to point to pre-existing region data. But in this case you are probably better off editing the Regions.ini file directly anyway&lt;br /&gt;
* '''Region Location'''&lt;br /&gt;
::This is the location of the region on the grid. In standalone mode you can safely leave these as the default (1000,1000). If you were to set up additional regions later on in Regions.ini then they would need different grid co-ordinates (e.g. 1000,1001). OpenSimulator regions can be placed anywhere on a 65536 by 65536 grid, but [[Hypergrid]] enabled regions may need special consideration for region location. See [[Installing and Running Hypergrid#The 4096 Regions Limit]] for more information.&lt;br /&gt;
* '''Internal IP address'''&lt;br /&gt;
::In virtually all cases this can be left as 0.0.0.0 (this is a wildcard that allows OpenSimulator to listen for UDP connections on any of the server's network interfaces). If you want to restrict UDP connections to only one network interface then you can specify an explicit IP address. This address is only used internally - the '''External host name''' is the one that is actually passed to the viewer (and hence is the important one).&lt;br /&gt;
* '''Internal port'''&lt;br /&gt;
::This is the IP port for all incoming client connections. The name is a bit misleading since it will be used externally (by a Second Life viewer, for instance) as well as internally. You can make this any port you want, but it is safe to leave at the default 9000. Each region on your server must have a unique port.&lt;br /&gt;
* '''Allow alternate ports'''&lt;br /&gt;
::This is currently experimental. Please leave it at the default of False.&lt;br /&gt;
* '''External host name'''&lt;br /&gt;
::If you leave this at the default 'SYSTEMIP' then this will become the LAN network address of the machine (e.g. 192.168.1.2). This is fine if you are connecting only from within your LAN. If you want to connect to it from a client on the internet, this should be the External IP Address of your router. Fully Qualified Domain Names (FQDNs) can also be used though they will be converted to a numeric IP address before being sent to the viewer.&lt;br /&gt;
&lt;br /&gt;
The following details are also asked in OpenSimulator 0.6.9 and earlier.&lt;br /&gt;
&lt;br /&gt;
* '''Master Avatar UUID'''&lt;br /&gt;
::This is a legacy OpenSimulator feature and can be left at the default of 00000000-0000-0000-0000-000000000000. Later on, you may want to change this to your own avatar's UUID in Regions.ini if you have problems editing terrain.&lt;br /&gt;
* '''Master Avatar first name'''&lt;br /&gt;
::This is an alternative way of specifying the master avatar by avatar name rather than UUID. If you press enter here then both this field and the last name field will be left blank. Accepting the blank default is fine - this can always be changed later in Regions.ini file.&lt;br /&gt;
* '''Master Avatar last name'''&lt;br /&gt;
::The last name of the master avatar.&lt;br /&gt;
* '''Master Avatar sandbox password'''&lt;br /&gt;
::The password of the master avatar.&lt;br /&gt;
&lt;br /&gt;
In OpenSimulator 0.7 and later, OpenSimulator will ask you to assign each region to an estate during the setup process. If an estate needs to be created then it will also ask you to assign an estate manager. In standalone mode, an estate manager can also be created during the setup process.&lt;br /&gt;
&lt;br /&gt;
Don't forget the account details you use to set up the master avatar (in 0.6.9) or the estate manager (in 0.7 and later). Only this user will initially be able to configure the in-world settings for your region. This is also a user account that you can use to perform your initial login test.&lt;br /&gt;
&lt;br /&gt;
See [[Configuring Regions]] for more information about the Regions.ini file that these questions generate.&lt;br /&gt;
&lt;br /&gt;
If you want to create a user other than the estate manager, then in the server console type:&lt;br /&gt;
&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
This will ask you a series of questions for creating a user (such as first name, last name and password).&lt;br /&gt;
&lt;br /&gt;
== Network access for the standalone installation ==&lt;br /&gt;
In standalone mode, a viewer connecting to your installation needs the following network access to your installation machine.&lt;br /&gt;
&lt;br /&gt;
1. TCP over the http_listener_port as used in your simulator.  This is set in the [Network] section of your OpenSim.ini.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[Network]&lt;br /&gt;
http_listener_port = 9000&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will be the default of 9000 if you have not explicitly changed it.&lt;br /&gt;
&lt;br /&gt;
2. UDP over each region's InternalPort as configured in your region files (such as Regions.ini).  For instance, if you have configured&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[test]&lt;br /&gt;
RegionUUID = dd5b77f8-bf88-45ac-aace-35bd76426c81&lt;br /&gt;
Location = 1000,1000&lt;br /&gt;
InternalAddress = 0.0.0.0&lt;br /&gt;
InternalPort = 9000&lt;br /&gt;
AllowAlternatePorts = False&lt;br /&gt;
ExternalHostName = mygrid.com&lt;br /&gt;
&lt;br /&gt;
[test2]&lt;br /&gt;
RegionUUID = dd5b77f8-bf88-45ac-aace-35bd76426c82&lt;br /&gt;
Location = 1000,1001&lt;br /&gt;
InternalAddress = 0.0.0.0&lt;br /&gt;
InternalPort = 9001&lt;br /&gt;
AllowAlternatePorts = False&lt;br /&gt;
ExternalHostName = mygrid.com&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then you will need to open ports 9000 and 9001 to UDP traffic.&lt;br /&gt;
&lt;br /&gt;
3. The network address of the machine hosting the OpenSimulator installation must be accessible to connecting viewers.  In the example above, the installation machine is reachable from the Internet via the domain name &amp;quot;mygrid.com&amp;quot;.  If the same installation needs to be accessed by viewers on the same network, it must be possible for them to also successfully resolve that domain name (not all routers, especially home routers, have this &amp;quot;loopback capability&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
If the installation only needed to be accessed on the same LAN, then one could you the local IP address of the server (e.g. 192.168.1.2).&lt;br /&gt;
&lt;br /&gt;
== Connecting to a standalone installation ==&lt;br /&gt;
&lt;br /&gt;
To connect to your new sim with your user, start up a Second Life viewer with the following command line switches:&lt;br /&gt;
&lt;br /&gt;
'''Client on same machine as OpenSim:'''&lt;br /&gt;
 -loginuri http://127.0.0.1:9000&lt;br /&gt;
&lt;br /&gt;
'''Client on same LAN as OpenSim:'''&lt;br /&gt;
 -loginuri http://lan_ip:9000&lt;br /&gt;
&lt;br /&gt;
'''Client on different machine or internet:'''&lt;br /&gt;
 -loginuri http://external_ip:9000&lt;br /&gt;
&lt;br /&gt;
Then enter the user name and password you set up in the previous step and your new user should login.&lt;br /&gt;
&lt;br /&gt;
Be aware of [http://osgrid.org/forums/viewtopic.php?f=5&amp;amp;t=400&amp;amp;start=0&amp;amp;st=0&amp;amp;sk=t&amp;amp;sd=a loopback] problems when Running viewer &amp;amp;amp; server(s) on the same machine (LAN) by using the &amp;quot;external&amp;quot; configuration. (&amp;lt;u&amp;gt;'''You might notice endless waiting for region handshake'''&amp;lt;/u&amp;gt;.) See also [[Troubleshooting|troubleshoot hints]]. If you're having Connectivity problems, [[Network Settings|be sure to read the Network Configuration Page]]. This is important if you see Region handshake issue.&lt;br /&gt;
&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
== IMPORTANT NOTE, DIVA DISTRO - 4 Apr. 2012  - ==&lt;br /&gt;
&lt;br /&gt;
'''If you download the latest version of diva-r18611.tar.bz''', it is necessary to first launch the setup program ''configure.exe''&lt;br /&gt;
*In Linux or MacOSX : open a terminal and enter &amp;quot;mono /diva-r18611/bin/Configure.exe&amp;quot; (assuming that you have placed the Diva distro in /diva-r18611)&lt;br /&gt;
*In Windows, assuming they extracted Diva in My Documents, one would open &amp;quot;Run =&amp;gt; cmd&amp;quot; and enter '''cd &amp;quot;%USERPROFILE%\My Documents\diva-r18611\&amp;quot;'', followed by &amp;quot;Configure.exe&amp;quot;. &lt;br /&gt;
After issuing the command, you can set your sim's domain name, and carefully answer the program's questions, then start the program as instructed in above paragraphs.&lt;br /&gt;
&lt;br /&gt;
The program will install the optimum configuration for OpenSim, example: '''&amp;lt;nowiki&amp;gt;http://&amp;lt;your_IP&amp;gt;:9000&amp;lt;/nowiki&amp;gt;''' and WiFi '''&amp;lt;nowiki&amp;gt;http:&amp;lt;your_IP&amp;gt;:9000/wifi&amp;lt;/nowiki&amp;gt;''' &lt;br /&gt;
In the standalone version, four regions will be set up. You can optionally add other regions later on, so make sure to use the same first name with the addition of a number &lt;br /&gt;
(ex: &amp;quot;region 5&amp;quot;, &amp;quot;region 6&amp;quot;, &amp;quot;region 7&amp;quot;, etc. otherwise you can't enter the region and you'd be placed in the nearest free location.&lt;br /&gt;
&lt;br /&gt;
 If you wish to enter a different region name, make sure that the &amp;quot;distance&amp;quot; between the island created by the Wifi configuration program and the next, &lt;br /&gt;
 will be at least 40 positions away from the first installed region)&lt;br /&gt;
 (command console: create region Johnnyland RegionConfigure.ini)&lt;br /&gt;
&lt;br /&gt;
= Running OpenSimulator in Grid mode =&lt;br /&gt;
{|&lt;br /&gt;
| style=&amp;quot;background:LavenderBlush; color:black&amp;quot; |&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
NOTE: 0.7 is the first OpenSimulator release that fully migrates all services to the ROBUST server shell.  OpenSim.Grid.UserServer.exe and MessageServer.exe from OpenSimulator 0.6.9 are no longer necessary.  Please see the [[0.7 Release|0.7 release notes]] for more details.  For details on how to set up grid services in OpenSimulator 0.6.9 and earlier please see [[OpenSim 0.6.9 Grid Mode Configuration]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Running OpenSimulator in grid mode is considerably more complicated than running a standalone instance. Instead of running everything in the same process, backend data services (asset, inventory, etc.) run in one or more separate processes, often on a different machine. This allows multiple OpenSim.exe simulator instances to use the same asset and inventory data.&lt;br /&gt;
&lt;br /&gt;
== Step 1: Set up a ROBUST services instance ==&lt;br /&gt;
&lt;br /&gt;
1. In the bin directory, copy Robust.ini.example to Robust.ini. The example file is configured to run all the services in a single ROBUST instance.&lt;br /&gt;
&lt;br /&gt;
2. Configure the [[Database Settings]] in Robust.ini to use your MySQL database. Only MySQL is supported for running grid services.  &lt;br /&gt;
&lt;br /&gt;
3. Start up Robust.exe. &lt;br /&gt;
&lt;br /&gt;
 mono Robust.exe (Linux, BSD, Mac OS X)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 Robust.exe (Windows)&lt;br /&gt;
&lt;br /&gt;
If you don't see any errors (in red) on the console then you can move on to the next step.&lt;br /&gt;
&lt;br /&gt;
4. Every region must belong to an estate, and every estate must have an owner which is a valid user account in OpenSim's user account service. Create a user on the ROBUST command console with the following command.&lt;br /&gt;
&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
This will ask you for the user's name, password and an optional e-mail. Remember this name since you will need it when you start up the simulator for the first time.&lt;br /&gt;
&lt;br /&gt;
== Step 2: Configure an OpenSim.exe to use the ROBUST services ==&lt;br /&gt;
&lt;br /&gt;
In grid mode, as in standalone mode, you need to configure OpenSim.ini which controls the 3D simulator itself.&lt;br /&gt;
&lt;br /&gt;
However, instead of using and configuring the file config-include/StandaloneCommon.ini, a simulator connecting to a grid needs to use and configure the config-include/GridCommon.ini file, in order to connect to the ROBUST hosted remote data services rather than in-process local ones.&lt;br /&gt;
&lt;br /&gt;
The steps for both these operations are as follows.&lt;br /&gt;
&lt;br /&gt;
1. Copy bin/OpenSim.ini.example to OpenSim.ini&lt;br /&gt;
&lt;br /&gt;
2. Find the [Architecture] section at the very bottom of OpenSim.ini. Make sure that one of the following lines is uncommented:&lt;br /&gt;
&lt;br /&gt;
 Include-Architecture = &amp;quot;config-include/Grid.ini&amp;quot; (in OpenSimulator 0.7.1 and later)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 Include-Grid         = &amp;quot;config-include/Grid.ini&amp;quot; (in OpenSimulator 0.7.0.2 and earlier)&lt;br /&gt;
&lt;br /&gt;
The others should remain commented.&lt;br /&gt;
&lt;br /&gt;
3. Go to bin/config-include and copy GridCommon.ini.example to GridCommon.ini.&lt;br /&gt;
&lt;br /&gt;
4. Open GridCommon.ini in a text editor. You will see lots of URL entries, each of which have dummy defaults of http://myassetserver.com:8003, http://myinventoryserver.com:8003, etc. You will need to change each of these to point towards the address of your ROBUST instance. For instance, if you're running ROBUST on a machine with a local IP address of 192.168.1.2, you will need to change AssetServerURI to the setting&lt;br /&gt;
&lt;br /&gt;
 AssetServerURI = &amp;quot;http://192.168.1.2:8003&amp;quot;&lt;br /&gt;
&lt;br /&gt;
5. Run OpenSim.exe. If you're running OpenSim.exe for the first time you will get the same questions about setting up the region that occur on a first-run in standalone mode. Please see the standalone section for instructions on how to answer these, or read more information about the Regions.ini file on the [[Configuring Regions]] page.&lt;br /&gt;
&lt;br /&gt;
If everything is set up correctly, when starting up OpenSim.exe you shouldn't see any errors. You should also see the ROBUST console display log lines saying that the region has registered with the grid service. For example,&lt;br /&gt;
&lt;br /&gt;
 21:43:45 - [GRID SERVICE]: Region t1 (176cc95e-f693-4b02-8e08-af86e2372faa) registered successfully at 256000-256000&lt;br /&gt;
 21:43:47 - [GRID SERVICE]: region t1 has 0 neighbours&lt;br /&gt;
&lt;br /&gt;
== Network access for a grid installation ==&lt;br /&gt;
In standalone mode, a viewer connecting to your installation needs to access&lt;br /&gt;
&lt;br /&gt;
# The login service over TCP and other configured public services (e.g. grid info, map).&lt;br /&gt;
# The http_server_port of each configured simulator over TCP.&lt;br /&gt;
# The InternalPort and ExternalHostName of each configured region.&lt;br /&gt;
&lt;br /&gt;
The last two requirements are the same as for standalone installations, except that they apply to each server that hosts a simulator.  Please see the standalone section above for more details.&lt;br /&gt;
&lt;br /&gt;
The login service is a little different.  Whereas in standalone this uses the same http_server_port as the simulator itself, in grid mode it's running in a separate ROBUST service.&lt;br /&gt;
&lt;br /&gt;
The default port for the login service is 8002.  You can see this used in the [ServiceList] section of Robust.ini.example.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[ServiceList]&lt;br /&gt;
AssetServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AssetServiceConnector&amp;quot;&lt;br /&gt;
InventoryInConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:XInventoryInConnector&amp;quot;&lt;br /&gt;
GridServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:GridServiceConnector&amp;quot;&lt;br /&gt;
GridInfoServerInConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector&amp;quot;&lt;br /&gt;
AuthenticationServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector&amp;quot;&lt;br /&gt;
OpenIdServerConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector&amp;quot;&lt;br /&gt;
AvatarServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector&amp;quot;&lt;br /&gt;
LLLoginServiceInConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector&amp;quot;&lt;br /&gt;
PresenceServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector&amp;quot;&lt;br /&gt;
UserAccountServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector&amp;quot;&lt;br /&gt;
GridUserServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector&amp;quot;&lt;br /&gt;
FriendsServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector&amp;quot;&lt;br /&gt;
MapAddServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector&amp;quot;&lt;br /&gt;
MapGetServiceConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here all the public services (those where the viewer connects directly to the service) are served on port 8002, with internal services on 8003.  So you need to make sure that the viewer can access port 8002 over TCP but you do not want to expose port 8003.  Only simulators need to be able to connect to port 8003.&lt;br /&gt;
&lt;br /&gt;
== Connecting to a grid installation ==&lt;br /&gt;
&lt;br /&gt;
Your client startup line will look something like&lt;br /&gt;
&lt;br /&gt;
 -loginuri http://mygrid.com:8002&lt;br /&gt;
&lt;br /&gt;
The loginuri needs to be the address to the login service. In standalone mode, this was the same address as the region simulator and the port was 9000 by default. However, in grid mode it will be the address to login service hosted on the ROBUST instance. In this case, the address will be 192.168.1.2. The port number of 8002 is the traditional one for the grid login service and is the default in Robust.ini.example.&lt;br /&gt;
&lt;br /&gt;
If the login is successful, you will see log lines on the ROBUST console (for the login itself) and then log lines on the region simulator console (as the login process tells the simulator to expect the avatar, tells the viewer the address of the region simulator and then when the viewer starts talking to the simulator directly).&lt;br /&gt;
&lt;br /&gt;
= Running multiple ROBUST service instances =&lt;br /&gt;
&lt;br /&gt;
If you are operating a grid, then you can run different services (e.g. asset, inventory) in different ROBUST instances, in order to spread the load.  To do this, you will need to edit the ServiceConnectors parameter in the [Startup] section of Robust.ini (or Robust.HG.ini if you're running Hypergrid).  The default ServiceConnectors parameter looks something like this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[ServiceList]&lt;br /&gt;
AssetServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AssetServiceConnector&amp;quot;&lt;br /&gt;
InventoryInConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:XInventoryInConnector&amp;quot;&lt;br /&gt;
GridServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:GridServiceConnector&amp;quot;&lt;br /&gt;
GridInfoServerInConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector&amp;quot;&lt;br /&gt;
AuthenticationServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector&amp;quot;&lt;br /&gt;
OpenIdServerConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector&amp;quot;&lt;br /&gt;
AvatarServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector&amp;quot;&lt;br /&gt;
LLLoginServiceInConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector&amp;quot;&lt;br /&gt;
PresenceServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector&amp;quot;&lt;br /&gt;
UserAccountServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector&amp;quot;&lt;br /&gt;
GridUserServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector&amp;quot;&lt;br /&gt;
FriendsServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector&amp;quot;&lt;br /&gt;
MapAddServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector&amp;quot;&lt;br /&gt;
MapGetServiceConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each entry has the form &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;port-number&amp;gt;/&amp;lt;dll&amp;gt;:&amp;lt;connector-class-name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For instance, the first entry above&lt;br /&gt;
&lt;br /&gt;
 8003/OpenSim.Server.Handlers.dll:AssetServiceConnector&lt;br /&gt;
&lt;br /&gt;
says to start an AssetServiceConnector (and hence an asset service) from the OpenSim.Server.Handlers.dll and to server that from port 8003.&lt;br /&gt;
&lt;br /&gt;
By default, Robust.exe loads a configuration file with the same name but with .ini appended instead of .exe.  So Robust.exe will look for an inifile called Robust.ini.  You can change this by giving the parameter on the commandline.  For instance, to start Robust with HG parameters, one would use&lt;br /&gt;
&lt;br /&gt;
 Robust.exe -inifile=Robust.HG.ini&lt;br /&gt;
&lt;br /&gt;
So if you wanted to run every connector apart from assets in one instance of ROBUST and the asset connector in another instance, you would have two ini files.  One could remain Robust.ini and have&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[ServiceList]&lt;br /&gt;
InventoryInConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:XInventoryInConnector&amp;quot;&lt;br /&gt;
GridServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:GridServiceConnector&amp;quot;&lt;br /&gt;
GridInfoServerInConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector&amp;quot;&lt;br /&gt;
AuthenticationServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector&amp;quot;&lt;br /&gt;
OpenIdServerConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector&amp;quot;&lt;br /&gt;
AvatarServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector&amp;quot;&lt;br /&gt;
LLLoginServiceInConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector&amp;quot;&lt;br /&gt;
PresenceServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector&amp;quot;&lt;br /&gt;
UserAccountServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector&amp;quot;&lt;br /&gt;
GridUserServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector&amp;quot;&lt;br /&gt;
FriendsServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector&amp;quot;&lt;br /&gt;
MapAddServiceConnector = &amp;quot;8003/OpenSim.Server.Handlers.dll:MapAddServiceConnector&amp;quot;&lt;br /&gt;
MapGetServiceConnector = &amp;quot;8002/OpenSim.Server.Handlers.dll:MapGetServiceConnector&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The other could be called Robust.Assets.ini and have&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
[ServiceList]&lt;br /&gt;
AssetServiceConnector = &amp;quot;8004/OpenSim.Server.Handlers.dll:AssetServiceConnector&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that this is using port 8004 instead of port 8003.  This is necessary since only one executable can use each port at a time.  You will need to make sure your simulator configuration files use port 8004 for the asset service as well.&lt;br /&gt;
&lt;br /&gt;
You will also need to change the default network port to 8004 for this second copy of Robust.exe&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Network]&lt;br /&gt;
   port = 8004&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you've created the two ROBUST configuration files (Robust.ini containing all services apart from asset and Robust.Assets.ini containing only the asset service), then you could start the first Robust.exe as usual.&lt;br /&gt;
&lt;br /&gt;
 Robust.exe&lt;br /&gt;
&lt;br /&gt;
This will load Robust.ini, as we haven't specified a Robust.ini.  Also, the logfile it will use will be Robust.log as we haven't manually specified one.&lt;br /&gt;
&lt;br /&gt;
The second ROBUST instance we would start with&lt;br /&gt;
&lt;br /&gt;
 Robust.exe -inifile=Robust.Assets.ini -logfile=Robust.Assets.log&lt;br /&gt;
&lt;br /&gt;
The -inifile switch tells the second Robust instance to load it's configuration from Robust.Assets.ini rather than Robust.ini.  The -logfile switch tells Robust.exe to use Robust.Assets.log as its logfile rather than the default Robust.log.  If you don't specify this switch then you may see errors on the console about a locked log file.&lt;br /&gt;
&lt;br /&gt;
At this point you should have two running Robust.exe instances.&lt;br /&gt;
&lt;br /&gt;
If you put the ROBUST instances on different machines then don't forget to change the relevant service URIs in each simulator to match.&lt;br /&gt;
&lt;br /&gt;
Since OpenSimulator services are stateless (e.g. every request is unconnected with other requests as long as they affect the same persistent data where necessary), you can also load balance by starting more than one ROBUST instance with a copy of the same service (e.g. multiple asset services using the same database).  Requests would be round-robined between the service copies using an HTTP reverse proxy implementation (e.g. nginx).  See [[Performance#Services]] for more details.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
[http://opensimulator.org/pipermail/opensim-users/2012-October/011099.html Useful discussion about separating Robust instances]&lt;br /&gt;
&lt;br /&gt;
= Attaching your sim to someone else's grid =&lt;br /&gt;
&lt;br /&gt;
To set up the region server (i.e., &amp;lt;tt&amp;gt;OpenSim.exe&amp;lt;/tt&amp;gt;) to connect to an external grid, follow the [[Configuration#Step 2: Configure an OpenSim.exe to use the ROBUST services]] instructions above.&lt;br /&gt;
&lt;br /&gt;
The grid will have already provided with the required services. In step 2 you will need to use the provided URLs for their services.&lt;br /&gt;
&lt;br /&gt;
In your bin/Regions.ini file (or other region config file) you will also need to set the grid co-ordinates to your regions provided from the grid operator. See [[Configuring Regions]] for more information.&lt;br /&gt;
&lt;br /&gt;
= Running an OpenSimulator standalone or grid installation with Hypergrid enabled =&lt;br /&gt;
[[Hypergrid]] is an emerging architecture supported by OpenSimulator that allows a user with an account on one standalone or grid to visit other Hypergrid-enabled standalones or grids, and for users from those grids to visit the home grid. This does not require the two installations to share a central set of data services (assets, inventory, etc.). Please see [[Installing and Running Hypergrid]] for more details.&lt;br /&gt;
&lt;br /&gt;
= Further notes =&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
See [[Troubleshooting]] &lt;br /&gt;
&lt;br /&gt;
== Running OpenSimulator 0.6.7 to 0.7.6.1 in 64 bit Windows ==&lt;br /&gt;
[[Image:Exclamation.png|left]]&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' ''Commits 3e5bc75 and e8ca900 move these to the directory ./share/32BitLaunch as they should no longer be needed and are slated for removal from the project'&lt;br /&gt;
&lt;br /&gt;
As of OpenSimulator 0.6.7 and up to release 0.7.6.1, the default physics engine for OpenSimulator was changed to the ODE engine. This is because ODE was the most advanced physics engine plugin at the time in OpenSimulator. Unfortunately, it has the drawback in that its library is not compilable under 64-bit in Windows. &lt;br /&gt;
&lt;br /&gt;
Therefore, in order to launch the region simulator under 64-bit Windows for versions 0.6.7 to 0.7.6.1 using ODE, users may need to run: &lt;br /&gt;
&lt;br /&gt;
 OpenSim.32BitLaunch.exe&lt;br /&gt;
&lt;br /&gt;
instead of:&lt;br /&gt;
&lt;br /&gt;
 OpenSim.exe&lt;br /&gt;
&lt;br /&gt;
An alternative is to use the basicphysics engine instead or one of the other alternative physics engines bundled with OpenSim, though all these were less functional than the ODE plugin.&lt;br /&gt;
&lt;br /&gt;
From OpenSim 0.8 the default physics engine is BulletSim.&lt;br /&gt;
'&lt;br /&gt;
&lt;br /&gt;
== Note About Mono ==&lt;br /&gt;
&lt;br /&gt;
Mono and .NET have a built in threadpool.  By default, OpenSimulator is instead configured to use a third-party threadpool called SmartThreadPool for many tasks, partly because of issues with early implementations of the Mono threadpool.&lt;br /&gt;
&lt;br /&gt;
However, even with this setting, some other operations are carried out with the built-in threadpool.  At least in some versions of Mono (chiefly prior to 2.6), the default configuration for this can cause issues with OpenSimulator - [http://www.mono-project.com/ThreadPool_DeadLocks ThreadPool_Deadlocks at the mono-project website].&lt;br /&gt;
&lt;br /&gt;
If this is an issue or if the threadpool runs out of available threads, then the operation of your sim will start to break in all sorts of different ways. A common symptom is the freezing of all activity upon login of a new avatar.&lt;br /&gt;
&lt;br /&gt;
The MONO_THREADS_PER_CPU parameter affects the number of existing built-in threadpool worker threads below which Mono will always spawn a new thread when OpenSimulator adds a new task.  This is MONO_THREADS_PER_CPU * 4.  So if set to 50, the minimum number of worker threads will be 200.&lt;br /&gt;
&lt;br /&gt;
Above this number, Mono will make an internal decision whether to spawn a new thread or wait for an existing thread to complete its task.&lt;br /&gt;
&lt;br /&gt;
The effect of this parameter is extremely implementation dependent, and so dependent upon the version of Mono that you are using.  Before 2.6 for instance, it was definitely worth setting a high MONO_THREADS_PER_CPU due to issues with the Mono thread pool.  In theory, later versions of Mono should not be susceptible to this issue.  Mono 2.10.8.1, for instance, has a default MONO_THREADS_PER_CPU of 1 (despite what the incorrect Mono manpage says).&lt;br /&gt;
&lt;br /&gt;
However, people still report a benefit from setting MONO_THREADS_PER_CPU higher than default.  The exact number depends on many factors including: the number of CPUs in your machine, what else you use that machine for, how many regions you have in your sim, how many of them are adjacent, how many scripts you have, and how many avatars you expect to serve at the same time. As a reference, Wright Plaza in OSGrid, which is running as a single region on a sim and routinely hosts meetings with 20 avatars, uses the value 125. &lt;br /&gt;
&lt;br /&gt;
For example: $ export MONO_THREADS_PER_CPU=125&lt;br /&gt;
&lt;br /&gt;
So if you are having problems with avatars freezing and you're hardware meets or exceeds recommended [[Performance]] requirements, then you may want to setting this environment variable.&lt;br /&gt;
&lt;br /&gt;
There is a very basic program for displaying current threadpool configuration settings at https://github.com/justincc/opensimulator-tools/tree/master/analysis/threadpool-info.  &lt;br /&gt;
&lt;br /&gt;
All this applies to the min threadpool numbers, not the max thread numbers.  OpenSimulator itself will attempt to adjust the max numbers.  You can see the output from this very near the top of the OpenSim.log file.&lt;br /&gt;
&lt;br /&gt;
== Increasing the stack reserve level when using OpenDynamicsEngine on *nix ==&lt;br /&gt;
&lt;br /&gt;
If you have problems using the OpenDynamicsEngine on *nix, try setting your stack reserve level higher than the default with the following command;&lt;br /&gt;
&amp;lt;tt&amp;gt;ulimit -s 262144&amp;lt;/tt&amp;gt; Or, run the opensim-ode.sh to start up OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
== Firewalls ==&lt;br /&gt;
Some operation systems or distributions run their own firewall by default. If you can't access to OpenSimulator from remote client, you'll need to check their settings. See [[Firewall Settings]] for details.&lt;br /&gt;
&lt;br /&gt;
== Legacy Configuration Information ==&lt;br /&gt;
These are some pages containing some legacy configuration information of unknown accuracy.&lt;br /&gt;
&lt;br /&gt;
[[OpenSim 0.6.6 legacy configuration information]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Optional Configuration Tasks ==&lt;br /&gt;
&lt;br /&gt;
=== Further configure OpenSimulator ===&lt;br /&gt;
If you've looked through OpenSim.ini.example or any other of the config files, you'll see that there's a very large number of configurable parameters spread across multiple files. See [[Configuring Simulator Parameters]] for more details about the configuration infrastructure and how settings in identically named sections (e.g. [XEngine]) are merged by OpenSimulator on loading.&lt;br /&gt;
&lt;br /&gt;
=== Set up a second region to run on the same simulator ===&lt;br /&gt;
See [[Configuring Regions]].&lt;br /&gt;
&lt;br /&gt;
=== Run Multiple Standalone Instances of OpenSimulator on the Same Server ===&lt;br /&gt;
For each subsequent instance of OpenSim, change the 'http_listener_port' in OpenSim.ini to the value excluding 9000, and 'InternalPort' in Regions.ini to the value excluding 9000. Also, make sure your regions are using different ports, as explained in [[Configuring Regions]].&lt;br /&gt;
&lt;br /&gt;
=== Load region content ===&lt;br /&gt;
You can load content onto regions by using the [[OpenSim Archives|load oar command]]. To load individual OAR files into each region, use the 'change region [regionname]' command and then 'load oar [oar-location]'.&lt;br /&gt;
&lt;br /&gt;
=== OpenSim.exe command line options ===&lt;br /&gt;
OpenSim.exe has command line options which allow you to perform actions such as reading configuration files from a different directory. See [[OpenSim.exe Command Line Options]] for more details.&lt;br /&gt;
&lt;br /&gt;
=== Script engine ===&lt;br /&gt;
OpenSimulator supports multiple script engines. See [[ScriptEngines]] for details. If you don't know what this means then the default script engine will be fine. In fact, recent versions of OpenSimulator only ship with one script engine, the XEngine.&lt;br /&gt;
&lt;br /&gt;
=== Permissions Configuration ===&lt;br /&gt;
OpenSimulator has a quite elaborate set of permissions. See [[Permissions (Server)]] for details. By default, permissions are active on region simulators.&lt;br /&gt;
&lt;br /&gt;
=== Logging ===&lt;br /&gt;
By default, OpenSimulator logs information to a file called OpenSim.log in the bin directory. See [[Logging]] for details on how to further configure this if required.&lt;br /&gt;
&lt;br /&gt;
=== Set up other optional modules ===&lt;br /&gt;
* [[IRCBridgeModule]]&lt;br /&gt;
* [[Freeswitch Module]]&lt;br /&gt;
* [[Offline Messaging]]&lt;br /&gt;
* [[Enabling Groups]]&lt;br /&gt;
* See also [[User_Documentation#Setup]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of Web Server and Pages ===&lt;br /&gt;
OpenSimulator contains a web server that can serve up a variety of pages. Some which come from external files and some are generated internally.&lt;br /&gt;
* [[External Files]]&lt;br /&gt;
* [[Internally Generated]]&lt;br /&gt;
&lt;br /&gt;
= Where to go from here =&lt;br /&gt;
&lt;br /&gt;
* [[NAT Loopback Routers]] Router and Nat Loopback Information&lt;br /&gt;
&lt;br /&gt;
* [[Upgrading]] from an old OpenSimulator version to a newer one.&lt;br /&gt;
&lt;br /&gt;
* [[Server Commands]] for creating users and controlling the system.&lt;br /&gt;
&lt;br /&gt;
* Fix the bent knees bug: [[FAQ#Why are my knees bent when I stand idle.3F]]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
* [http://dist.opensimulator.org/wiki/opensim-standalone.odg OpenOffice draw file for OpenSimulator standalone diagram]&lt;br /&gt;
* [http://dist.opensimulator.org/wiki/opensim-grid-simple.odg OpenOffice draw file for OpenSimulator grid diagram]&lt;br /&gt;
&lt;br /&gt;
[[Category:Configuration]]&lt;/div&gt;</summary>
		<author><name>Amitgoel</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Build_Instructions</id>
		<title>Build Instructions</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Build_Instructions"/>
				<updated>2014-10-11T00:56:16Z</updated>
		
		<summary type="html">&lt;p&gt;Amitgoel: /* Ubuntu 10.04 and later */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
This page covers building OpenSimulator from source code on multiple platforms.  Please help us keep this page up to date as the project progresses. If you just want to run OpenSimulator, [[Download]] and [[Configuration|run]] the binary build instead. In the most cases, you should be fine with binaries.&lt;br /&gt;
&lt;br /&gt;
= Obtaining the Source Code =&lt;br /&gt;
&lt;br /&gt;
Check out the [[Download]] page for instructions on obtaining an OpenSimulator source release.  If you want the current development code (i.e. the Git master branch) see [[Developer_Documentation#Source_Code_Repository_Access]].&lt;br /&gt;
&lt;br /&gt;
= Building =&lt;br /&gt;
&lt;br /&gt;
Although this page is long, building is generally quite simple.  See the BUILDING.txt file in the distribution itself for simplified instructions.&lt;br /&gt;
&lt;br /&gt;
== MS Windows ==&lt;br /&gt;
&lt;br /&gt;
OpenSimulator 0.8 and later requires either &lt;br /&gt;
* [http://msdn.microsoft.com/en-us/netframework/cc378097 .NET Framework 4.0] on Windows or &lt;br /&gt;
* [http://www.go-mono.com/mono-downloads/download.html Mono] on Linux or Mac.  Mono 2.10.8 is the minimum version.&lt;br /&gt;
&lt;br /&gt;
=== Supported Compilers ===&lt;br /&gt;
* Visual Studio 2010&lt;br /&gt;
* Visual Studio 2008 up until OpenSimulator 0.7.6 - current development code requires Visual Studio 2010 or a compiler that can compile .NET 4.0 code.&lt;br /&gt;
:Any editions of Visual Studio should work just fine, including free editions [http://www.microsoft.com/express/downloads/ Microsoft Visual C# Express Edition].&lt;br /&gt;
:Note that Visual Studio 2005 or earlier are no longer supported([http://www.mail-archive.com/opensim-dev@lists.berlios.de/msg02674.html opensim-dev proposal], [http://www.mail-archive.com/opensim-dev@lists.berlios.de/msg02673.html opensim-dev approved]).&lt;br /&gt;
&lt;br /&gt;
=== Compiling in an IDE ===&lt;br /&gt;
# Run &amp;quot;runprebuild.bat&amp;quot; or &amp;quot;runprebuild2010.bat&amp;quot; (if using Visual Studio 2010 with OpenSimulator 0.7.6 source code or earlier).&lt;br /&gt;
# Open the resulting &amp;quot;OpenSim.sln&amp;quot; in any Visual Studio IDE.&lt;br /&gt;
# Build (or Debug) -&amp;gt; Build Solution.&lt;br /&gt;
&lt;br /&gt;
===Compiling at the Command Prompt ===&lt;br /&gt;
# Run &amp;quot;runprebuild.bat&amp;quot;.&lt;br /&gt;
# Run the resulting &amp;quot;compile.bat&amp;quot; file or run &amp;quot;nant&amp;quot;. This will build the executable using MSBuild (the former) or nan t(the latter).&lt;br /&gt;
&lt;br /&gt;
=== Additional Notes ===&lt;br /&gt;
&lt;br /&gt;
* You can run OpenSimulator on 64-bit Windows (Vista, Windows 7 ...) today, but if you want to debug it in Visual Studio, you'll need to add OpenSim.32BitLaunch to the solution and set it as startup project. See [http://blog.tedd.no/2008/12/05/opensim-in-visual-studio-on-win64/ OpenSimulator in Visual Studio on Win64@Tedds blog] for details.&lt;br /&gt;
&lt;br /&gt;
*For those that use a Cygwin shell, you may need to fix DLLs permissions issue by typing &amp;quot;&amp;lt;tt&amp;gt;chmod 755 *.dll *.exe&amp;lt;/tt&amp;gt;&amp;quot; in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X 10.5 and later, Intel ===&lt;br /&gt;
&lt;br /&gt;
Only you have to do is to get :&lt;br /&gt;
* Mono SDK from [http://www.go-mono.com/mono-downloads/download.html Mono Download Page]&lt;br /&gt;
* MonoDevelop package from [http://monodevelop.com/Download MonoDevelop Download Page]  ** MonoDevelop redirects to Xamarin Studio for Mc OS X downloads&lt;br /&gt;
and then install them - now no need to install XCode nor MacPort (you can still install mono dev libraries and nant with MacPort though).&lt;br /&gt;
&lt;br /&gt;
When you run nano to build OpenSimulator, it may show an error like &amp;quot;Unable to locate 'mono' module using pkg-config. Download the Mono &lt;br /&gt;
development packages&amp;quot;. I suspect XCode or MacPort causes something wrong (since it worked fine after I removed both), but I'm not sure. Anyway, insert a line into '''/usr/bin/nant''' script file to manage this problem :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
export PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Libraries/pkgconfig    # add this!&lt;br /&gt;
exec /Library/Frameworks/Mono.framework/Versions/2.10.2/bin/mono \&lt;br /&gt;
    /Library/Frameworks/Mono.framework/Versions/2.10.2/share/NAnt/bin/NAnt.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can even compile and debug OpenSimulator with MonoDevelop IDE after running &amp;quot;runprebuild.sh&amp;quot;. Open the solution file(*.sln) with MonoDevelop IDE then select Build -&amp;gt; Build All from the menu.&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X 10.4/10.5 on PowerPC ===&lt;br /&gt;
OpenSimulator can run on PowerPC Macs (such as G4, G5). These instructions were tested on 10.5.8.  Note that two libraries must also be built from source. Caveat: the OpenSimulator app was only briefly tested in self-contained mode. There may well be issues with this build. Feel free to note any issues you find below (or in a new wiki page? discussion?). &lt;br /&gt;
&lt;br /&gt;
Unfortunately, the OpenSimulator version used here must be compiled on one version of Mono (2.6.7) and run on another (2.8.2). This means either upgrading Mono after the build, or having both versions installed and accessing the older version when you want to build. These instructions let you have both versions installed.&lt;br /&gt;
&lt;br /&gt;
* Install Xcode 3.1.4 Developer Tools from from http://developer.apple.com/. You must have a free Apple developer account to access the downloads. 3.1.4 was the last PowerPC Xcode.&lt;br /&gt;
&lt;br /&gt;
* (10.4 only) Install X11 from the Optional Install (or see if it's a Customize option when you install Xcode). 10.5 gets X11 by default (''from OS X or dev tools?'').&lt;br /&gt;
* Install Mono 2.6.7 PowerPC Framework from here: http://www.go-mono.com/mono-downloads/download.html (binary OS X Framework, no need to build from source)&lt;br /&gt;
* Then install Mono 2.8.2 PowerPC framework. For these instructions to work, you must first install 2.6.7, THEN 2.8.2. (The old framework is not deleted, but &amp;quot;Current&amp;quot; symlinks are updated).&lt;br /&gt;
* Download OpenSimulator 0.7.0.2 source tarball: http://dist.opensimulator.org/opensim-0.7.0.2-source.tar.gz Expand to a suitable folder for development and running.&lt;br /&gt;
** Feel free to try a newer version of OpenSimulator (the repository is on git now).&lt;br /&gt;
** If you used a newer OpenSimulator version, check BUILDING.txt for any changes to build instructions (we fall under &amp;quot;Linux&amp;quot;)&lt;br /&gt;
* Edit or create .profile or .bash_profile in your OS X home folder, with the following lines:&lt;br /&gt;
 # remember real PATH&lt;br /&gt;
 export OSIM_HACK_ORIG_PATH=$PATH&lt;br /&gt;
 &lt;br /&gt;
 # normal path for running OpenSimulator&lt;br /&gt;
 export PATH=$PATH:/Library/Frameworks/Mono.framework/Versions/Current/bin:/usr/local/mysql/bin&lt;br /&gt;
 &lt;br /&gt;
 # Just for nant:&lt;br /&gt;
 export PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/2.6.7/lib/pkgconfig&lt;br /&gt;
 alias oldpath=&amp;quot;export PATH=$OSIM_HACK_ORIG_PATH:/Library/Frameworks/Mono.framework/Versions/2.6.7/bin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Open a new Terminal window, and cd to your uncompressed OpenSimulator source folder (shortcut: type &amp;quot;cd &amp;quot; then drag the folder to the Terminal window). The enter these commands:&lt;br /&gt;
 oldpath&lt;br /&gt;
 ./runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
&lt;br /&gt;
* nant should take around 10 minutes to compile your OpenSimulator. If you get through that without errors, you're halfway there! (I did get 234 warnings).&lt;br /&gt;
* *Important* Before we forget, open a new Terminal window (necessary to avoid the effects of &amp;quot;oldpath&amp;quot;).&lt;br /&gt;
* Now we need PowerPC versions of two libraries. Build each one and replace the compiled .dylib files in the opensim/bin folder. &lt;br /&gt;
** libode.dylib http://cdnetworks-us-1.dl.sourceforge.net/project/opende/ODE/0.11.1/ode-0.11.1.zip&lt;br /&gt;
** libopenjpeg-dotnet-2.1.3.0-dotnet-1.dylib (checked out with svn:)&lt;br /&gt;
 svn co http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk/openjpeg-dotnet libopenmetaverse-read-only&lt;br /&gt;
 cd libopenmetaverse-read-only&lt;br /&gt;
** To build, remove the Makefile file, which is for Linux, and rename Makefile.osx to just Makefile, then give the command: make )&lt;br /&gt;
** Remove the other versions of the two libraries (similar names, different extensions, like &amp;quot;libode-x86_64.so&amp;quot;. Two libode's and three libopenjpeg's).&lt;br /&gt;
* Configure your sim: Copy OpenSim.ini.example to OpenSim.ini and customize it per its comments.&lt;br /&gt;
* Likewise copy and customize StandaloneCommon.ini in bin/config-include&lt;br /&gt;
* Note that the comments say that the current SQLite plugin doesn't work on OS X. Either solve that, or install MySQL, which requires no compiling and is relatively easy to set up:&lt;br /&gt;
** From http://downloads.mysql.com/archives.php?p=mysql-5.1&amp;amp;v=5.1.40, download MySQL 5.1.40 for 10.5 PowerPC (installer, not 64-bit) &lt;br /&gt;
** Run the installer. (which installs to /usr/local)&lt;br /&gt;
** Install MySQL.prefPane into System Preferences by double-clicking it.&lt;br /&gt;
** Open the pref pane and start MySQL.&lt;br /&gt;
** (Optional:) For unattended startup, install MySQLStartupItem (doesn't always work for me).&lt;br /&gt;
** (Recommended:) In Terminal, do the one-time setup of MySQL with this command: mysql_secure_installation&lt;br /&gt;
** In MySQL, create the opensim user per the comments in OpenSim.ini. Give it all the create privileges.&lt;br /&gt;
*** Since this is a Mac, you could use Sequel Pro (donationware) to do that in a nice GUI. Standard connection, host: 127.0.0.1 (if on the same Mac)&lt;br /&gt;
* You're ready to run OpenSimulator. In that new Terminal window, cd to your OpenSim-source/bin folder.&lt;br /&gt;
 mono OpenSim.exe&lt;br /&gt;
* If all is well, you will be prompted &amp;quot;New region name []: &amp;quot;&lt;br /&gt;
* Turn to &amp;quot;Running OpenSimulator for the first time&amp;quot; on wiki page [[Configuration]]&lt;br /&gt;
* When fully up and running, the prompt is &amp;quot;Region (&amp;lt;region-name&amp;gt;) #&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
&lt;br /&gt;
For Ubuntu users on older distributions (7.10, 8.04, 9.10 etc.) '''you need''' to upgrade your version of mono to at least 2.4.3 for OpenSimulator 0.7.6 and 2.10.8 for the next OpenSimulator release.  We recommend updating to at least Mono 2.10.8 in any case for performance reasons. For anyone who needs to upgrade their Mono, see [[Update Mono on Ubuntu]].&lt;br /&gt;
&lt;br /&gt;
Ubuntu Karmic (9.10) includes mono 2.4.2.3 packages.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Lucid (10.04) includes mono 2.4.4 packages.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Maverick (10.10) includes mono 2.6.7 packages.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Natty (11.04) includes mono 2.6.7 packages.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Oneirc (11.10) to Salamander (13.10) include the mono 2.10.8.1 packages.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 10.04 and later ====&lt;br /&gt;
&lt;br /&gt;
In this version, one only needs to install mono-complete - this will pull down all the other required packages as dependencies. Thus, to build:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mono-complete&lt;br /&gt;
 # [[Download]] opensim&lt;br /&gt;
 cd opensim&lt;br /&gt;
 ./runprebuild.sh&lt;br /&gt;
 xbuild&lt;br /&gt;
&lt;br /&gt;
As of mono 2.6 series, xbuild works well enough to drive a complete build of OpenSimulator. Since xbuild is included within the '''mono-complete''' package on Ubuntu, you don't have to install any additional packages if you don't have any particular reason to prefer nant over xbuild. They are just two different build systems that invoke the same C# compiler based on two different build script formats.&lt;br /&gt;
&lt;br /&gt;
If you do want to build using nant, then you will need to install the '''nant''' apt-get package and execute&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install nant&lt;br /&gt;
 nant&lt;br /&gt;
&lt;br /&gt;
instead of&lt;br /&gt;
&lt;br /&gt;
 xbuild&lt;br /&gt;
&lt;br /&gt;
after ./runprebuild.sh&lt;br /&gt;
&lt;br /&gt;
'''OPTIONAL (for developers):''' To run the regression test suite, you will also need to install nunit-console, like so&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install nunit-console&lt;br /&gt;
 nant test&lt;br /&gt;
&lt;br /&gt;
{{anchor|CentOS}}{{anchor|RedHat}}{{anchor|RHEL}}{{anchor|Fedora}}&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
&lt;br /&gt;
Debian 4 (Etch) is no longer supported by debian.org. Update at least to 5 (Lenny) before running OpenSimulator. See [http://www.debian.org/releases/lenny/i386/release-notes/ch-upgrading.html Upgrades from previous release@debian.org] for detail.&lt;br /&gt;
&lt;br /&gt;
For Debian 5 (Lenny) or later, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo aptitude install nant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
before run runprebuild.sh and nant. You can even use apt-get instead of aptitude. They both will also install dependent packages.&lt;br /&gt;
&lt;br /&gt;
Tested on Debian 5 &amp;quot;Lenny&amp;quot; ''oldstable'', Debian 6 &amp;quot;Squeeze&amp;quot; ''stable'' and Debian 7 &amp;quot;Wheezy&amp;quot; ''testing''.&lt;br /&gt;
&lt;br /&gt;
===  Fedora ===&lt;br /&gt;
&lt;br /&gt;
After getting run your OpenSimulator binary distributions, you'll need to get mono development library and install nant to build OpenSimulator from the source. See both sections below.&lt;br /&gt;
&lt;br /&gt;
==== Getting Mono Libraries ====&lt;br /&gt;
&lt;br /&gt;
If you have installed mono packages from the core repository for your distributions [[Dependencies#RedHat|when you run OpenSim.exe binary distribusion]], just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo yum install mono-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If not, just type (given that [[Dependencies#Installing from Mono Repository|you have already set up yum repository for mono]]) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo yum install mono-addon-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both command will install its dependencies as well.&lt;br /&gt;
&lt;br /&gt;
==== Installing NAnt ====&lt;br /&gt;
&lt;br /&gt;
Run &amp;quot;yum info nant&amp;quot; to check the version of nant package. If you find the package, then just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo yum install nant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can now run nant out-of-the-box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you can't find nant package in yum repository, or you feel its version is too early for building OpenSimulator, obtain NAnt from [http://nant.sourceforge.net/ NAnt Project Site]. See User Manual there for detailed instruction. As of 0.90, you will need to create startup script like that (given you have expanded NAnt to /usr/local/nant) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo vi /usr/bin/nant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then inside this file :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
exec mono /usr/local/nant/bin/NAnt.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After that, make it executable :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/bin/nant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now run runprebuild.sh and nant to compile OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  CentOS, Redhat ===&lt;br /&gt;
&lt;br /&gt;
==== Install EPEL Repo ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm&lt;br /&gt;
rpm -Uvh epel-release-6-8.noarch.rpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Pre-required Package for Mono and GID+ ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum install bison gettext glib2 freetype fontconfig libpng libpng-devel libX11 \&lt;br /&gt;
libX11-devel glib2-devel libgdi* libexif glibc-devel urw-fonts \&lt;br /&gt;
unzip gcc gcc-c++ automake autoconf \ &lt;br /&gt;
libtool make bzip2 wget  pixman-devel \ &lt;br /&gt;
fontconfig-devel freetype-devel libexif-devel \&lt;br /&gt;
libjpeg-devel libtiff-devel  giflib-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Mono compilation ====&lt;br /&gt;
&lt;br /&gt;
ps: -j 2 equal number of processor (or core)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://download.mono-project.com/sources/mono/mono-3.0.4.tar.bz2&lt;br /&gt;
tar -jxvf mono-3.0.4.tar.bz2&lt;br /&gt;
cd mono-3.0.4&lt;br /&gt;
./configure --libdir=/usr/lib64&lt;br /&gt;
make -j 2 &lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Install GID+ ====&lt;br /&gt;
ps: -j 2 equal number of processor (or core)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.9.tar.bz2&lt;br /&gt;
tar -xvjf libgdiplus-2.10.9.tar.bz2&lt;br /&gt;
cd libgdiplus-2.10.9&lt;br /&gt;
./configure&lt;br /&gt;
make -j2 &lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== openSUSE ===&lt;br /&gt;
&lt;br /&gt;
Just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo zypper install nant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
before run runprebuild.sh and nant. It will also install dependent packages.&lt;br /&gt;
&lt;br /&gt;
== FreeBSD ==&lt;br /&gt;
&lt;br /&gt;
FreeBSD is not currently a supported platform for OpenSimulator.  However, it is possible to get OpenSimulator running on FreeBSD.&lt;br /&gt;
&lt;br /&gt;
On FreeBSD 6.2 and later&lt;br /&gt;
&lt;br /&gt;
 su&lt;br /&gt;
 cd /usr/ports/devel/subversion/ &amp;amp;&amp;amp; make install clean (you may also need to rebuild apr-svn if this step fails)&lt;br /&gt;
 cd /usr/ports/lang/mono/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /usr/ports/devel/nant/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /usr/ports/databases/sqlite3/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /usr/ports/x11-toolkits/libgdiplus/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /opensim/installation/directory/&lt;br /&gt;
 [[Download]] opensim&lt;br /&gt;
 cd opensim&lt;br /&gt;
 ./runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
&lt;br /&gt;
If you get &amp;quot;System.DllNotFoundException: libopenjpeg&amp;quot; errors, follow one of these fixes (depending of the lib appearing in the error message):&lt;br /&gt;
* [[Troubleshooting#System.DllNotFoundException:_lib32.2Flibopenjpeg-dotnet-2.1.3.0-dotnet-1-i686|libopenjpeg-mono]]&lt;br /&gt;
* [[Troubleshooting#System.DllNotFoundException:_..2Flibopenjpeg-libsl-2.1.2.0.so|libopenjpeg-libsl]]&lt;br /&gt;
&lt;br /&gt;
For ODE Physics you must do the following:&lt;br /&gt;
 cd /usr/ports/graphics/libGL/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /usr/ports/graphics/libGLU/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /opensim/installation/directory/&lt;br /&gt;
 git clone git://opensimulator.org/git/opensim-libs&lt;br /&gt;
 cd opensim-libs/trunk/unmanaged/OpenDynamicsEngine-r1755&lt;br /&gt;
 sh autogen.sh&lt;br /&gt;
 ./configure --enable-shared --enable-release --disable-demos --without-x --enable-old-trimesh&lt;br /&gt;
 make&lt;br /&gt;
 cp ./ode/src/.libs/libode.so /opensim/installation/directory/opensim/bin/libode.so (32 bit)&lt;br /&gt;
 cp ./ode/src/.libs/libode.so /opensim/installation/directory/opensim/bin/libode-x86_64.so (64 bit)&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
See [[Configuration]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
[[Category:Getting Started]]&lt;/div&gt;</summary>
		<author><name>Amitgoel</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Build_Instructions</id>
		<title>Build Instructions</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Build_Instructions"/>
				<updated>2014-10-11T00:19:05Z</updated>
		
		<summary type="html">&lt;p&gt;Amitgoel: /* Ubuntu 10.04 and later */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
This page covers building OpenSimulator from source code on multiple platforms.  Please help us keep this page up to date as the project progresses. If you just want to run OpenSimulator, [[Download]] and [[Configuration|run]] the binary build instead. In the most cases, you should be fine with binaries.&lt;br /&gt;
&lt;br /&gt;
= Obtaining the Source Code =&lt;br /&gt;
&lt;br /&gt;
Check out the [[Download]] page for instructions on obtaining an OpenSimulator source release.  If you want the current development code (i.e. the Git master branch) see [[Developer_Documentation#Source_Code_Repository_Access]].&lt;br /&gt;
&lt;br /&gt;
= Building =&lt;br /&gt;
&lt;br /&gt;
Although this page is long, building is generally quite simple.  See the BUILDING.txt file in the distribution itself for simplified instructions.&lt;br /&gt;
&lt;br /&gt;
== MS Windows ==&lt;br /&gt;
&lt;br /&gt;
OpenSimulator 0.8 and later requires either &lt;br /&gt;
* [http://msdn.microsoft.com/en-us/netframework/cc378097 .NET Framework 4.0] on Windows or &lt;br /&gt;
* [http://www.go-mono.com/mono-downloads/download.html Mono] on Linux or Mac.  Mono 2.10.8 is the minimum version.&lt;br /&gt;
&lt;br /&gt;
=== Supported Compilers ===&lt;br /&gt;
* Visual Studio 2010&lt;br /&gt;
* Visual Studio 2008 up until OpenSimulator 0.7.6 - current development code requires Visual Studio 2010 or a compiler that can compile .NET 4.0 code.&lt;br /&gt;
:Any editions of Visual Studio should work just fine, including free editions [http://www.microsoft.com/express/downloads/ Microsoft Visual C# Express Edition].&lt;br /&gt;
:Note that Visual Studio 2005 or earlier are no longer supported([http://www.mail-archive.com/opensim-dev@lists.berlios.de/msg02674.html opensim-dev proposal], [http://www.mail-archive.com/opensim-dev@lists.berlios.de/msg02673.html opensim-dev approved]).&lt;br /&gt;
&lt;br /&gt;
=== Compiling in an IDE ===&lt;br /&gt;
# Run &amp;quot;runprebuild.bat&amp;quot; or &amp;quot;runprebuild2010.bat&amp;quot; (if using Visual Studio 2010 with OpenSimulator 0.7.6 source code or earlier).&lt;br /&gt;
# Open the resulting &amp;quot;OpenSim.sln&amp;quot; in any Visual Studio IDE.&lt;br /&gt;
# Build (or Debug) -&amp;gt; Build Solution.&lt;br /&gt;
&lt;br /&gt;
===Compiling at the Command Prompt ===&lt;br /&gt;
# Run &amp;quot;runprebuild.bat&amp;quot;.&lt;br /&gt;
# Run the resulting &amp;quot;compile.bat&amp;quot; file or run &amp;quot;nant&amp;quot;. This will build the executable using MSBuild (the former) or nan t(the latter).&lt;br /&gt;
&lt;br /&gt;
=== Additional Notes ===&lt;br /&gt;
&lt;br /&gt;
* You can run OpenSimulator on 64-bit Windows (Vista, Windows 7 ...) today, but if you want to debug it in Visual Studio, you'll need to add OpenSim.32BitLaunch to the solution and set it as startup project. See [http://blog.tedd.no/2008/12/05/opensim-in-visual-studio-on-win64/ OpenSimulator in Visual Studio on Win64@Tedds blog] for details.&lt;br /&gt;
&lt;br /&gt;
*For those that use a Cygwin shell, you may need to fix DLLs permissions issue by typing &amp;quot;&amp;lt;tt&amp;gt;chmod 755 *.dll *.exe&amp;lt;/tt&amp;gt;&amp;quot; in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X 10.5 and later, Intel ===&lt;br /&gt;
&lt;br /&gt;
Only you have to do is to get :&lt;br /&gt;
* Mono SDK from [http://www.go-mono.com/mono-downloads/download.html Mono Download Page]&lt;br /&gt;
* MonoDevelop package from [http://monodevelop.com/Download MonoDevelop Download Page]  ** MonoDevelop redirects to Xamarin Studio for Mc OS X downloads&lt;br /&gt;
and then install them - now no need to install XCode nor MacPort (you can still install mono dev libraries and nant with MacPort though).&lt;br /&gt;
&lt;br /&gt;
When you run nano to build OpenSimulator, it may show an error like &amp;quot;Unable to locate 'mono' module using pkg-config. Download the Mono &lt;br /&gt;
development packages&amp;quot;. I suspect XCode or MacPort causes something wrong (since it worked fine after I removed both), but I'm not sure. Anyway, insert a line into '''/usr/bin/nant''' script file to manage this problem :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
export PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Libraries/pkgconfig    # add this!&lt;br /&gt;
exec /Library/Frameworks/Mono.framework/Versions/2.10.2/bin/mono \&lt;br /&gt;
    /Library/Frameworks/Mono.framework/Versions/2.10.2/share/NAnt/bin/NAnt.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can even compile and debug OpenSimulator with MonoDevelop IDE after running &amp;quot;runprebuild.sh&amp;quot;. Open the solution file(*.sln) with MonoDevelop IDE then select Build -&amp;gt; Build All from the menu.&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X 10.4/10.5 on PowerPC ===&lt;br /&gt;
OpenSimulator can run on PowerPC Macs (such as G4, G5). These instructions were tested on 10.5.8.  Note that two libraries must also be built from source. Caveat: the OpenSimulator app was only briefly tested in self-contained mode. There may well be issues with this build. Feel free to note any issues you find below (or in a new wiki page? discussion?). &lt;br /&gt;
&lt;br /&gt;
Unfortunately, the OpenSimulator version used here must be compiled on one version of Mono (2.6.7) and run on another (2.8.2). This means either upgrading Mono after the build, or having both versions installed and accessing the older version when you want to build. These instructions let you have both versions installed.&lt;br /&gt;
&lt;br /&gt;
* Install Xcode 3.1.4 Developer Tools from from http://developer.apple.com/. You must have a free Apple developer account to access the downloads. 3.1.4 was the last PowerPC Xcode.&lt;br /&gt;
&lt;br /&gt;
* (10.4 only) Install X11 from the Optional Install (or see if it's a Customize option when you install Xcode). 10.5 gets X11 by default (''from OS X or dev tools?'').&lt;br /&gt;
* Install Mono 2.6.7 PowerPC Framework from here: http://www.go-mono.com/mono-downloads/download.html (binary OS X Framework, no need to build from source)&lt;br /&gt;
* Then install Mono 2.8.2 PowerPC framework. For these instructions to work, you must first install 2.6.7, THEN 2.8.2. (The old framework is not deleted, but &amp;quot;Current&amp;quot; symlinks are updated).&lt;br /&gt;
* Download OpenSimulator 0.7.0.2 source tarball: http://dist.opensimulator.org/opensim-0.7.0.2-source.tar.gz Expand to a suitable folder for development and running.&lt;br /&gt;
** Feel free to try a newer version of OpenSimulator (the repository is on git now).&lt;br /&gt;
** If you used a newer OpenSimulator version, check BUILDING.txt for any changes to build instructions (we fall under &amp;quot;Linux&amp;quot;)&lt;br /&gt;
* Edit or create .profile or .bash_profile in your OS X home folder, with the following lines:&lt;br /&gt;
 # remember real PATH&lt;br /&gt;
 export OSIM_HACK_ORIG_PATH=$PATH&lt;br /&gt;
 &lt;br /&gt;
 # normal path for running OpenSimulator&lt;br /&gt;
 export PATH=$PATH:/Library/Frameworks/Mono.framework/Versions/Current/bin:/usr/local/mysql/bin&lt;br /&gt;
 &lt;br /&gt;
 # Just for nant:&lt;br /&gt;
 export PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/2.6.7/lib/pkgconfig&lt;br /&gt;
 alias oldpath=&amp;quot;export PATH=$OSIM_HACK_ORIG_PATH:/Library/Frameworks/Mono.framework/Versions/2.6.7/bin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Open a new Terminal window, and cd to your uncompressed OpenSimulator source folder (shortcut: type &amp;quot;cd &amp;quot; then drag the folder to the Terminal window). The enter these commands:&lt;br /&gt;
 oldpath&lt;br /&gt;
 ./runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
&lt;br /&gt;
* nant should take around 10 minutes to compile your OpenSimulator. If you get through that without errors, you're halfway there! (I did get 234 warnings).&lt;br /&gt;
* *Important* Before we forget, open a new Terminal window (necessary to avoid the effects of &amp;quot;oldpath&amp;quot;).&lt;br /&gt;
* Now we need PowerPC versions of two libraries. Build each one and replace the compiled .dylib files in the opensim/bin folder. &lt;br /&gt;
** libode.dylib http://cdnetworks-us-1.dl.sourceforge.net/project/opende/ODE/0.11.1/ode-0.11.1.zip&lt;br /&gt;
** libopenjpeg-dotnet-2.1.3.0-dotnet-1.dylib (checked out with svn:)&lt;br /&gt;
 svn co http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk/openjpeg-dotnet libopenmetaverse-read-only&lt;br /&gt;
 cd libopenmetaverse-read-only&lt;br /&gt;
** To build, remove the Makefile file, which is for Linux, and rename Makefile.osx to just Makefile, then give the command: make )&lt;br /&gt;
** Remove the other versions of the two libraries (similar names, different extensions, like &amp;quot;libode-x86_64.so&amp;quot;. Two libode's and three libopenjpeg's).&lt;br /&gt;
* Configure your sim: Copy OpenSim.ini.example to OpenSim.ini and customize it per its comments.&lt;br /&gt;
* Likewise copy and customize StandaloneCommon.ini in bin/config-include&lt;br /&gt;
* Note that the comments say that the current SQLite plugin doesn't work on OS X. Either solve that, or install MySQL, which requires no compiling and is relatively easy to set up:&lt;br /&gt;
** From http://downloads.mysql.com/archives.php?p=mysql-5.1&amp;amp;v=5.1.40, download MySQL 5.1.40 for 10.5 PowerPC (installer, not 64-bit) &lt;br /&gt;
** Run the installer. (which installs to /usr/local)&lt;br /&gt;
** Install MySQL.prefPane into System Preferences by double-clicking it.&lt;br /&gt;
** Open the pref pane and start MySQL.&lt;br /&gt;
** (Optional:) For unattended startup, install MySQLStartupItem (doesn't always work for me).&lt;br /&gt;
** (Recommended:) In Terminal, do the one-time setup of MySQL with this command: mysql_secure_installation&lt;br /&gt;
** In MySQL, create the opensim user per the comments in OpenSim.ini. Give it all the create privileges.&lt;br /&gt;
*** Since this is a Mac, you could use Sequel Pro (donationware) to do that in a nice GUI. Standard connection, host: 127.0.0.1 (if on the same Mac)&lt;br /&gt;
* You're ready to run OpenSimulator. In that new Terminal window, cd to your OpenSim-source/bin folder.&lt;br /&gt;
 mono OpenSim.exe&lt;br /&gt;
* If all is well, you will be prompted &amp;quot;New region name []: &amp;quot;&lt;br /&gt;
* Turn to &amp;quot;Running OpenSimulator for the first time&amp;quot; on wiki page [[Configuration]]&lt;br /&gt;
* When fully up and running, the prompt is &amp;quot;Region (&amp;lt;region-name&amp;gt;) #&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
&lt;br /&gt;
For Ubuntu users on older distributions (7.10, 8.04, 9.10 etc.) '''you need''' to upgrade your version of mono to at least 2.4.3 for OpenSimulator 0.7.6 and 2.10.8 for the next OpenSimulator release.  We recommend updating to at least Mono 2.10.8 in any case for performance reasons. For anyone who needs to upgrade their Mono, see [[Update Mono on Ubuntu]].&lt;br /&gt;
&lt;br /&gt;
Ubuntu Karmic (9.10) includes mono 2.4.2.3 packages.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Lucid (10.04) includes mono 2.4.4 packages.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Maverick (10.10) includes mono 2.6.7 packages.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Natty (11.04) includes mono 2.6.7 packages.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Oneirc (11.10) to Salamander (13.10) include the mono 2.10.8.1 packages.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 10.04 and later ====&lt;br /&gt;
&lt;br /&gt;
In this version, one only needs to install mono-complete - this will pull down all the other required packages as dependencies. Thus, to build:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mono-complete nant&lt;br /&gt;
 # [[Download]] opensim&lt;br /&gt;
 cd opensim&lt;br /&gt;
 ./runprebuild.sh&lt;br /&gt;
 xbuild&lt;br /&gt;
&lt;br /&gt;
As of mono 2.6 series, xbuild works well enough to drive a complete build of OpenSimulator. Since xbuild is included within the '''mono-complete''' package on Ubuntu, you don't have to install any additional packages if you don't have any particular reason to prefer nant over xbuild. They are just two different build systems that invoke the same C# compiler based on two different build script formats.&lt;br /&gt;
&lt;br /&gt;
If you do want to build using nant, then you will need to install the '''nant''' apt-get package and execute&lt;br /&gt;
&lt;br /&gt;
 nant&lt;br /&gt;
&lt;br /&gt;
instead of&lt;br /&gt;
&lt;br /&gt;
 xbuild&lt;br /&gt;
&lt;br /&gt;
after ./runprebuild.sh&lt;br /&gt;
&lt;br /&gt;
'''OPTIONAL (for developers):''' To run the regression test suite, you will also need to install nunit-console, like so&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install nunit-console&lt;br /&gt;
 nant test&lt;br /&gt;
&lt;br /&gt;
{{anchor|CentOS}}{{anchor|RedHat}}{{anchor|RHEL}}{{anchor|Fedora}}&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
&lt;br /&gt;
Debian 4 (Etch) is no longer supported by debian.org. Update at least to 5 (Lenny) before running OpenSimulator. See [http://www.debian.org/releases/lenny/i386/release-notes/ch-upgrading.html Upgrades from previous release@debian.org] for detail.&lt;br /&gt;
&lt;br /&gt;
For Debian 5 (Lenny) or later, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo aptitude install nant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
before run runprebuild.sh and nant. You can even use apt-get instead of aptitude. They both will also install dependent packages.&lt;br /&gt;
&lt;br /&gt;
Tested on Debian 5 &amp;quot;Lenny&amp;quot; ''oldstable'', Debian 6 &amp;quot;Squeeze&amp;quot; ''stable'' and Debian 7 &amp;quot;Wheezy&amp;quot; ''testing''.&lt;br /&gt;
&lt;br /&gt;
===  Fedora ===&lt;br /&gt;
&lt;br /&gt;
After getting run your OpenSimulator binary distributions, you'll need to get mono development library and install nant to build OpenSimulator from the source. See both sections below.&lt;br /&gt;
&lt;br /&gt;
==== Getting Mono Libraries ====&lt;br /&gt;
&lt;br /&gt;
If you have installed mono packages from the core repository for your distributions [[Dependencies#RedHat|when you run OpenSim.exe binary distribusion]], just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo yum install mono-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If not, just type (given that [[Dependencies#Installing from Mono Repository|you have already set up yum repository for mono]]) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo yum install mono-addon-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both command will install its dependencies as well.&lt;br /&gt;
&lt;br /&gt;
==== Installing NAnt ====&lt;br /&gt;
&lt;br /&gt;
Run &amp;quot;yum info nant&amp;quot; to check the version of nant package. If you find the package, then just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo yum install nant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can now run nant out-of-the-box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you can't find nant package in yum repository, or you feel its version is too early for building OpenSimulator, obtain NAnt from [http://nant.sourceforge.net/ NAnt Project Site]. See User Manual there for detailed instruction. As of 0.90, you will need to create startup script like that (given you have expanded NAnt to /usr/local/nant) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo vi /usr/bin/nant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then inside this file :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
exec mono /usr/local/nant/bin/NAnt.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After that, make it executable :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/bin/nant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now run runprebuild.sh and nant to compile OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  CentOS, Redhat ===&lt;br /&gt;
&lt;br /&gt;
==== Install EPEL Repo ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm&lt;br /&gt;
rpm -Uvh epel-release-6-8.noarch.rpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Pre-required Package for Mono and GID+ ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum install bison gettext glib2 freetype fontconfig libpng libpng-devel libX11 \&lt;br /&gt;
libX11-devel glib2-devel libgdi* libexif glibc-devel urw-fonts \&lt;br /&gt;
unzip gcc gcc-c++ automake autoconf \ &lt;br /&gt;
libtool make bzip2 wget  pixman-devel \ &lt;br /&gt;
fontconfig-devel freetype-devel libexif-devel \&lt;br /&gt;
libjpeg-devel libtiff-devel  giflib-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Mono compilation ====&lt;br /&gt;
&lt;br /&gt;
ps: -j 2 equal number of processor (or core)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://download.mono-project.com/sources/mono/mono-3.0.4.tar.bz2&lt;br /&gt;
tar -jxvf mono-3.0.4.tar.bz2&lt;br /&gt;
cd mono-3.0.4&lt;br /&gt;
./configure --libdir=/usr/lib64&lt;br /&gt;
make -j 2 &lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Install GID+ ====&lt;br /&gt;
ps: -j 2 equal number of processor (or core)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.9.tar.bz2&lt;br /&gt;
tar -xvjf libgdiplus-2.10.9.tar.bz2&lt;br /&gt;
cd libgdiplus-2.10.9&lt;br /&gt;
./configure&lt;br /&gt;
make -j2 &lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== openSUSE ===&lt;br /&gt;
&lt;br /&gt;
Just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo zypper install nant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
before run runprebuild.sh and nant. It will also install dependent packages.&lt;br /&gt;
&lt;br /&gt;
== FreeBSD ==&lt;br /&gt;
&lt;br /&gt;
FreeBSD is not currently a supported platform for OpenSimulator.  However, it is possible to get OpenSimulator running on FreeBSD.&lt;br /&gt;
&lt;br /&gt;
On FreeBSD 6.2 and later&lt;br /&gt;
&lt;br /&gt;
 su&lt;br /&gt;
 cd /usr/ports/devel/subversion/ &amp;amp;&amp;amp; make install clean (you may also need to rebuild apr-svn if this step fails)&lt;br /&gt;
 cd /usr/ports/lang/mono/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /usr/ports/devel/nant/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /usr/ports/databases/sqlite3/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /usr/ports/x11-toolkits/libgdiplus/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /opensim/installation/directory/&lt;br /&gt;
 [[Download]] opensim&lt;br /&gt;
 cd opensim&lt;br /&gt;
 ./runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
&lt;br /&gt;
If you get &amp;quot;System.DllNotFoundException: libopenjpeg&amp;quot; errors, follow one of these fixes (depending of the lib appearing in the error message):&lt;br /&gt;
* [[Troubleshooting#System.DllNotFoundException:_lib32.2Flibopenjpeg-dotnet-2.1.3.0-dotnet-1-i686|libopenjpeg-mono]]&lt;br /&gt;
* [[Troubleshooting#System.DllNotFoundException:_..2Flibopenjpeg-libsl-2.1.2.0.so|libopenjpeg-libsl]]&lt;br /&gt;
&lt;br /&gt;
For ODE Physics you must do the following:&lt;br /&gt;
 cd /usr/ports/graphics/libGL/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /usr/ports/graphics/libGLU/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /opensim/installation/directory/&lt;br /&gt;
 git clone git://opensimulator.org/git/opensim-libs&lt;br /&gt;
 cd opensim-libs/trunk/unmanaged/OpenDynamicsEngine-r1755&lt;br /&gt;
 sh autogen.sh&lt;br /&gt;
 ./configure --enable-shared --enable-release --disable-demos --without-x --enable-old-trimesh&lt;br /&gt;
 make&lt;br /&gt;
 cp ./ode/src/.libs/libode.so /opensim/installation/directory/opensim/bin/libode.so (32 bit)&lt;br /&gt;
 cp ./ode/src/.libs/libode.so /opensim/installation/directory/opensim/bin/libode-x86_64.so (64 bit)&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
See [[Configuration]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
[[Category:Getting Started]]&lt;/div&gt;</summary>
		<author><name>Amitgoel</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Build_Instructions</id>
		<title>Build Instructions</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Build_Instructions"/>
				<updated>2014-10-09T23:30:53Z</updated>
		
		<summary type="html">&lt;p&gt;Amitgoel: /* Mac OS X 10.5 and later, Intel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
This page covers building OpenSimulator from source code on multiple platforms.  Please help us keep this page up to date as the project progresses. If you just want to run OpenSimulator, [[Download]] and [[Configuration|run]] the binary build instead. In the most cases, you should be fine with binaries.&lt;br /&gt;
&lt;br /&gt;
= Obtaining the Source Code =&lt;br /&gt;
&lt;br /&gt;
Check out the [[Download]] page for instructions on obtaining an OpenSimulator source release.  If you want the current development code (i.e. the Git master branch) see [[Developer_Documentation#Source_Code_Repository_Access]].&lt;br /&gt;
&lt;br /&gt;
= Building =&lt;br /&gt;
&lt;br /&gt;
Although this page is long, building is generally quite simple.  See the BUILDING.txt file in the distribution itself for simplified instructions.&lt;br /&gt;
&lt;br /&gt;
== MS Windows ==&lt;br /&gt;
&lt;br /&gt;
OpenSimulator 0.8 and later requires either &lt;br /&gt;
* [http://msdn.microsoft.com/en-us/netframework/cc378097 .NET Framework 4.0] on Windows or &lt;br /&gt;
* [http://www.go-mono.com/mono-downloads/download.html Mono] on Linux or Mac.  Mono 2.10.8 is the minimum version.&lt;br /&gt;
&lt;br /&gt;
=== Supported Compilers ===&lt;br /&gt;
* Visual Studio 2010&lt;br /&gt;
* Visual Studio 2008 up until OpenSimulator 0.7.6 - current development code requires Visual Studio 2010 or a compiler that can compile .NET 4.0 code.&lt;br /&gt;
:Any editions of Visual Studio should work just fine, including free editions [http://www.microsoft.com/express/downloads/ Microsoft Visual C# Express Edition].&lt;br /&gt;
:Note that Visual Studio 2005 or earlier are no longer supported([http://www.mail-archive.com/opensim-dev@lists.berlios.de/msg02674.html opensim-dev proposal], [http://www.mail-archive.com/opensim-dev@lists.berlios.de/msg02673.html opensim-dev approved]).&lt;br /&gt;
&lt;br /&gt;
=== Compiling in an IDE ===&lt;br /&gt;
# Run &amp;quot;runprebuild.bat&amp;quot; or &amp;quot;runprebuild2010.bat&amp;quot; (if using Visual Studio 2010 with OpenSimulator 0.7.6 source code or earlier).&lt;br /&gt;
# Open the resulting &amp;quot;OpenSim.sln&amp;quot; in any Visual Studio IDE.&lt;br /&gt;
# Build (or Debug) -&amp;gt; Build Solution.&lt;br /&gt;
&lt;br /&gt;
===Compiling at the Command Prompt ===&lt;br /&gt;
# Run &amp;quot;runprebuild.bat&amp;quot;.&lt;br /&gt;
# Run the resulting &amp;quot;compile.bat&amp;quot; file or run &amp;quot;nant&amp;quot;. This will build the executable using MSBuild (the former) or nan t(the latter).&lt;br /&gt;
&lt;br /&gt;
=== Additional Notes ===&lt;br /&gt;
&lt;br /&gt;
* You can run OpenSimulator on 64-bit Windows (Vista, Windows 7 ...) today, but if you want to debug it in Visual Studio, you'll need to add OpenSim.32BitLaunch to the solution and set it as startup project. See [http://blog.tedd.no/2008/12/05/opensim-in-visual-studio-on-win64/ OpenSimulator in Visual Studio on Win64@Tedds blog] for details.&lt;br /&gt;
&lt;br /&gt;
*For those that use a Cygwin shell, you may need to fix DLLs permissions issue by typing &amp;quot;&amp;lt;tt&amp;gt;chmod 755 *.dll *.exe&amp;lt;/tt&amp;gt;&amp;quot; in the &amp;lt;tt&amp;gt;bin&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X 10.5 and later, Intel ===&lt;br /&gt;
&lt;br /&gt;
Only you have to do is to get :&lt;br /&gt;
* Mono SDK from [http://www.go-mono.com/mono-downloads/download.html Mono Download Page]&lt;br /&gt;
* MonoDevelop package from [http://monodevelop.com/Download MonoDevelop Download Page]  ** MonoDevelop redirects to Xamarin Studio for Mc OS X downloads&lt;br /&gt;
and then install them - now no need to install XCode nor MacPort (you can still install mono dev libraries and nant with MacPort though).&lt;br /&gt;
&lt;br /&gt;
When you run nano to build OpenSimulator, it may show an error like &amp;quot;Unable to locate 'mono' module using pkg-config. Download the Mono &lt;br /&gt;
development packages&amp;quot;. I suspect XCode or MacPort causes something wrong (since it worked fine after I removed both), but I'm not sure. Anyway, insert a line into '''/usr/bin/nant''' script file to manage this problem :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
export PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Libraries/pkgconfig    # add this!&lt;br /&gt;
exec /Library/Frameworks/Mono.framework/Versions/2.10.2/bin/mono \&lt;br /&gt;
    /Library/Frameworks/Mono.framework/Versions/2.10.2/share/NAnt/bin/NAnt.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can even compile and debug OpenSimulator with MonoDevelop IDE after running &amp;quot;runprebuild.sh&amp;quot;. Open the solution file(*.sln) with MonoDevelop IDE then select Build -&amp;gt; Build All from the menu.&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X 10.4/10.5 on PowerPC ===&lt;br /&gt;
OpenSimulator can run on PowerPC Macs (such as G4, G5). These instructions were tested on 10.5.8.  Note that two libraries must also be built from source. Caveat: the OpenSimulator app was only briefly tested in self-contained mode. There may well be issues with this build. Feel free to note any issues you find below (or in a new wiki page? discussion?). &lt;br /&gt;
&lt;br /&gt;
Unfortunately, the OpenSimulator version used here must be compiled on one version of Mono (2.6.7) and run on another (2.8.2). This means either upgrading Mono after the build, or having both versions installed and accessing the older version when you want to build. These instructions let you have both versions installed.&lt;br /&gt;
&lt;br /&gt;
* Install Xcode 3.1.4 Developer Tools from from http://developer.apple.com/. You must have a free Apple developer account to access the downloads. 3.1.4 was the last PowerPC Xcode.&lt;br /&gt;
&lt;br /&gt;
* (10.4 only) Install X11 from the Optional Install (or see if it's a Customize option when you install Xcode). 10.5 gets X11 by default (''from OS X or dev tools?'').&lt;br /&gt;
* Install Mono 2.6.7 PowerPC Framework from here: http://www.go-mono.com/mono-downloads/download.html (binary OS X Framework, no need to build from source)&lt;br /&gt;
* Then install Mono 2.8.2 PowerPC framework. For these instructions to work, you must first install 2.6.7, THEN 2.8.2. (The old framework is not deleted, but &amp;quot;Current&amp;quot; symlinks are updated).&lt;br /&gt;
* Download OpenSimulator 0.7.0.2 source tarball: http://dist.opensimulator.org/opensim-0.7.0.2-source.tar.gz Expand to a suitable folder for development and running.&lt;br /&gt;
** Feel free to try a newer version of OpenSimulator (the repository is on git now).&lt;br /&gt;
** If you used a newer OpenSimulator version, check BUILDING.txt for any changes to build instructions (we fall under &amp;quot;Linux&amp;quot;)&lt;br /&gt;
* Edit or create .profile or .bash_profile in your OS X home folder, with the following lines:&lt;br /&gt;
 # remember real PATH&lt;br /&gt;
 export OSIM_HACK_ORIG_PATH=$PATH&lt;br /&gt;
 &lt;br /&gt;
 # normal path for running OpenSimulator&lt;br /&gt;
 export PATH=$PATH:/Library/Frameworks/Mono.framework/Versions/Current/bin:/usr/local/mysql/bin&lt;br /&gt;
 &lt;br /&gt;
 # Just for nant:&lt;br /&gt;
 export PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/2.6.7/lib/pkgconfig&lt;br /&gt;
 alias oldpath=&amp;quot;export PATH=$OSIM_HACK_ORIG_PATH:/Library/Frameworks/Mono.framework/Versions/2.6.7/bin&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
* Open a new Terminal window, and cd to your uncompressed OpenSimulator source folder (shortcut: type &amp;quot;cd &amp;quot; then drag the folder to the Terminal window). The enter these commands:&lt;br /&gt;
 oldpath&lt;br /&gt;
 ./runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
&lt;br /&gt;
* nant should take around 10 minutes to compile your OpenSimulator. If you get through that without errors, you're halfway there! (I did get 234 warnings).&lt;br /&gt;
* *Important* Before we forget, open a new Terminal window (necessary to avoid the effects of &amp;quot;oldpath&amp;quot;).&lt;br /&gt;
* Now we need PowerPC versions of two libraries. Build each one and replace the compiled .dylib files in the opensim/bin folder. &lt;br /&gt;
** libode.dylib http://cdnetworks-us-1.dl.sourceforge.net/project/opende/ODE/0.11.1/ode-0.11.1.zip&lt;br /&gt;
** libopenjpeg-dotnet-2.1.3.0-dotnet-1.dylib (checked out with svn:)&lt;br /&gt;
 svn co http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk/openjpeg-dotnet libopenmetaverse-read-only&lt;br /&gt;
 cd libopenmetaverse-read-only&lt;br /&gt;
** To build, remove the Makefile file, which is for Linux, and rename Makefile.osx to just Makefile, then give the command: make )&lt;br /&gt;
** Remove the other versions of the two libraries (similar names, different extensions, like &amp;quot;libode-x86_64.so&amp;quot;. Two libode's and three libopenjpeg's).&lt;br /&gt;
* Configure your sim: Copy OpenSim.ini.example to OpenSim.ini and customize it per its comments.&lt;br /&gt;
* Likewise copy and customize StandaloneCommon.ini in bin/config-include&lt;br /&gt;
* Note that the comments say that the current SQLite plugin doesn't work on OS X. Either solve that, or install MySQL, which requires no compiling and is relatively easy to set up:&lt;br /&gt;
** From http://downloads.mysql.com/archives.php?p=mysql-5.1&amp;amp;v=5.1.40, download MySQL 5.1.40 for 10.5 PowerPC (installer, not 64-bit) &lt;br /&gt;
** Run the installer. (which installs to /usr/local)&lt;br /&gt;
** Install MySQL.prefPane into System Preferences by double-clicking it.&lt;br /&gt;
** Open the pref pane and start MySQL.&lt;br /&gt;
** (Optional:) For unattended startup, install MySQLStartupItem (doesn't always work for me).&lt;br /&gt;
** (Recommended:) In Terminal, do the one-time setup of MySQL with this command: mysql_secure_installation&lt;br /&gt;
** In MySQL, create the opensim user per the comments in OpenSim.ini. Give it all the create privileges.&lt;br /&gt;
*** Since this is a Mac, you could use Sequel Pro (donationware) to do that in a nice GUI. Standard connection, host: 127.0.0.1 (if on the same Mac)&lt;br /&gt;
* You're ready to run OpenSimulator. In that new Terminal window, cd to your OpenSim-source/bin folder.&lt;br /&gt;
 mono OpenSim.exe&lt;br /&gt;
* If all is well, you will be prompted &amp;quot;New region name []: &amp;quot;&lt;br /&gt;
* Turn to &amp;quot;Running OpenSimulator for the first time&amp;quot; on wiki page [[Configuration]]&lt;br /&gt;
* When fully up and running, the prompt is &amp;quot;Region (&amp;lt;region-name&amp;gt;) #&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu ===&lt;br /&gt;
&lt;br /&gt;
For Ubuntu users on older distributions (7.10, 8.04, 9.10 etc.) '''you need''' to upgrade your version of mono to at least 2.4.3 for OpenSimulator 0.7.6 and 2.10.8 for the next OpenSimulator release.  We recommend updating to at least Mono 2.10.8 in any case for performance reasons. For anyone who needs to upgrade their Mono, see [[Update Mono on Ubuntu]].&lt;br /&gt;
&lt;br /&gt;
Ubuntu Karmic (9.10) includes mono 2.4.2.3 packages.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Lucid (10.04) includes mono 2.4.4 packages.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Maverick (10.10) includes mono 2.6.7 packages.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Natty (11.04) includes mono 2.6.7 packages.&lt;br /&gt;
&lt;br /&gt;
Ubuntu Oneirc (11.10) to Salamander (13.10) include the mono 2.10.8.1 packages.&lt;br /&gt;
&lt;br /&gt;
==== Ubuntu 10.04 and later ====&lt;br /&gt;
&lt;br /&gt;
In this version, one only needs to install mono-complete - this will pull down all the other required packages as dependencies. Thus, to build:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install mono-complete&lt;br /&gt;
 # [[Download]] opensim&lt;br /&gt;
 cd opensim&lt;br /&gt;
 ./runprebuild.sh&lt;br /&gt;
 xbuild&lt;br /&gt;
&lt;br /&gt;
As of mono 2.6 series, xbuild works well enough to drive a complete build of OpenSimulator. Since xbuild is included within the '''mono-complete''' package on Ubuntu, you don't have to install any additional packages if you don't have any particular reason to prefer nant over xbuild. They are just two different build systems that invoke the same C# compiler based on two different build script formats.&lt;br /&gt;
&lt;br /&gt;
If you do want to build using nant, then you will need to install the '''nant''' apt-get package and execute&lt;br /&gt;
&lt;br /&gt;
 nant&lt;br /&gt;
&lt;br /&gt;
instead of&lt;br /&gt;
&lt;br /&gt;
 xbuild&lt;br /&gt;
&lt;br /&gt;
after ./runprebuild.sh&lt;br /&gt;
&lt;br /&gt;
'''OPTIONAL (for developers):''' To run the regression test suite, you will also need to install nunit-console, like so&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install nunit-console&lt;br /&gt;
 nant test&lt;br /&gt;
&lt;br /&gt;
{{anchor|CentOS}}{{anchor|RedHat}}{{anchor|RHEL}}{{anchor|Fedora}}&lt;br /&gt;
&lt;br /&gt;
=== Debian ===&lt;br /&gt;
&lt;br /&gt;
Debian 4 (Etch) is no longer supported by debian.org. Update at least to 5 (Lenny) before running OpenSimulator. See [http://www.debian.org/releases/lenny/i386/release-notes/ch-upgrading.html Upgrades from previous release@debian.org] for detail.&lt;br /&gt;
&lt;br /&gt;
For Debian 5 (Lenny) or later, just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo aptitude install nant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
before run runprebuild.sh and nant. You can even use apt-get instead of aptitude. They both will also install dependent packages.&lt;br /&gt;
&lt;br /&gt;
Tested on Debian 5 &amp;quot;Lenny&amp;quot; ''oldstable'', Debian 6 &amp;quot;Squeeze&amp;quot; ''stable'' and Debian 7 &amp;quot;Wheezy&amp;quot; ''testing''.&lt;br /&gt;
&lt;br /&gt;
===  Fedora ===&lt;br /&gt;
&lt;br /&gt;
After getting run your OpenSimulator binary distributions, you'll need to get mono development library and install nant to build OpenSimulator from the source. See both sections below.&lt;br /&gt;
&lt;br /&gt;
==== Getting Mono Libraries ====&lt;br /&gt;
&lt;br /&gt;
If you have installed mono packages from the core repository for your distributions [[Dependencies#RedHat|when you run OpenSim.exe binary distribusion]], just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo yum install mono-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If not, just type (given that [[Dependencies#Installing from Mono Repository|you have already set up yum repository for mono]]) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo yum install mono-addon-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both command will install its dependencies as well.&lt;br /&gt;
&lt;br /&gt;
==== Installing NAnt ====&lt;br /&gt;
&lt;br /&gt;
Run &amp;quot;yum info nant&amp;quot; to check the version of nant package. If you find the package, then just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo yum install nant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can now run nant out-of-the-box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you can't find nant package in yum repository, or you feel its version is too early for building OpenSimulator, obtain NAnt from [http://nant.sourceforge.net/ NAnt Project Site]. See User Manual there for detailed instruction. As of 0.90, you will need to create startup script like that (given you have expanded NAnt to /usr/local/nant) :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo vi /usr/bin/nant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then inside this file :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
exec mono /usr/local/nant/bin/NAnt.exe &amp;quot;$@&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After that, make it executable :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/bin/nant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now run runprebuild.sh and nant to compile OpenSimulator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  CentOS, Redhat ===&lt;br /&gt;
&lt;br /&gt;
==== Install EPEL Repo ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm&lt;br /&gt;
rpm -Uvh epel-release-6-8.noarch.rpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Pre-required Package for Mono and GID+ ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum install bison gettext glib2 freetype fontconfig libpng libpng-devel libX11 \&lt;br /&gt;
libX11-devel glib2-devel libgdi* libexif glibc-devel urw-fonts \&lt;br /&gt;
unzip gcc gcc-c++ automake autoconf \ &lt;br /&gt;
libtool make bzip2 wget  pixman-devel \ &lt;br /&gt;
fontconfig-devel freetype-devel libexif-devel \&lt;br /&gt;
libjpeg-devel libtiff-devel  giflib-devel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Mono compilation ====&lt;br /&gt;
&lt;br /&gt;
ps: -j 2 equal number of processor (or core)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://download.mono-project.com/sources/mono/mono-3.0.4.tar.bz2&lt;br /&gt;
tar -jxvf mono-3.0.4.tar.bz2&lt;br /&gt;
cd mono-3.0.4&lt;br /&gt;
./configure --libdir=/usr/lib64&lt;br /&gt;
make -j 2 &lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Install GID+ ====&lt;br /&gt;
ps: -j 2 equal number of processor (or core)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr/local/src&lt;br /&gt;
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.9.tar.bz2&lt;br /&gt;
tar -xvjf libgdiplus-2.10.9.tar.bz2&lt;br /&gt;
cd libgdiplus-2.10.9&lt;br /&gt;
./configure&lt;br /&gt;
make -j2 &lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== openSUSE ===&lt;br /&gt;
&lt;br /&gt;
Just type:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo zypper install nant&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
before run runprebuild.sh and nant. It will also install dependent packages.&lt;br /&gt;
&lt;br /&gt;
== FreeBSD ==&lt;br /&gt;
&lt;br /&gt;
FreeBSD is not currently a supported platform for OpenSimulator.  However, it is possible to get OpenSimulator running on FreeBSD.&lt;br /&gt;
&lt;br /&gt;
On FreeBSD 6.2 and later&lt;br /&gt;
&lt;br /&gt;
 su&lt;br /&gt;
 cd /usr/ports/devel/subversion/ &amp;amp;&amp;amp; make install clean (you may also need to rebuild apr-svn if this step fails)&lt;br /&gt;
 cd /usr/ports/lang/mono/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /usr/ports/devel/nant/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /usr/ports/databases/sqlite3/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /usr/ports/x11-toolkits/libgdiplus/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /opensim/installation/directory/&lt;br /&gt;
 [[Download]] opensim&lt;br /&gt;
 cd opensim&lt;br /&gt;
 ./runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
&lt;br /&gt;
If you get &amp;quot;System.DllNotFoundException: libopenjpeg&amp;quot; errors, follow one of these fixes (depending of the lib appearing in the error message):&lt;br /&gt;
* [[Troubleshooting#System.DllNotFoundException:_lib32.2Flibopenjpeg-dotnet-2.1.3.0-dotnet-1-i686|libopenjpeg-mono]]&lt;br /&gt;
* [[Troubleshooting#System.DllNotFoundException:_..2Flibopenjpeg-libsl-2.1.2.0.so|libopenjpeg-libsl]]&lt;br /&gt;
&lt;br /&gt;
For ODE Physics you must do the following:&lt;br /&gt;
 cd /usr/ports/graphics/libGL/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /usr/ports/graphics/libGLU/ &amp;amp;&amp;amp; make install clean&lt;br /&gt;
 cd /opensim/installation/directory/&lt;br /&gt;
 git clone git://opensimulator.org/git/opensim-libs&lt;br /&gt;
 cd opensim-libs/trunk/unmanaged/OpenDynamicsEngine-r1755&lt;br /&gt;
 sh autogen.sh&lt;br /&gt;
 ./configure --enable-shared --enable-release --disable-demos --without-x --enable-old-trimesh&lt;br /&gt;
 make&lt;br /&gt;
 cp ./ode/src/.libs/libode.so /opensim/installation/directory/opensim/bin/libode.so (32 bit)&lt;br /&gt;
 cp ./ode/src/.libs/libode.so /opensim/installation/directory/opensim/bin/libode-x86_64.so (64 bit)&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
See [[Configuration]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
[[Category:Getting Started]]&lt;/div&gt;</summary>
		<author><name>Amitgoel</name></author>	</entry>

	</feed>