<?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=Metaphorz</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=Metaphorz"/>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Special:Contributions/Metaphorz"/>
		<updated>2026-05-09T15:00:37Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.9</generator>

	<entry>
		<id>http://opensimulator.org/wiki/Building_a_bot</id>
		<title>Building a bot</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Building_a_bot"/>
				<updated>2009-12-08T14:55:53Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Template:Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
[[image:MyPetBot.png|220px|left|thumb|MyPetBot]]&lt;br /&gt;
&lt;br /&gt;
Bots, or Non-Player Characters (NPCs), represent instances where, instead&lt;br /&gt;
of a user controlling an agent represented as an avatar in-world, a program&lt;br /&gt;
controls the agent. This facility allows one to program humanoid figures for&lt;br /&gt;
a variety of tasks. There are two ways that bots can be coded: on a client&lt;br /&gt;
or on the server where opensim is running. This tutorial covers only the&lt;br /&gt;
former case: running code on the client, which coincidentally may be the&lt;br /&gt;
same computer where the server is located.&lt;br /&gt;
&lt;br /&gt;
The following example is called &amp;quot;MyPetBot&amp;quot; and by building this source, and&lt;br /&gt;
running the resulting bin\MyPetBot executable that results in the bot logging&lt;br /&gt;
into the world, and then proceeding to follow whatever avatar is specified&lt;br /&gt;
inside the code.&lt;br /&gt;
&lt;br /&gt;
A short video is shown [http://www.youtube.com/watch?v=TUmC0jeIYZo here]&lt;br /&gt;
To build your pet bot, you will need to copy the following code and make&lt;br /&gt;
sure to edit the following parts:&lt;br /&gt;
&lt;br /&gt;
# In your C# solution, include the missing references&lt;br /&gt;
# Enter the first name, last name, and password of the agent that will serve as a bot&lt;br /&gt;
# Specify the start location (X,Y,Z) for the bot&lt;br /&gt;
# Specify your region server&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Need to add the following References if using VC# 2008:&lt;br /&gt;
// OpenMetaverse, OpenMetaverseTypes, System&lt;br /&gt;
// These can be found in your opensim\bin folder&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using OpenMetaverse;&lt;br /&gt;
namespace MyPetBot&lt;br /&gt;
{&lt;br /&gt;
    class MyPetBot&lt;br /&gt;
    {&lt;br /&gt;
        public static GridClient client = new GridClient();&lt;br /&gt;
        // Enter the name of the agent that you wish to treat&lt;br /&gt;
        // as a bot. For example&amp;quot; Test User&amp;quot;&lt;br /&gt;
        // Also enter the login password for this agent&lt;br /&gt;
        private static string first_name = &amp;quot;Test&amp;quot;;&lt;br /&gt;
        private static string last_name = &amp;quot;User&amp;quot;;&lt;br /&gt;
        private static string password = &amp;quot;test&amp;quot;;&lt;br /&gt;
        // Specify where the bot is to be logged in&lt;br /&gt;
        public static Vector3 startLoc = new Vector3(128, 128, 22);&lt;br /&gt;
        public static Vector3 pos = new Vector3();&lt;br /&gt;
        public static int turn_count = 0;&lt;br /&gt;
        // How far, in meters, the target AV can go before we start moving&lt;br /&gt;
        private static float followDistance = 3; &lt;br /&gt;
        // A boolean switch to enable or disable following&lt;br /&gt;
        public static bool followon = false; &lt;br /&gt;
        // This is the name of the agent to follow&lt;br /&gt;
        public static string followName = &amp;quot;FirstName LastName&amp;quot;;&lt;br /&gt;
        public static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            // Enter the region name where the bot will log in&lt;br /&gt;
            string startLocation = NetworkManager.StartLocation(&amp;quot;Your Region&amp;quot;, &lt;br /&gt;
                 (int) startLoc.X,(int) startLoc.Y,(int) startLoc.Z);&lt;br /&gt;
             client.Network.OnConnected += new NetworkManager.ConnectedCallback(Network_OnConnected);&lt;br /&gt;
            client.Settings.LOGIN_SERVER = &amp;quot;http://yourserver:port/&amp;quot;;&lt;br /&gt;
            string[] pointAtt = new string[8];&lt;br /&gt;
            if (client.Network.Login(first_name, last_name, password, &amp;quot;My First Bot&amp;quot;, startLocation, &amp;quot;Your name&amp;quot;)) &lt;br /&gt;
            {&lt;br /&gt;
                client.Network.OnConnected += new NetworkManager.ConnectedCallback(Network_OnConnected);&lt;br /&gt;
                Console.WriteLine(&amp;quot;Bot Login Message: &amp;quot; + client.Network.LoginMessage);&lt;br /&gt;
                client.Appearance.SetPreviousAppearance(false);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        public static void Objects_OnObjectUpdated(Simulator simulator, ObjectUpdate update, &lt;br /&gt;
                           ulong regionHandle, ushort timeDilation)&lt;br /&gt;
        {&lt;br /&gt;
            if (followon == true) //Check to make sure we need to be following&lt;br /&gt;
            {&lt;br /&gt;
                //Exit this event if it's not an avatar update&lt;br /&gt;
                if (!update.Avatar) { return; }&lt;br /&gt;
                Avatar av;&lt;br /&gt;
                client.Network.CurrentSim.ObjectsAvatars.TryGetValue(update.LocalID, out av);&lt;br /&gt;
                if (av == null) return;&lt;br /&gt;
                if (av.Name == followName)&lt;br /&gt;
                {&lt;br /&gt;
                    pos = av.Position;&lt;br /&gt;
                    if (Vector3.Distance(pos, client.Self.SimPosition) &amp;gt; followDistance)&lt;br /&gt;
                    {&lt;br /&gt;
                        int followRegionX = (int)(regionHandle &amp;gt;&amp;gt; 32);&lt;br /&gt;
                        int followRegionY = (int)(regionHandle &amp;amp; 0xFFFFFFFF);&lt;br /&gt;
                        int followRegionZ = (int)(regionHandle);&lt;br /&gt;
                        ulong x = (ulong)(pos.X + followRegionX);&lt;br /&gt;
                        ulong y = (ulong)(pos.Y + followRegionY);&lt;br /&gt;
                        turn_count++;&lt;br /&gt;
                        if (turn_count%10 == 1) client.Self.Movement.TurnToward(pos);&lt;br /&gt;
                        if (pos.Z &amp;gt; 1)&lt;br /&gt;
                        {&lt;br /&gt;
                            client.Self.AutoPilotLocal(Convert.ToInt32(pos.X), &lt;br /&gt;
                                   Convert.ToInt32(pos.Y), pos.Z);&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            client.Self.AutoPilotCancel();&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                    else&lt;br /&gt;
                    {&lt;br /&gt;
                        turn_count = 0;&lt;br /&gt;
                        client.Self.Movement.TurnToward(pos);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        static void Network_OnConnected(object sender)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;The bot is connected&amp;quot;);&lt;br /&gt;
            client.Self.Movement.AlwaysRun = false;&lt;br /&gt;
            System.Threading.Thread.Sleep(3000);&lt;br /&gt;
            followon = true;&lt;br /&gt;
            client.Objects.OnObjectUpdated += new &lt;br /&gt;
                   ObjectManager.ObjectUpdatedCallback(Objects_OnObjectUpdated);&lt;br /&gt;
        }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This tutorial was assisted by [http://www.libsecondlife.org/wiki/Follow_an_avatar Follow An Avatar]&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Building_a_bot</id>
		<title>Building a bot</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Building_a_bot"/>
				<updated>2009-12-08T14:51:13Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Template:Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
[[image:MyPetBot.png|220px|left|thumb|MyPetBot]]&lt;br /&gt;
&lt;br /&gt;
Bots, or Non-Player Characters (NPCs), represent instances where, instead&lt;br /&gt;
of a user controlling an agent represented as an avatar in-world, a program&lt;br /&gt;
controls the agent. This facility allows one to program humanoid figures for&lt;br /&gt;
a variety of tasks. There are two ways that bots can be coded: on a client&lt;br /&gt;
or on the server where opensim is running. This tutorial covers only the&lt;br /&gt;
former case: running code on the client, which coincidentally may be the&lt;br /&gt;
same computer where the server is located.&lt;br /&gt;
&lt;br /&gt;
The following example is called &amp;quot;MyPetBot&amp;quot; and by building this source, and&lt;br /&gt;
running the resulting bin\MyPetBot executable that results in the bot logging&lt;br /&gt;
into the world, and then proceeding to follow whatever avatar is specified&lt;br /&gt;
inside the code.&lt;br /&gt;
&lt;br /&gt;
A short video is shown [http://www.youtube.com/watch?v=TUmC0jeIYZo here]&lt;br /&gt;
To build your pet bot, you will need to copy the following code and make&lt;br /&gt;
sure to edit the following parts:&lt;br /&gt;
&lt;br /&gt;
# In your C# solution, include the missing references&lt;br /&gt;
# Enter the first name, last name, and password of the agent that will serve as a bot&lt;br /&gt;
# Specify the start location (X,Y,Z) for the bot&lt;br /&gt;
# Specify your region server&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Need to add the following References if using VC# 2008:&lt;br /&gt;
// OpenMetaverse, OpenMetaverseTypes, System&lt;br /&gt;
// These can be found in your opensim\bin folder&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using OpenMetaverse;&lt;br /&gt;
namespace MyPetBot&lt;br /&gt;
{&lt;br /&gt;
    class MyPetBot&lt;br /&gt;
    {&lt;br /&gt;
        public static GridClient client = new GridClient();&lt;br /&gt;
        // Enter the name of the agent that you wish to treat&lt;br /&gt;
        // as a bot. For example&amp;quot; Test User&amp;quot;&lt;br /&gt;
        // Also enter the login password for this agent&lt;br /&gt;
        private static string first_name = &amp;quot;Test&amp;quot;;&lt;br /&gt;
        private static string last_name = &amp;quot;User&amp;quot;;&lt;br /&gt;
        private static string password = &amp;quot;test&amp;quot;;&lt;br /&gt;
        // Specify where the bot is to be logged in&lt;br /&gt;
        public static Vector3 startLoc = new Vector3(128, 128, 22);&lt;br /&gt;
        public static Vector3 pos = new Vector3();&lt;br /&gt;
        public static int turn_count = 0;&lt;br /&gt;
        // How far, in meters, the target AV can go before we start moving&lt;br /&gt;
        private static float followDistance = 3; &lt;br /&gt;
        // A boolean switch to enable or disable following&lt;br /&gt;
        public static bool followon = false; &lt;br /&gt;
        // This is the name of the agent to follow&lt;br /&gt;
        public static string followName = &amp;quot;FirstName LastName&amp;quot;;&lt;br /&gt;
        public static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            // Enter the region name where the bot will log in&lt;br /&gt;
            string startLocation = NetworkManager.StartLocation(&amp;quot;Your Region&amp;quot;, &lt;br /&gt;
                 (int) startLoc.X,(int) startLoc.Y,(int) startLoc.Z);&lt;br /&gt;
             client.Network.OnConnected += new NetworkManager.ConnectedCallback(Network_OnConnected);&lt;br /&gt;
            client.Settings.LOGIN_SERVER = &amp;quot;http://yourserver:port/&amp;quot;;&lt;br /&gt;
            string[] pointAtt = new string[8];&lt;br /&gt;
            if (client.Network.Login(first_name, last_name, password, &amp;quot;My First Bot&amp;quot;, startLocation, &lt;br /&gt;
              &amp;quot;Your name&amp;quot;)) client.Network.OnConnected += new &lt;br /&gt;
              NetworkManager.ConnectedCallback(Network_OnConnected);&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine(&amp;quot;Bot Login Message: &amp;quot; + client.Network.LoginMessage);&lt;br /&gt;
                client.Appearance.SetPreviousAppearance(false);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        public static void Objects_OnObjectUpdated(Simulator simulator, ObjectUpdate update, &lt;br /&gt;
                           ulong regionHandle, ushort timeDilation)&lt;br /&gt;
        {&lt;br /&gt;
            if (followon == true) //Check to make sure we need to be following&lt;br /&gt;
            {&lt;br /&gt;
                //Exit this event if it's not an avatar update&lt;br /&gt;
                if (!update.Avatar) { return; }&lt;br /&gt;
                Avatar av;&lt;br /&gt;
                client.Network.CurrentSim.ObjectsAvatars.TryGetValue(update.LocalID, out av);&lt;br /&gt;
                if (av == null) return;&lt;br /&gt;
                if (av.Name == followName)&lt;br /&gt;
                {&lt;br /&gt;
                    pos = av.Position;&lt;br /&gt;
                    if (Vector3.Distance(pos, client.Self.SimPosition) &amp;gt; followDistance)&lt;br /&gt;
                    {&lt;br /&gt;
                        int followRegionX = (int)(regionHandle &amp;gt;&amp;gt; 32);&lt;br /&gt;
                        int followRegionY = (int)(regionHandle &amp;amp; 0xFFFFFFFF);&lt;br /&gt;
                        int followRegionZ = (int)(regionHandle);&lt;br /&gt;
                        ulong x = (ulong)(pos.X + followRegionX);&lt;br /&gt;
                        ulong y = (ulong)(pos.Y + followRegionY);&lt;br /&gt;
                        turn_count++;&lt;br /&gt;
                        if (turn_count%10 == 1) client.Self.Movement.TurnToward(pos);&lt;br /&gt;
                        if (pos.Z &amp;gt; 1)&lt;br /&gt;
                        {&lt;br /&gt;
                            client.Self.AutoPilotLocal(Convert.ToInt32(pos.X), &lt;br /&gt;
                                   Convert.ToInt32(pos.Y), pos.Z);&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            client.Self.AutoPilotCancel();&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                    else&lt;br /&gt;
                    {&lt;br /&gt;
                        turn_count = 0;&lt;br /&gt;
                        client.Self.Movement.TurnToward(pos);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        static void Network_OnConnected(object sender)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;The bot is connected&amp;quot;);&lt;br /&gt;
            client.Self.Movement.AlwaysRun = false;&lt;br /&gt;
            System.Threading.Thread.Sleep(3000);&lt;br /&gt;
            followon = true;&lt;br /&gt;
            client.Objects.OnObjectUpdated += new &lt;br /&gt;
                   ObjectManager.ObjectUpdatedCallback(Objects_OnObjectUpdated);&lt;br /&gt;
        }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This tutorial was assisted by [http://www.libsecondlife.org/wiki/Follow_an_avatar Follow An Avatar]&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-12T22:39:04Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, [http://opensimulator.org/wiki/RealXtend_Viewer_Linux wine] is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Modrex uses the latest subversion (latest build) of OpenSim. Download opensim using svn checkout of the trunk code. This procedure used Microsoft Visual C# 2008. To differentiate the checkout from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\ModularRex\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\ModularRex\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Make sure to copy OpenSim.ini.example to OpenSim.ini. Inside of this new ini file (c:\opensim_modrex\bin\OpenSim.ini), add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. This procedure was based on the latest binary server available. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* The RealXtend viewer can run python scripts. To enable python, first add the following line in the [startup] section of OpenSim.ini:  rex_python=true. Then, you must copy the following two directories: C:\opensim_modrex\opensim\ModularRex\RexParts\RexPython\Resources\Lib and PythonScript to C:\opensim_modrex\bin\ScriptEngines. [http://www.youtube.com/watch?v=vlTE7onElVE&amp;amp;feature=channel_page Here] is an example using a python script that postprocesses the main window rendering with OGRE-based effects.&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. These modules are all prefixed with &amp;quot;ModularRex.&amp;quot;. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Some parts of the LLViewer interface do not yet exist in the RealXtend viewer. This is related to ModRex not allowing the viewer to set or retrieve certain data.&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistent&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works for the most part (some functions are not working yet)&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/User_Documentation</id>
		<title>User Documentation</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/User_Documentation"/>
				<updated>2009-02-12T20:34:04Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: /* Unofficial Hypernauta's Basic Manual */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Quicklinks}}&lt;br /&gt;
&lt;br /&gt;
==Initial Setup==&lt;br /&gt;
* [[Download]] - Download instructions&lt;br /&gt;
* [[Dependencies]] - The other packages you need to install that OpenSim relies upon&lt;br /&gt;
* [[Build Instructions]] - How to build and compile OpenSim from Source&lt;br /&gt;
* [[Configuration]] - How to configure your OpenSim server up and running&lt;br /&gt;
* [[Upgrading]] - How to upgrade your OpenSim version so that you can use your existing data&lt;br /&gt;
* [[Connecting]] - How to connect a compatible viewer to OpenSim&lt;br /&gt;
* [[Troubleshooting]] - How to trouble shoot your OpenSim installation.&lt;br /&gt;
* [[Tips]] - Useful tips from users like you&lt;br /&gt;
* [[FAQ]] - Frequently Asked Questions&lt;br /&gt;
&lt;br /&gt;
==Administrator Guide==&lt;br /&gt;
* [[Server Commands]] - Commands to control OpenSim&lt;br /&gt;
* [[OpenSim Database support]] - Dealing with databases&lt;br /&gt;
* [[Logging]] - Logging in OpenSim&lt;br /&gt;
* [[Custom Libraries]] - Describes how to add custom content to your OpenSim server&lt;br /&gt;
* [[Automating Tasks]] - How to make administrating a walk in the park&lt;br /&gt;
* [[Network Settings]] - NAT, Ports, Services and more...&lt;br /&gt;
* [[Management]] - All about being an effective administrator/moderator&lt;br /&gt;
* [[Performance]] - How to tweak OpenSim's performance&lt;br /&gt;
* [[Console-less OpenSim]] - How to run OpenSim without console&lt;br /&gt;
&lt;br /&gt;
==Core Facilities==&lt;br /&gt;
* [[OpenSim Archives]] - Loading and saving whole region archives with OpenSim&lt;br /&gt;
* [[IRCBridgeModule]] - A core OpenSim module for integrating IRC with a simulator.&lt;br /&gt;
* [[Hypergrid]] - Information about how to configure the experimental hypergrid architecture&lt;br /&gt;
* [[GridInfo]] - how to provide information about your grid to smart clients&lt;br /&gt;
&lt;br /&gt;
==RealXtend==&lt;br /&gt;
* [[ModRex]] - How to setup the RealXtend server module&lt;br /&gt;
* [[RealXtend Viewer Linux]] - This tutorial describes how to use the RealXtend viewer on Linux, using wine&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
* [[Scripting Documentation]] - Everything you need to know about OpenSim scripting&lt;br /&gt;
* [[Scripting Library]] - A list of example scripts&lt;br /&gt;
&lt;br /&gt;
==Tutorials==&lt;br /&gt;
===Platform specific===&lt;br /&gt;
* [[Linux Gridserver, the ubuntu way]] the quick and dirty way to install opensim under ubuntu (Linux)&lt;br /&gt;
* [[Wiimote]] - How to use a wiimote/nunchuk controller with the OpenSim viewer (Linux)&lt;br /&gt;
* [[Cacti]] - Generate Serverstats using the Cacti-Tool and SNMP (Linux)&lt;br /&gt;
* [http://sunredbeach.com/dokuwiki/doku.php?id=opensim:minimal-server Installing an openSUSE 11.1 Minimal server setup for an OpenSim server] - Quick and Dirty setup on an openSUSE 11.1 server&lt;br /&gt;
&lt;br /&gt;
* [http://chapter-and-metaverse.blogspot.com Chapter &amp;amp; Metaverse] - Full suite of tutorials, tips and tricks, for the Windows user (Windows)&lt;br /&gt;
&lt;br /&gt;
===Cross-platform===&lt;br /&gt;
* [[OSGrid Region Registration]] - Describes how to link your region into OS-Grid&lt;br /&gt;
* [[Hints &amp;amp; Tricks]] - A page for Hints and Tricks&lt;br /&gt;
* [[Getting Started with Region Modules]] - The Hello World of OpenSim application development&lt;br /&gt;
* [[Building a bot]] - Getting started with bot design using libomv from the client side.&lt;br /&gt;
* [[pCampBot]] - Physical OpenSim bots&lt;br /&gt;
* [[Using L3DT]] - How to create custom terrains&lt;br /&gt;
* [[Detailed cross-region terrain making]] - A workflow for creating large cross-region custom terrains&lt;br /&gt;
* [http://update.multiverse.net/wiki/index.php/About_Terrain How to make a good Terrain (includes 4 programs to use)]&lt;br /&gt;
&lt;br /&gt;
==Gforge Projects==&lt;br /&gt;
* [[OpenSimSearch]] - Search for your OpenSim&lt;br /&gt;
* [[Linux Gridserver]] - Linux Gridserver using the Moo tool&lt;br /&gt;
* [[Wixtd|WiXTD]] - Setup and usage of the WiXTD metaverse-portal&lt;br /&gt;
* [[ServerStats]] - RRD/Proc serverstats using the OpenSim module for Berlios Serverstats (Linux)&lt;br /&gt;
&lt;br /&gt;
==Unofficial Hypernauta's Basic Manual==&lt;br /&gt;
* If you are a real beginner it can be for you. Talking about &amp;quot;personal&amp;quot; worlds created using domestic computers. [http://www.dmu.com/opensime LINK]&lt;br /&gt;
&lt;br /&gt;
==Contribution Policy==&lt;br /&gt;
* [[User_Wiki_Conventions|User Wiki Conventions]] - Read this carefully, before adding content to the wiki&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Users]]&lt;br /&gt;
&amp;lt;cleanpage title=hide cats=hide /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-12T20:30:01Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, [http://opensimulator.org/wiki/RealXtend_Viewer_Linux wine] is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Modrex uses the latest subversion (latest build) of OpenSim. Download opensim using svn checkout of the trunk code. This procedure used Microsoft Visual C# 2008. To differentiate the checkout from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\ModularRex\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\ModularRex\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Make sure to copy OpenSim.ini.example to OpenSim.ini. Inside of this new ini file (c:\opensim_modrex\bin\OpenSim.ini), add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. This procedure was based on the latest binary server available. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* The RealXtend viewer can run python scripts. To enable python, first add the following line in the [startup] section of OpenSim.ini:  rex_python=true. Then, you must copy the following two directories: C:\opensim_modrex\opensim\ModularRex\RexParts\RexPython\Resources\Lib and PythonScript to C:\opensim_modrex\bin\ScriptEngines&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. These modules are all prefixed with &amp;quot;ModularRex.&amp;quot;. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Some parts of the LLViewer interface do not yet exist in the RealXtend viewer. This is related to ModRex not allowing the viewer to set or retrieve certain data.&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistent&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works for the most part (some functions are not working yet)&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-12T20:24:39Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: /* Recent Fixes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Modrex uses the latest subversion (latest build) of OpenSim. Download opensim using svn checkout of the trunk code. This procedure used Microsoft Visual C# 2008. To differentiate the checkout from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\ModularRex\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\ModularRex\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Make sure to copy OpenSim.ini.example to OpenSim.ini. Inside of this new ini file (c:\opensim_modrex\bin\OpenSim.ini), add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. This procedure was based on the latest binary server available. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* The RealXtend viewer can run python scripts. To enable python, first add the following line in the [startup] section of OpenSim.ini:  rex_python=true. Then, you must copy the following two directories: C:\opensim_modrex\opensim\ModularRex\RexParts\RexPython\Resources\Lib and PythonScript to C:\opensim_modrex\bin\ScriptEngines&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. These modules are all prefixed with &amp;quot;ModularRex.&amp;quot;. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Some parts of the LLViewer interface do not yet exist in the RealXtend viewer. This is related to ModRex not allowing the viewer to set or retrieve certain data.&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistent&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works for the most part (some functions are not working yet)&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-12T20:22:42Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: /* Recent Fixes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Modrex uses the latest subversion (latest build) of OpenSim. Download opensim using svn checkout of the trunk code. This procedure used Microsoft Visual C# 2008. To differentiate the checkout from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\ModularRex\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\ModularRex\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Make sure to copy OpenSim.ini.example to OpenSim.ini. Inside of this new ini file (c:\opensim_modrex\bin\OpenSim.ini), add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. This procedure was based on the latest binary server available. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* The RealXtend viewer can run python scripts. To enable python, first add the following line in the [startup] section of OpenSim.ini:  rex_python=true. Then, you must copy the following two directories: C:\opensim_modrex\opensim\ModularRex\RexParts\RexPython\Resources\Lib and PythonScript to C:\opensim_modrex\bin\ScriptEngines&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. These modules are all prefixed with &amp;quot;ModularRex.&amp;quot;. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Some parts of the LLViewer interface do not yet exist in the RealXtend viewer. This is related to ModRex not allowing the viewer to set or retrieve certain data.&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistent&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RealXtend</id>
		<title>RealXtend</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RealXtend"/>
				<updated>2009-02-12T20:17:39Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RealXtend is a partnership company formed from ADMINO and LudoCraft, two Finnish companies. They have developed an improved version of the Second Life(tm) viewer which can be downloaded [http://www.realxtend.org here]. Information on how to connect the RealXtend viewer is defined by the [http://opensimulator.org/wiki/ModRex ModRex] interface.&lt;br /&gt;
&lt;br /&gt;
The viewer for Windows is prebuilt. [http://opensimulator.org/wiki/RealXtend_Viewer_Linux Here] are instructions for running RealXtend in Wine if using Linux.&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-12T19:47:09Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: /* Known Quirks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Modrex uses the latest subversion (latest build) of OpenSim. Download opensim using svn checkout of the trunk code. This procedure used Microsoft Visual C# 2008. To differentiate the checkout from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\ModularRex\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\ModularRex\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Make sure to copy OpenSim.ini.example to OpenSim.ini. Inside of this new ini file (c:\opensim_modrex\bin\OpenSim.ini), add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. This procedure was based on the latest binary server available. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* The RealXtend viewer can run python scripts. To enable python, first add the following line in the [startup] section of OpenSim.ini:  rex_python=true. Then, you must copy the following two directories: C:\opensim_modrex\opensim\ModularRex\RexParts\RexPython\Resources\Lib and PythonScript to C:\opensim_modrex\bin\ScriptEngines&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. These modules are all prefixed with &amp;quot;ModularRex.&amp;quot;. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Some parts of the LLViewer interface do not yet exist in the RealXtend viewer. This is related to ModRex not allowing the viewer to set or retrieve certain data.&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RealXtend</id>
		<title>RealXtend</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RealXtend"/>
				<updated>2009-02-12T19:44:24Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RealXtend is a partnership company formed from ADMINO and LudoCraft, two Finnish companies. They have developed an improved version of the Second Life(tm) viewer which can be downloaded [http://www.realxtend.org here]. Information on how to connect the RealXtend viewer &lt;br /&gt;
for [http://opensimulator.org/wiki/ModRex ModRex] (the interface between the viewer and opensim). The viewer for Windows is prebuilt. [http://opensimulator.org/wiki/RealXtend_Viewer_Linux Here] are instructions for running RealXtend in Wine if using Linux.&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/RealXtend</id>
		<title>RealXtend</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/RealXtend"/>
				<updated>2009-02-12T19:43:03Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;RealXtend is a partnership company formed from ADMINO and LudoCraft, two Finnish companies. They have developed an improved version of the Second Life(tm) viewer which can be downloaded [http://www.realxtend.org here]. Information on how to connect the RealXtend viewer &lt;br /&gt;
for [http://opensimulator.org/wiki/ModRex ModRex] (the interface between the viewer and opensim). The viewer for Windows is prebuilt. [http://opensimulator.org/wiki/Linux Here] are instructions for running RealXtend in Wine if using Linux.&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-12T19:01:43Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Modrex uses the latest subversion (latest build) of OpenSim. Download opensim using svn checkout of the trunk code. This procedure used Microsoft Visual C# 2008. To differentiate the checkout from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\ModularRex\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\ModularRex\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Make sure to copy OpenSim.ini.example to OpenSim.ini. Inside of this new ini file (c:\opensim_modrex\bin\OpenSim.ini), add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. This procedure was based on the latest binary server available. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* The RealXtend viewer can run python scripts. To enable python, first add the following line in the [startup] section of OpenSim.ini:  rex_python=true. Then, you must copy the following two directories: C:\opensim_modrex\opensim\ModularRex\RexParts\RexPython\Resources\Lib and PythonScript to C:\opensim_modrex\bin\ScriptEngines&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. These modules are all prefixed with &amp;quot;ModularRex.&amp;quot;. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-12T19:00:25Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Modrex uses the latest subversion (latest build) of OpenSim. Download opensim using svn checkout of the trunk code. This procedure used Microsoft Visual C# 2008. To differentiate the checkout from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\ModularRex\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\ModularRex\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Make sure to copy OpenSim.ini.example to OpenSim.ini. Inside of this new ini file (c:\opensim_modrex\bin\OpenSim.ini), add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. This procedure was based on the latest binary server available. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* The RealXtend viewer can run python scripts. To enable python, first add the following line in the [startup] section of OpenSim.ini:  rex_python=true. Then, you must copy the following two directories: C:\opensim_modrex\opensim\ModularRex\RexParts\RexPython\Resources\Lib and PythonScript to C:\opensim_modrex\bin\ScriptEngines&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. These modules are all prefixed with &amp;quot;ModularReX..&amp;quot;. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-12T18:58:47Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Modrex uses the latest subversion (latest build) of OpenSim. Download opensim using svn checkout of the trunk code. This procedure used Microsoft Visual C# 2008. To differentiate the checkout from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\ModularRex\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\ModularRex\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Make sure to copy OpenSim.ini.example to OpenSim.ini. Inside of this new ini file (c:\opensim_modrex\bin\OpenSim.ini), add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. This procedure was based on the latest binary server available. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* The RealXtend viewer can run python scripts. To enable python, first add the following line in the [startup] section of OpenSim.ini:  rex_python=true. Then, you must copy the following two directories: C:\opensim_modrex\opensim\ModularRex\RexParts\RexPython\Resources\Lib and PythonScript to C:\opensim_modrex\bin\ScriptEngines&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-12T18:54:47Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Modrex uses the latest subversion (latest build) of OpenSim. Download opensim using svn checkout of the trunk code. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\ModularRex\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\ModularRex\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Make sure to copy OpenSim.ini.example to OpenSim.ini. Inside of this new ini file (c:\opensim_modrex\bin\OpenSim.ini), add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. This procedure was based on the latest binary server available. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* The RealXtend viewer can run python scripts. To enable python, first add the following line in the [startup] section of OpenSim.ini:  rex_python=true. Then, you must copy the following two directories: C:\opensim_modrex\opensim\ModularRex\RexParts\RexPython\Resources\Lib and PythonScript to C:\opensim_modrex\bin\ScriptEngines&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-11T23:08:47Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\ModularRex\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\ModularRex\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Make sure to copy OpenSim.ini.example to OpenSim.ini. Inside of this new ini file (c:\opensim_modrex\bin\OpenSim.ini), add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. This procedure was based on the latest binary server available. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* The RealXtend viewer can run python scripts. To enable python, first add the following line in the [startup] section of OpenSim.ini:  rex_python=true. Then, you must copy the following two directories: C:\opensim_modrex\opensim\ModularRex\RexParts\RexPython\Resources\Lib and PythonScript to C:\opensim_modrex\bin\ScriptEngines&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-11T23:07:10Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\ModularRex\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\ModularRex\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Make sure to copy OpenSim.ini.example to OpenSim.ini. Inside of this new ini file (c:\opensim_modrex\bin\OpenSim.ini), add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. This procedure was based on the latest server available. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* The RealXtend viewer can run python scripts. To enable python, first add the following line in the [startup] section of OpenSim.ini:  rex_python=true. Then, you must copy the following two directories: C:\opensim_modrex\opensim\ModularRex\RexParts\RexPython\Resources\Lib and PythonScript to C:\opensim_modrex\bin\ScriptEngines&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-11T23:06:50Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\ModularRex\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\ModularRex\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Make sure to copy OpenSim.ini.example to OpenSim.ini. Inside of this new ini file (c:\opensim_modrex\bin\OpenSim.ini), add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here].&lt;br /&gt;
This procedure was based on the latest server available. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* The RealXtend viewer can run python scripts. To enable python, first add the following line in the [startup] section of OpenSim.ini:  rex_python=true. Then, you must copy the following two directories: C:\opensim_modrex\opensim\ModularRex\RexParts\RexPython\Resources\Lib and PythonScript to C:\opensim_modrex\bin\ScriptEngines&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-11T20:58:57Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* The RealXtend viewer can run python scripts. To enable python, first add the following line in the [startup] section of OpenSim.ini:  rex_python=true. Then, you must copy the following two directories: C:\opensim_modrex\opensim\ModularRex\RexParts\RexPython\Resources\Lib and PythonScript to C:\opensim_modrex\bin\ScriptEngines&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-11T20:57:50Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* the RealXtend viewer can run python scripts. To enable python, first add the following line in the [startup] section of OpenSim.ini:  rex_python=true. Then, you must copy the following two directories: C:\opensim_modrex\opensim\ModularRex\RexParts\RexPython\Resources\Lib and PythonScript to C:\opensim_modrex\bin\ScriptEngines&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-11T20:57:08Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* the RealXtend viewer can run python scripts. To enable python, first add the&lt;br /&gt;
following line in the [startup] section of OpenSim.ini:  rex_python=true. Then, you&lt;br /&gt;
must copy the following two directories: C:\opensim_modrex\opensim\ModularRex\RexParts\RexPython\Resources\Lib and PythonScript&lt;br /&gt;
to C:\opensim_modrex\bin\ScriptEngines&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T17:42:06Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, you will not be able to visit regions other than home&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:57:13Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim. Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:55:51Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules especially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim). Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:43:05Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim). Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:42:39Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer employs the open source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim). Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:42:16Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim). Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:39:09Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim). Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
* If you ever wish to use the LLviewer on the region you have created, temporarily move the RealXtend region modules under C:\opensim_modrex\bin out of there, and launch LLviewer. Move the region modules back to continue with the RealXtend viewer. Note that RealXtend-specific artifacts (mesh, shadows) will not appear in LLviewer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more&lt;br /&gt;
than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:36:44Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim). Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The  authentication server and avatar storage servers are .exe files located in the primary server download. Do not run the server, only Authentication and Avatar Storage. Use the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more&lt;br /&gt;
than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:36:15Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim). Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The  authentication server and avatar storage servers are .exe files located in the primary&lt;br /&gt;
server download. Do not run the server, only Authentication and Avatar Storage. Use&lt;br /&gt;
the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more&lt;br /&gt;
than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:35:40Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex requires authentication and avatar storage to be run separately in addition to opensim). Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the&lt;br /&gt;
Avatar Storage server, and finally to (3) run opensim. The server is located in the general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The authentication server and avatar storage servers are .exe files located in the primary&lt;br /&gt;
server download. Do not run the server, only Authentication and Avatar Storage. Use&lt;br /&gt;
the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot; entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats and Bugs are located below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more&lt;br /&gt;
than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:33:09Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex), ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex&lt;br /&gt;
requires authentication and avatar storage to be run separately in addition to opensim).&lt;br /&gt;
Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the&lt;br /&gt;
Avatar Storage server, and finally to (3) run opensim. The server is located in the&lt;br /&gt;
general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The authentication server and avatar storage servers are .exe files located in the primary&lt;br /&gt;
server download. Do not run the server, only Authentication and Avatar Storage. Use&lt;br /&gt;
the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules&lt;br /&gt;
inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your&lt;br /&gt;
username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If&lt;br /&gt;
the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot;&lt;br /&gt;
entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your&lt;br /&gt;
server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats&lt;br /&gt;
and Bugs are located below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more&lt;br /&gt;
than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:31:40Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation&lt;br /&gt;
stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into&lt;br /&gt;
this folder. Modrex is obtained using a version of svn, such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex. You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the revision of modrex after all files have been downloaded, just for reference in case you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that&lt;br /&gt;
is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex),&lt;br /&gt;
ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and&lt;br /&gt;
ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will&lt;br /&gt;
add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex&lt;br /&gt;
requires authentication and avatar storage to be run separately in addition to opensim).&lt;br /&gt;
Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the&lt;br /&gt;
Avatar Storage server, and finally to (3) run opensim. The server is located in the&lt;br /&gt;
general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The authentication server and avatar storage servers are .exe files located in the primary&lt;br /&gt;
server download. Do not run the server, only Authentication and Avatar Storage. Use&lt;br /&gt;
the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules&lt;br /&gt;
inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your&lt;br /&gt;
username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If&lt;br /&gt;
the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot;&lt;br /&gt;
entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your&lt;br /&gt;
server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats&lt;br /&gt;
and Bugs are located below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more&lt;br /&gt;
than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:30:27Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation&lt;br /&gt;
stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can&lt;br /&gt;
view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into&lt;br /&gt;
this folder. Modrex is obtained using a version of svn,&lt;br /&gt;
such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex.&lt;br /&gt;
You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the&lt;br /&gt;
revision of modrex after all files have been downloaded, just for reference in case&lt;br /&gt;
you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that&lt;br /&gt;
is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex),&lt;br /&gt;
ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and&lt;br /&gt;
ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will&lt;br /&gt;
add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex&lt;br /&gt;
requires authentication and avatar storage to be run separately in addition to opensim).&lt;br /&gt;
Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the&lt;br /&gt;
Avatar Storage server, and finally to (3) run opensim. The server is located in the&lt;br /&gt;
general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The authentication server and avatar storage servers are .exe files located in the primary&lt;br /&gt;
server download. Do not run the server, only Authentication and Avatar Storage. Use&lt;br /&gt;
the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules&lt;br /&gt;
inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your&lt;br /&gt;
username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If&lt;br /&gt;
the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot;&lt;br /&gt;
entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your&lt;br /&gt;
server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats&lt;br /&gt;
and Bugs are located below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more&lt;br /&gt;
than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:27:58Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use ModRex, you need the following: (1) The RealXtend viewer, (2) ModRex, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
* [http://www.cybertechnews.org/ Cybertech News --realxtend related information]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation&lt;br /&gt;
stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can&lt;br /&gt;
view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into&lt;br /&gt;
this folder. Modrex is obtained using a version of svn,&lt;br /&gt;
such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex.&lt;br /&gt;
You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the&lt;br /&gt;
revision of modrex after all files have been downloaded, just for reference in case&lt;br /&gt;
you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that&lt;br /&gt;
is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex),&lt;br /&gt;
ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and&lt;br /&gt;
ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will&lt;br /&gt;
add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex&lt;br /&gt;
requires authentication and avatar storage to be run separately in addition to opensim).&lt;br /&gt;
Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the&lt;br /&gt;
Avatar Storage server, and finally to (3) run opensim. The server is located in the&lt;br /&gt;
general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The authentication server and avatar storage servers are .exe files located in the primary&lt;br /&gt;
server download. Do not run the server, only Authentication and Avatar Storage. Use&lt;br /&gt;
the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules&lt;br /&gt;
inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your&lt;br /&gt;
username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If&lt;br /&gt;
the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot;&lt;br /&gt;
entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your&lt;br /&gt;
server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats&lt;br /&gt;
and Bugs are located below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more&lt;br /&gt;
than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:26:28Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use modrex, you need the following: (1) The RealXtend viewer, (2) ModReX, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ gforge source area]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
* [http://www.cybertechnews.org/ Cybertech News --realxtend related information]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation&lt;br /&gt;
stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can&lt;br /&gt;
view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into&lt;br /&gt;
this folder. Modrex is obtained using a version of svn,&lt;br /&gt;
such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex.&lt;br /&gt;
You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the&lt;br /&gt;
revision of modrex after all files have been downloaded, just for reference in case&lt;br /&gt;
you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that&lt;br /&gt;
is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex),&lt;br /&gt;
ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and&lt;br /&gt;
ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will&lt;br /&gt;
add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex&lt;br /&gt;
requires authentication and avatar storage to be run separately in addition to opensim).&lt;br /&gt;
Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the&lt;br /&gt;
Avatar Storage server, and finally to (3) run opensim. The server is located in the&lt;br /&gt;
general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The authentication server and avatar storage servers are .exe files located in the primary&lt;br /&gt;
server download. Do not run the server, only Authentication and Avatar Storage. Use&lt;br /&gt;
the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules&lt;br /&gt;
inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your&lt;br /&gt;
username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If&lt;br /&gt;
the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot;&lt;br /&gt;
entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your&lt;br /&gt;
server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats&lt;br /&gt;
and Bugs are located below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more&lt;br /&gt;
than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:26:15Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use modrex, you need the following: (1) The RealXtend viewer, (2) ModReX, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ gforge source area]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
* [http://www.cybertechnews.org/ Cybertech News --realxtend related information]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation&lt;br /&gt;
stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can&lt;br /&gt;
view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into&lt;br /&gt;
this folder. Modrex is obtained using a version of svn,&lt;br /&gt;
such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex.&lt;br /&gt;
You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the&lt;br /&gt;
revision of modrex after all files have been downloaded, just for reference in case&lt;br /&gt;
you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that&lt;br /&gt;
is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex),&lt;br /&gt;
ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and&lt;br /&gt;
ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will&lt;br /&gt;
add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex&lt;br /&gt;
requires authentication and avatar storage to be run separately in addition to opensim).&lt;br /&gt;
Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the&lt;br /&gt;
Avatar Storage server, and finally to (3) run opensim. The server is located in the&lt;br /&gt;
general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The authentication server and avatar storage servers are .exe files located in the primary&lt;br /&gt;
server download. Do not run the server, only Authentication and Avatar Storage. Use&lt;br /&gt;
the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules&lt;br /&gt;
inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your&lt;br /&gt;
username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If&lt;br /&gt;
the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot;&lt;br /&gt;
entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your&lt;br /&gt;
server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats&lt;br /&gt;
and Bugs are located below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more&lt;br /&gt;
than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:25:57Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use modrex, you need the following: (1) The RealXtend viewer, (2) ModReX, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ gforge source area]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
* [http://www.cybertechnews.org/ Cybertech News --realxtend related information]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation&lt;br /&gt;
stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can&lt;br /&gt;
view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into&lt;br /&gt;
this folder. Modrex is obtained using a version of svn,&lt;br /&gt;
such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex.&lt;br /&gt;
You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the&lt;br /&gt;
revision of modrex after all files have been downloaded, just for reference in case&lt;br /&gt;
you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that&lt;br /&gt;
is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex),&lt;br /&gt;
ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and&lt;br /&gt;
ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will&lt;br /&gt;
add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex&lt;br /&gt;
requires authentication and avatar storage to be run separately in addition to opensim).&lt;br /&gt;
Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the&lt;br /&gt;
Avatar Storage server, and finally to (3) run opensim. The server is located in the&lt;br /&gt;
general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The authentication server and avatar storage servers are .exe files located in the primary&lt;br /&gt;
server download. Do not run the server, only Authentication and Avatar Storage. Use&lt;br /&gt;
the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules&lt;br /&gt;
inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your&lt;br /&gt;
username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If&lt;br /&gt;
the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot;&lt;br /&gt;
entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your&lt;br /&gt;
server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats&lt;br /&gt;
and Bugs are located below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more&lt;br /&gt;
than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:23:51Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
ModRex is important to the OpenSim community mainly because, like the base&lt;br /&gt;
opensim code base itself, the RealXtend viewer is open source and breaks away&lt;br /&gt;
from some of the key contraints imposed by the LLviewer, such as inability to&lt;br /&gt;
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex&lt;br /&gt;
while not part of the viewer, is the glue that connects the viewer to the opensim&lt;br /&gt;
trunk code.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use modrex, you need the following: (1) The RealXtend viewer, (2) ModReX, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ gforge source area]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
* [http://www.cybertechnews.org/ Cybertech News --realxtend related information]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation&lt;br /&gt;
stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can&lt;br /&gt;
view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into&lt;br /&gt;
this folder. Modrex is obtained using a version of svn,&lt;br /&gt;
such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex.&lt;br /&gt;
You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the&lt;br /&gt;
revision of modrex after all files have been downloaded, just for reference in case&lt;br /&gt;
you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that&lt;br /&gt;
is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex),&lt;br /&gt;
ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and&lt;br /&gt;
ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will&lt;br /&gt;
add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex&lt;br /&gt;
requires authentication and avatar storage to be run separately in addition to opensim).&lt;br /&gt;
Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the&lt;br /&gt;
Avatar Storage server, and finally to (3) run opensim. The server is located in the&lt;br /&gt;
general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The authentication server and avatar storage servers are .exe files located in the primary&lt;br /&gt;
server download. Do not run the server, only Authentication and Avatar Storage. Use&lt;br /&gt;
the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules&lt;br /&gt;
inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your&lt;br /&gt;
username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If&lt;br /&gt;
the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot;&lt;br /&gt;
entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your&lt;br /&gt;
server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats&lt;br /&gt;
and Bugs are located below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more&lt;br /&gt;
than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
* Scripts must be entered into Inventory and copied to the prim. In-world editing in the prim's contents doesn't save script.&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:17:20Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use modrex, you need the following: (1) The RealXtend viewer, (2) ModReX, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
Key areas on the web where modrex and RealXtend functionality is documented:&lt;br /&gt;
* [http://forge.opensimulator.org/gf/project/modrex/ gforge source area]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Features_supported_currently ModRex Features/Status]&lt;br /&gt;
* [http://www.realxtend.org Main RealXtend]&lt;br /&gt;
* [http://rexdeveloper.org/wiki/index.php?title=Main_Page Rex Developer]&lt;br /&gt;
* [http://www.cybertechnews.org/ Cybertech News --realxtend related information]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation&lt;br /&gt;
stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can&lt;br /&gt;
view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into&lt;br /&gt;
this folder. Modrex is obtained using a version of svn,&lt;br /&gt;
such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex.&lt;br /&gt;
You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the&lt;br /&gt;
revision of modrex after all files have been downloaded, just for reference in case&lt;br /&gt;
you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that&lt;br /&gt;
is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex),&lt;br /&gt;
ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and&lt;br /&gt;
ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will&lt;br /&gt;
add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex&lt;br /&gt;
requires authentication and avatar storage to be run separately in addition to opensim).&lt;br /&gt;
Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the&lt;br /&gt;
Avatar Storage server, and finally to (3) run opensim. The server is located in the&lt;br /&gt;
general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The authentication server and avatar storage servers are .exe files located in the primary&lt;br /&gt;
server download. Do not run the server, only Authentication and Avatar Storage. Use&lt;br /&gt;
the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules&lt;br /&gt;
inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your&lt;br /&gt;
username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If&lt;br /&gt;
the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot;&lt;br /&gt;
entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your&lt;br /&gt;
server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats&lt;br /&gt;
and Bugs are located below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more&lt;br /&gt;
than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T16:11:18Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use modrex, you need the following: (1) The RealXtend viewer, (2) ModReX, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
* Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation&lt;br /&gt;
stored in C:\opensim_modrex.&lt;br /&gt;
* Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can&lt;br /&gt;
view the region using the LLviewer.&lt;br /&gt;
* Create a new folder such as C:\modrex, and then get the latest version of modrex into&lt;br /&gt;
this folder. Modrex is obtained using a version of svn,&lt;br /&gt;
such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex.&lt;br /&gt;
You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the&lt;br /&gt;
revision of modrex after all files have been downloaded, just for reference in case&lt;br /&gt;
you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
* Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
* Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that&lt;br /&gt;
is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
* Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex),&lt;br /&gt;
ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and&lt;br /&gt;
ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
* Re-build the opensim solution. There should not be any errors. This, in turn, will&lt;br /&gt;
add new region modules specially for the RealXtend viewer/OpenSim connection inside of C:\opensim_modrex\bin.&lt;br /&gt;
* Inside of c:\opensim_region\bin\OpenSim.ini, add the following section: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[realXtend]&lt;br /&gt;
db_connectionstring = &amp;quot;SQLiteDialect;SQLite20Driver;Data Source=RexObjects.db;Version=3&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* We are almost ready to run the viewer, except that the current incarnation of modrex&lt;br /&gt;
requires authentication and avatar storage to be run separately in addition to opensim).&lt;br /&gt;
Therefore, the way to run modrex, is to (1) Start the Authentication server, (2) Start the&lt;br /&gt;
Avatar Storage server, and finally to (3) run opensim. The server is located in the&lt;br /&gt;
general web page as the client viewer [http://realxtend.org/page.php?pg=downloads here]. The authentication server and avatar storage servers are .exe files located in the primary&lt;br /&gt;
server download. Do not run the server, only Authentication and Avatar Storage. Use&lt;br /&gt;
the Authentication window to add new users as required.&lt;br /&gt;
* Launch opensim.exe. This will now run opensim, access the new Modrex region modules&lt;br /&gt;
inside of C:\opensim_modrex\bin, and start up your opensim server.&lt;br /&gt;
* Launch the RealXtend viewer and enter your username, password, and connection. Your&lt;br /&gt;
username, in contrast to Opensim user names, will be one string such as &amp;quot;testuser&amp;quot;. If&lt;br /&gt;
the domain of your server is myserver.com, then you log in as &amp;quot;testuser@myserver.com&amp;quot;&lt;br /&gt;
entered in the &amp;quot;User Name&amp;quot; field. Enter the password. For &amp;quot;Connect To:&amp;quot;, enter  your&lt;br /&gt;
server: myserver.com. Then, press &amp;quot;Connect&amp;quot; in the viewer.&lt;br /&gt;
* You should be inside of your opensim world but using the RealXtend viewer. Caveats&lt;br /&gt;
and Bugs are located below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Important: only one region is currently supported. If your opensim has more&lt;br /&gt;
than one region, the viewer will not function&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions with primitives work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T15:56:19Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use modrex, you need the following: (1) The RealXtend viewer, (2) ModReX, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
The following procedure is used to set up modrex:&lt;br /&gt;
&lt;br /&gt;
1. Download and build the latest version of opensim. To differentiate it from other opensim builds that you may have, call it opensim_modrex, for example. Then, you will remember that this build requires the RealXtend viewer. We'll assume you have your opensim implementation&lt;br /&gt;
stored in C:\opensim_modrex.&lt;br /&gt;
2. Prebuild (i.e., running Prebuild2008) and compile as you would do normally just to make sure that this build of opensim is executing. Start up opensim and make sure that you can&lt;br /&gt;
view the region using the LLviewer.&lt;br /&gt;
3. Create a new folder such as C:\modrex, and then get the latest version of modrex into&lt;br /&gt;
this folder. Modrex is obtained using a version of svn,&lt;br /&gt;
such as TortoiseSVN. The checkout URL is http://forge.opensimulator.org/svn/modrex.&lt;br /&gt;
You will need to enter &amp;quot;anonymous&amp;quot; when asked to check out modrex. Make note of the&lt;br /&gt;
revision of modrex after all files have been downloaded, just for reference in case&lt;br /&gt;
you encounter difficulties and need to report a concern or bug.&lt;br /&gt;
4. Copy the folders located in C:\modrex\trunk to C:\opensim_modrex\opensim&lt;br /&gt;
5. Run the prebuild (if using VC # 2005) or prebuild2008 (if using VC# 2008) that&lt;br /&gt;
is now located  under C:\opensim_modrex\opensim\ModularRex.&lt;br /&gt;
6. Go to your c:\opensim_modrex\bin, launch VC# on the OpenSim solution, and enter 3 projects to the existing OpenSim solution (right-mouse click on the solution name, Add-&amp;gt;Existing Project): ModularRex (found in C:\opensim_modrex\opensim\ModularRex),&lt;br /&gt;
ModularRex.Nhibernate (found in C:\opensim_modrex\opensim\Nhibernate), and&lt;br /&gt;
ModularRex.RexFramework (found in C:\opensim_modrex\opensim\RexFramework).&lt;br /&gt;
7. Re-build the opensim solution. There should not be any errors. This, in turn, will&lt;br /&gt;
add new region modules specially for the RealXtend viewer inside of C:\opensim_modrex\bin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T15:40:03Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX [[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use modrex, you need the following: (1) The RealXtend viewer, (2) ModReX, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T15:38:18Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX:&lt;br /&gt;
[[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]] and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
To use modrex, you need the following: (1) The RealXtend viewer, (2) ModReX, and (3) OpenSim.&lt;br /&gt;
The viewer (1) is downloaded from [http://www.realxtend.org/page.php?pg=downloads here]. Make sure to download the latest viewer and any patches that have been added since that viewer version. They should be located on in the sourceforge page. For Windows, the viewer is run&lt;br /&gt;
directly as an .exe, and for Linux, wine is used to launch the viewer. OpenSim (3) is&lt;br /&gt;
compiled as instructed elsewhere in this wiki (Get OpenSim and Building). The setup&lt;br /&gt;
for ModRex is documented below for Windows and Linux.&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Windows===&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T15:32:42Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX:&lt;br /&gt;
[[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]]&lt;br /&gt;
and a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T15:31:43Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine]&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX:&lt;br /&gt;
[[image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]]&lt;br /&gt;
 &lt;br /&gt;
Here is a [http://www.youtube.com/watch?v=yEXqiv2_kbE&amp;amp;feature=channel_page movie] to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/ModRex</id>
		<title>ModRex</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/ModRex"/>
				<updated>2009-02-10T15:25:49Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
ModRex is a joint effort between RealXtend and OpenSim developers to make it&lt;br /&gt;
possible to join the RealXtend viewer to the OpenSim codebase. The RealXtend&lt;br /&gt;
viewer is based on the opens source [http://www.ogre3d.org OGRE game engine&lt;br /&gt;
and differs from the Linden Lab viewer in several ways. The most distinct&lt;br /&gt;
difference is in the new rendering potential offered by OGRE. When using&lt;br /&gt;
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved&lt;br /&gt;
lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical&lt;br /&gt;
(sub-meshes) and can include a skeleton for defining avatar motion and dynamics.&lt;br /&gt;
&lt;br /&gt;
Here is an image built from using Opensim+ModReX:&lt;br /&gt;
&lt;br /&gt;
[[image:modrex.jpg|250px|thumb|right|ModRex with mesh support, running on Linux]]&lt;br /&gt;
 &lt;br /&gt;
Here is a movie to illustrate some of the mesh and lighting effects in the viewer:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
===Linux===&lt;br /&gt;
 mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds&lt;br /&gt;
 cd /opt/opensim/builds/8218&lt;br /&gt;
 svn co http://opensimulator.org/svn/opensim/trunk . &lt;br /&gt;
 sh runprebuild.sh&lt;br /&gt;
 nant&lt;br /&gt;
 mkdir modrex modrex/build&lt;br /&gt;
 cp -R bin/*.dll modrex/build&lt;br /&gt;
 cd modrex&lt;br /&gt;
 svn checkout http://forge.opensimulator.org/svn/modrex/trunk .&lt;br /&gt;
 cd ModularRex&lt;br /&gt;
 vi prebuild.xml&lt;br /&gt;
* Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit&lt;br /&gt;
 mono ../../bin/Prebuild.exe /target monodev&lt;br /&gt;
* Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp&lt;br /&gt;
* Add existing project &amp;gt; modrex/ModularRex/ModularRex.mdp&lt;br /&gt;
* Change the runtime version for these projects to mono 3.5&lt;br /&gt;
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project&lt;br /&gt;
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects&lt;br /&gt;
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build&lt;br /&gt;
 cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin&lt;br /&gt;
* Copy python-engine dependencies &lt;br /&gt;
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines&lt;br /&gt;
 cd /opt/opensim/builds/8218/bin&lt;br /&gt;
 cp OpenSim.ini.example OpenSim.ini&lt;br /&gt;
* edit OpenSim.ini, and add this:&lt;br /&gt;
 ;This goes under [startup]&lt;br /&gt;
 rex_python = true&lt;br /&gt;
 [realXtend]&lt;br /&gt;
 enabled = true&lt;br /&gt;
 db_connectionstring = &amp;quot;MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;&amp;quot;&lt;br /&gt;
* Copy the modrex enabled OpenSimulator to the production dir&lt;br /&gt;
 cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator&lt;br /&gt;
* Add the [[rex mysql]] tables to the opensim database&lt;br /&gt;
* Download and build the authentication service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication&lt;br /&gt;
 cd /opt/opensim/authentication&lt;br /&gt;
 mono bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a mysql database &amp;quot;authentication&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono Authentication.exe &lt;br /&gt;
* Setup authentication&lt;br /&gt;
 MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine=AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging enabled=False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region x 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(def. region y 1000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(avatarstorageurl 172.16.1.65:10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default gridurl 172.16.1.65:9000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(default dns)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbname authentication)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 *******(dbpw for root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
''The authentication daemon should run by now''&lt;br /&gt;
* Create a user in the authentication screenconsole&lt;br /&gt;
 create user&lt;br /&gt;
&lt;br /&gt;
* Download and build the avatarstorage service&lt;br /&gt;
 svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage&lt;br /&gt;
 cd /opt/opensim/avatarstorage&lt;br /&gt;
 bin/Prebuild.exe /target nant&lt;br /&gt;
 nant&lt;br /&gt;
* Create a database &amp;quot;avatarstorage&amp;quot;&lt;br /&gt;
 cd bin&lt;br /&gt;
 mono AvatarStorage.exe&lt;br /&gt;
* Setup avatarstorage&lt;br /&gt;
 MySql_SqlHandler.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(AuthenticationEngine.dll)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(Inventory True)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(PersonalInventoryService.dll)&lt;br /&gt;
 PersonalInventory.SQLITE.dll&lt;br /&gt;
 &amp;lt;enter&amp;gt;(logging_enabled False)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbserver 127.0.0.1)&lt;br /&gt;
 avatarstorage (dbname)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(dbuser root)&lt;br /&gt;
 ********(dbpw root)&lt;br /&gt;
 172.16.1.65 (httpsettings LAN-IP)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(http port 10000)&lt;br /&gt;
 &amp;lt;enter&amp;gt;(ssl False)&lt;br /&gt;
''The avatarstorage daemon should run by now''&lt;br /&gt;
* You can use this [[rex serverscript]] to manage and start the services(uses screen)&lt;br /&gt;
Most important screen-commands are:&lt;br /&gt;
 screen -list (shows screen sessions)&lt;br /&gt;
 screen -r screenname (attaches to the screensession)&lt;br /&gt;
 ctrl-a + d (detaches from the screensession)&lt;br /&gt;
&lt;br /&gt;
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)&lt;br /&gt;
* Check in the Simulator console if everything started the way it's supposed to&lt;br /&gt;
&lt;br /&gt;
''Once the three services are running, an initial user was made, fire up the realXtend client from wine and login with your credentials.''&lt;br /&gt;
&lt;br /&gt;
==Known Quirks==&lt;br /&gt;
* Shift-copy a mesh leaves a prim behind&lt;br /&gt;
* Avatar is stored, but appearance changes only after viewer restart&lt;br /&gt;
&lt;br /&gt;
==Recent Fixes==&lt;br /&gt;
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant&lt;br /&gt;
* Mesh collisions work&lt;br /&gt;
* Python scripting works&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Building_a_bot</id>
		<title>Building a bot</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Building_a_bot"/>
				<updated>2008-12-18T13:00:09Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:MyPetBot.png|220px|left|thumb|MyPetBot]]&lt;br /&gt;
&lt;br /&gt;
Bots, or Non-Player Characters (NPCs), represent instances where, instead&lt;br /&gt;
of a user controlling an agent represented as an avatar in-world, a program&lt;br /&gt;
controls the agent. This facility allows one to program humanoid figures for&lt;br /&gt;
a variety of tasks. There are two ways that bots can be coded: on a client&lt;br /&gt;
or on the server where opensim is running. This tutorial covers only the&lt;br /&gt;
former case: running code on the client, which coincidentally may be the&lt;br /&gt;
same computer where the server is located.&lt;br /&gt;
&lt;br /&gt;
The following example is called &amp;quot;MyPetBot&amp;quot; and by building this source, and&lt;br /&gt;
running the resulting bin\MyPetBot executable that results in the bot logging&lt;br /&gt;
into the world, and then proceeding to follow whatever avatar is specified&lt;br /&gt;
inside the code.&lt;br /&gt;
&lt;br /&gt;
A short video is shown [http://www.youtube.com/watch?v=TUmC0jeIYZo here]&lt;br /&gt;
To build your pet bot, you will need to copy the following code and make&lt;br /&gt;
sure to edit the following parts:&lt;br /&gt;
&lt;br /&gt;
# In your C# solution, include the missing references&lt;br /&gt;
# Enter the first name, last name, and password of the agent that will serve as a bot&lt;br /&gt;
# Specify the start location (X,Y,Z) for the bot&lt;br /&gt;
# Specify your region server&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Need to add the following References if using VC# 2008:&lt;br /&gt;
// OpenMetaverse, OpenMetaverseTypes, System&lt;br /&gt;
// These can be found in your opensim\bin folder&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using OpenMetaverse;&lt;br /&gt;
namespace MyPetBot&lt;br /&gt;
{&lt;br /&gt;
    class MyPetBot&lt;br /&gt;
    {&lt;br /&gt;
        public static GridClient client = new GridClient();&lt;br /&gt;
        // Enter the name of the agent that you wish to treat&lt;br /&gt;
        // as a bot. For example&amp;quot; Test User&amp;quot;&lt;br /&gt;
        // Also enter the login password for this agent&lt;br /&gt;
        private static string first_name = &amp;quot;Test&amp;quot;;&lt;br /&gt;
        private static string last_name = &amp;quot;User&amp;quot;;&lt;br /&gt;
        private static string password = &amp;quot;test&amp;quot;;&lt;br /&gt;
        // Specify where the bot is to be logged in&lt;br /&gt;
        public static Vector3 startLoc = new Vector3(128, 128, 22);&lt;br /&gt;
        public static Vector3 pos = new Vector3();&lt;br /&gt;
        public static int turn_count = 0;&lt;br /&gt;
        // How far, in meters, the target AV can go before we start moving&lt;br /&gt;
        private static float followDistance = 3; &lt;br /&gt;
        // A boolean switch to enable or disable following&lt;br /&gt;
        public static bool followon = false; &lt;br /&gt;
        // This is the name of the agent to follow&lt;br /&gt;
        public static string followName = &amp;quot;FirstName LastName&amp;quot;;&lt;br /&gt;
        public static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            // Enter the region name where the bot will log in&lt;br /&gt;
            string startLocation = NetworkManager.StartLocation(&amp;quot;Your Region&amp;quot;, &lt;br /&gt;
                 (int) startLoc.X,(int) startLoc.Y,(int) startLoc.Z);&lt;br /&gt;
             client.Network.OnConnected += new NetworkManager.ConnectedCallback(Network_OnConnected);&lt;br /&gt;
            LoginParams loginParams = new LoginParams();&lt;br /&gt;
            loginParams.FirstName = first_name;&lt;br /&gt;
            loginParams.LastName = last_name;&lt;br /&gt;
            loginParams.Password = password;&lt;br /&gt;
            // Enter the URI for your region (either a dot-decimal IP or domain name&lt;br /&gt;
            loginParams.URI = &amp;quot;http://yourserverIP:9000&amp;quot;;&lt;br /&gt;
            client.Network.Login(loginParams);&lt;br /&gt;
            Console.WriteLine(&amp;quot;Bot Login Message: &amp;quot; + client.Network.LoginMessage);&lt;br /&gt;
            client.Appearance.SetPreviousAppearance(false);&lt;br /&gt;
        }&lt;br /&gt;
        public static void Objects_OnObjectUpdated(Simulator simulator, ObjectUpdate update, &lt;br /&gt;
                           ulong regionHandle, ushort timeDilation)&lt;br /&gt;
        {&lt;br /&gt;
            if (followon == true) //Check to make sure we need to be following&lt;br /&gt;
            {&lt;br /&gt;
                //Exit this event if it's not an avatar update&lt;br /&gt;
                if (!update.Avatar) { return; }&lt;br /&gt;
                Avatar av;&lt;br /&gt;
                client.Network.CurrentSim.ObjectsAvatars.TryGetValue(update.LocalID, out av);&lt;br /&gt;
                if (av == null) return;&lt;br /&gt;
                if (av.Name == followName)&lt;br /&gt;
                {&lt;br /&gt;
                    pos = av.Position;&lt;br /&gt;
                    if (Vector3.Distance(pos, client.Self.SimPosition) &amp;gt; followDistance)&lt;br /&gt;
                    {&lt;br /&gt;
                        int followRegionX = (int)(regionHandle &amp;gt;&amp;gt; 32);&lt;br /&gt;
                        int followRegionY = (int)(regionHandle &amp;amp; 0xFFFFFFFF);&lt;br /&gt;
                        int followRegionZ = (int)(regionHandle);&lt;br /&gt;
                        ulong x = (ulong)(pos.X + followRegionX);&lt;br /&gt;
                        ulong y = (ulong)(pos.Y + followRegionY);&lt;br /&gt;
                        turn_count++;&lt;br /&gt;
                        if (turn_count%10 == 1) client.Self.Movement.TurnToward(pos);&lt;br /&gt;
                        if (pos.Z &amp;gt; 1)&lt;br /&gt;
                        {&lt;br /&gt;
                            client.Self.AutoPilotLocal(Convert.ToInt32(pos.X), &lt;br /&gt;
                                   Convert.ToInt32(pos.Y), pos.Z);&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            client.Self.AutoPilotCancel();&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                    else&lt;br /&gt;
                    {&lt;br /&gt;
                        turn_count = 0;&lt;br /&gt;
                        client.Self.Movement.TurnToward(pos);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        static void Network_OnConnected(object sender)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;The bot is connected&amp;quot;);&lt;br /&gt;
            client.Self.Movement.AlwaysRun = false;&lt;br /&gt;
            System.Threading.Thread.Sleep(3000);&lt;br /&gt;
            followon = true;&lt;br /&gt;
            client.Objects.OnObjectUpdated += new &lt;br /&gt;
                   ObjectManager.ObjectUpdatedCallback(Objects_OnObjectUpdated);&lt;br /&gt;
        }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This tutorial was assisted by [http://www.libsecondlife.org/wiki/Follow_an_avatar Follow An Avatar]&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Building_a_bot</id>
		<title>Building a bot</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Building_a_bot"/>
				<updated>2008-12-18T12:59:26Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:MyPetBot.png|220px|left|thumb|MyPetBot]]&lt;br /&gt;
&lt;br /&gt;
Bots, or Non-Player Characters (NPCs), represent instances where, instead&lt;br /&gt;
of a user controlling an agent represented as an avatar in-world, a program&lt;br /&gt;
controls the agent. This facility allows one to program humanoid figures for&lt;br /&gt;
a variety of tasks. There are two ways that bots can be coded: on a client&lt;br /&gt;
or on the server where opensim is running. This tutorial covers only the&lt;br /&gt;
former case: running code on the client, which coincidentally may be the&lt;br /&gt;
same computer where the server is located.&lt;br /&gt;
&lt;br /&gt;
The following example is called &amp;quot;MyPetBot&amp;quot; and by building this source, and&lt;br /&gt;
running the resulting bin\MyPetBot executable that results in the bot logging&lt;br /&gt;
into the world, and then proceeding to follow whatever avatar is specified&lt;br /&gt;
inside the code.&lt;br /&gt;
&lt;br /&gt;
A short video is shown [http://www.youtube.com/watch?v=TUmC0jeIYZo here]&lt;br /&gt;
To build your pet bot, you will need to copy the following code and make&lt;br /&gt;
sure to edit the following parts:&lt;br /&gt;
&lt;br /&gt;
# In your C# solution, include the missing references&lt;br /&gt;
# Enter the first name, last name, and password of the agent that will serve as a bot&lt;br /&gt;
# Specify the start location (X,Y,Z) for the bot&lt;br /&gt;
# Specify your region server&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Need to add the following References if using VC# 2008:&lt;br /&gt;
// OpenMetaverse, OpenMetaverseTypes, System&lt;br /&gt;
// These can be found in your opensim\bin folder&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using OpenMetaverse;&lt;br /&gt;
namespace MyPetBot&lt;br /&gt;
{&lt;br /&gt;
    class MyPetBot&lt;br /&gt;
    {&lt;br /&gt;
        public static GridClient client = new GridClient();&lt;br /&gt;
        // Enter the name of the agent that you wish to treat&lt;br /&gt;
        // as a bot. For example&amp;quot; Test User&amp;quot;&lt;br /&gt;
        // Also enter the login password for this agent&lt;br /&gt;
        private static string first_name = &amp;quot;Test&amp;quot;;&lt;br /&gt;
        private static string last_name = &amp;quot;User&amp;quot;;&lt;br /&gt;
        private static string password = &amp;quot;test&amp;quot;;&lt;br /&gt;
        // Specify where the bot is to be logged in&lt;br /&gt;
        public static Vector3 startLoc = new Vector3(128, 128, 22);&lt;br /&gt;
        public static Vector3 pos = new Vector3();&lt;br /&gt;
        public static int turn_count = 0;&lt;br /&gt;
        // How far, in meters, the target AV can go before we start moving&lt;br /&gt;
        private static float followDistance = 3; &lt;br /&gt;
        // A boolean switch to enable or disable following&lt;br /&gt;
        public static bool followon = false; &lt;br /&gt;
        // This is the name of the agent to follow&lt;br /&gt;
        public static string followName = &amp;quot;FirstName LastName&amp;quot;;&lt;br /&gt;
        public static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            // Enter the region name where the bot will log in&lt;br /&gt;
            string startLocation = NetworkManager.StartLocation(&amp;quot;Your Region&amp;quot;, &lt;br /&gt;
                 (int) startLoc.X,(int) startLoc.Y,(int) startLoc.Z);&lt;br /&gt;
             client.Network.OnConnected += new NetworkManager.ConnectedCallback(Network_OnConnected);&lt;br /&gt;
            LoginParams loginParams = new LoginParams();&lt;br /&gt;
            loginParams.FirstName = first_name;&lt;br /&gt;
            loginParams.LastName = last_name;&lt;br /&gt;
            loginParams.Password = password;&lt;br /&gt;
            // Enter the URI for your region (either a dot-decimal IP or domain name&lt;br /&gt;
            loginParams.URI = &amp;quot;http://yourserverIP:9000&amp;quot;;&lt;br /&gt;
            client.Network.Login(loginParams);&lt;br /&gt;
            Console.WriteLine(&amp;quot;Bot Login Message: &amp;quot; + client.Network.LoginMessage);&lt;br /&gt;
            client.Appearance.SetPreviousAppearance(false);&lt;br /&gt;
        }&lt;br /&gt;
        public static void Objects_OnObjectUpdated(Simulator simulator, ObjectUpdate update, &lt;br /&gt;
                           ulong regionHandle, ushort timeDilation)&lt;br /&gt;
        {&lt;br /&gt;
            if (followon == true) //Check to make sure we need to be following&lt;br /&gt;
            {&lt;br /&gt;
                //Exit this event if it's not an avatar update&lt;br /&gt;
                if (!update.Avatar) { return; }&lt;br /&gt;
                Avatar av;&lt;br /&gt;
                client.Network.CurrentSim.ObjectsAvatars.TryGetValue(update.LocalID, out av);&lt;br /&gt;
                if (av == null) return;&lt;br /&gt;
                if (av.Name == followName)&lt;br /&gt;
                {&lt;br /&gt;
                    pos = av.Position;&lt;br /&gt;
                    if (Vector3.Distance(pos, client.Self.SimPosition) &amp;gt; followDistance)&lt;br /&gt;
                    {&lt;br /&gt;
                        int followRegionX = (int)(regionHandle &amp;gt;&amp;gt; 32);&lt;br /&gt;
                        int followRegionY = (int)(regionHandle &amp;amp; 0xFFFFFFFF);&lt;br /&gt;
                        int followRegionZ = (int)(regionHandle);&lt;br /&gt;
                        ulong x = (ulong)(pos.X + followRegionX);&lt;br /&gt;
                        ulong y = (ulong)(pos.Y + followRegionY);&lt;br /&gt;
                        turn_count++;&lt;br /&gt;
                        if (turn_count%10 == 1) client.Self.Movement.TurnToward(pos);&lt;br /&gt;
                        if (pos.Z &amp;gt; 1)&lt;br /&gt;
                        {&lt;br /&gt;
                            client.Self.AutoPilotLocal(Convert.ToInt32(pos.X), &lt;br /&gt;
                                   Convert.ToInt32(pos.Y), pos.Z);&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            client.Self.AutoPilotCancel();&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                    else&lt;br /&gt;
                    {&lt;br /&gt;
                        turn_count = 0;&lt;br /&gt;
                        client.Self.Movement.TurnToward(pos);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        static void Network_OnConnected(object sender)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;The bot is connected&amp;quot;);&lt;br /&gt;
            client.Self.Movement.AlwaysRun = false;&lt;br /&gt;
            System.Threading.Thread.Sleep(3000);&lt;br /&gt;
            followon = true;&lt;br /&gt;
            client.Objects.OnObjectUpdated += new &lt;br /&gt;
                   ObjectManager.ObjectUpdatedCallback(Objects_OnObjectUpdated);&lt;br /&gt;
        }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This tutorial was assisted by [ http://www.libsecondlife.org/wiki/Follow_an_avatar Follow An Avatar]&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Building_a_bot</id>
		<title>Building a bot</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Building_a_bot"/>
				<updated>2008-12-18T05:26:15Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:MyPetBot.png|220px|left|thumb|MyPetBot]]&lt;br /&gt;
&lt;br /&gt;
Bots, or Non-Player Characters (NPCs), represent instances where, instead&lt;br /&gt;
of a user controlling an agent represented as an avatar in-world, a program&lt;br /&gt;
controls the agent. This facility allows one to program humanoid figures for&lt;br /&gt;
a variety of tasks. There are two ways that bots can be coded: on a client&lt;br /&gt;
or on the server where opensim is running. This tutorial covers only the&lt;br /&gt;
former case: running code on the client, which coincidentally may be the&lt;br /&gt;
same computer where the server is located.&lt;br /&gt;
&lt;br /&gt;
The following example is called &amp;quot;MyPetBot&amp;quot; and by building this source, and&lt;br /&gt;
running the resulting bin\MyPetBot executable that results in the bot logging&lt;br /&gt;
into the world, and then proceeding to follow whatever avatar is specified&lt;br /&gt;
inside the code.&lt;br /&gt;
&lt;br /&gt;
A short video is shown [http://www.youtube.com/watch?v=TUmC0jeIYZo here]&lt;br /&gt;
To build your pet bot, you will need to copy the following code and make&lt;br /&gt;
sure to edit the following parts:&lt;br /&gt;
&lt;br /&gt;
# In your C# solution, include the missing references&lt;br /&gt;
# Enter the first name, last name, and password of the agent that will serve as a bot&lt;br /&gt;
# Specify the start location (X,Y,Z) for the bot&lt;br /&gt;
# Specify your region server&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Need to add the following References if using VC# 2008:&lt;br /&gt;
// OpenMetaverse, OpenMetaverseTypes, System&lt;br /&gt;
// These can be found in your opensim\bin folder&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using OpenMetaverse;&lt;br /&gt;
namespace MyPetBot&lt;br /&gt;
{&lt;br /&gt;
    class MyPetBot&lt;br /&gt;
    {&lt;br /&gt;
        public static GridClient client = new GridClient();&lt;br /&gt;
        // Enter the name of the agent that you wish to treat&lt;br /&gt;
        // as a bot. For example&amp;quot; Test User&amp;quot;&lt;br /&gt;
        // Also enter the login password for this agent&lt;br /&gt;
        private static string first_name = &amp;quot;Test&amp;quot;;&lt;br /&gt;
        private static string last_name = &amp;quot;User&amp;quot;;&lt;br /&gt;
        private static string password = &amp;quot;test&amp;quot;;&lt;br /&gt;
        // Specify where the bot is to be logged in&lt;br /&gt;
        public static Vector3 startLoc = new Vector3(128, 128, 22);&lt;br /&gt;
        public static Vector3 pos = new Vector3();&lt;br /&gt;
        public static int turn_count = 0;&lt;br /&gt;
        // How far, in meters, the target AV can go before we start moving&lt;br /&gt;
        private static float followDistance = 3; &lt;br /&gt;
        // A boolean switch to enable or disable following&lt;br /&gt;
        public static bool followon = false; &lt;br /&gt;
        // This is the name of the agent to follow&lt;br /&gt;
        public static string followName = &amp;quot;FirstName LastName&amp;quot;;&lt;br /&gt;
        public static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            // Enter the region name where the bot will log in&lt;br /&gt;
            string startLocation = NetworkManager.StartLocation(&amp;quot;Your Region&amp;quot;, &lt;br /&gt;
                 (int) startLoc.X,(int) startLoc.Y,(int) startLoc.Z);&lt;br /&gt;
             client.Network.OnConnected += new NetworkManager.ConnectedCallback(Network_OnConnected);&lt;br /&gt;
            LoginParams loginParams = new LoginParams();&lt;br /&gt;
            loginParams.FirstName = first_name;&lt;br /&gt;
            loginParams.LastName = last_name;&lt;br /&gt;
            loginParams.Password = password;&lt;br /&gt;
            // Enter the URI for your region (either a dot-decimal IP or domain name&lt;br /&gt;
            loginParams.URI = &amp;quot;http://yourserverIP:9000&amp;quot;;&lt;br /&gt;
            client.Network.Login(loginParams);&lt;br /&gt;
            Console.WriteLine(&amp;quot;Bot Login Message: &amp;quot; + client.Network.LoginMessage);&lt;br /&gt;
            client.Appearance.SetPreviousAppearance(false);&lt;br /&gt;
        }&lt;br /&gt;
        public static void Objects_OnObjectUpdated(Simulator simulator, ObjectUpdate update, &lt;br /&gt;
                           ulong regionHandle, ushort timeDilation)&lt;br /&gt;
        {&lt;br /&gt;
            if (followon == true) //Check to make sure we need to be following&lt;br /&gt;
            {&lt;br /&gt;
                //Exit this event if it's not an avatar update&lt;br /&gt;
                if (!update.Avatar) { return; }&lt;br /&gt;
                Avatar av;&lt;br /&gt;
                client.Network.CurrentSim.ObjectsAvatars.TryGetValue(update.LocalID, out av);&lt;br /&gt;
                if (av == null) return;&lt;br /&gt;
                if (av.Name == followName)&lt;br /&gt;
                {&lt;br /&gt;
                    pos = av.Position;&lt;br /&gt;
                    if (Vector3.Distance(pos, client.Self.SimPosition) &amp;gt; followDistance)&lt;br /&gt;
                    {&lt;br /&gt;
                        int followRegionX = (int)(regionHandle &amp;gt;&amp;gt; 32);&lt;br /&gt;
                        int followRegionY = (int)(regionHandle &amp;amp; 0xFFFFFFFF);&lt;br /&gt;
                        int followRegionZ = (int)(regionHandle);&lt;br /&gt;
                        ulong x = (ulong)(pos.X + followRegionX);&lt;br /&gt;
                        ulong y = (ulong)(pos.Y + followRegionY);&lt;br /&gt;
                        turn_count++;&lt;br /&gt;
                        if (turn_count%10 == 1) client.Self.Movement.TurnToward(pos);&lt;br /&gt;
                        if (pos.Z &amp;gt; 1)&lt;br /&gt;
                        {&lt;br /&gt;
                            client.Self.AutoPilotLocal(Convert.ToInt32(pos.X), &lt;br /&gt;
                                   Convert.ToInt32(pos.Y), pos.Z);&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            client.Self.AutoPilotCancel();&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                    else&lt;br /&gt;
                    {&lt;br /&gt;
                        turn_count = 0;&lt;br /&gt;
                        client.Self.Movement.TurnToward(pos);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        static void Network_OnConnected(object sender)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;The bot is connected&amp;quot;);&lt;br /&gt;
            client.Self.Movement.AlwaysRun = false;&lt;br /&gt;
            System.Threading.Thread.Sleep(3000);&lt;br /&gt;
            followon = true;&lt;br /&gt;
            client.Objects.OnObjectUpdated += new &lt;br /&gt;
                   ObjectManager.ObjectUpdatedCallback(Objects_OnObjectUpdated);&lt;br /&gt;
        }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	<entry>
		<id>http://opensimulator.org/wiki/Building_a_bot</id>
		<title>Building a bot</title>
		<link rel="alternate" type="text/html" href="http://opensimulator.org/wiki/Building_a_bot"/>
				<updated>2008-12-18T05:25:43Z</updated>
		
		<summary type="html">&lt;p&gt;Metaphorz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[image:MyPetBot.png|220px|left|thumb|MyPetBot]]&lt;br /&gt;
&lt;br /&gt;
Bots (or Non-Player Characters (NPCs) represent instances where, instead&lt;br /&gt;
of a user controlling an agent represented as an avatar in-world, a program&lt;br /&gt;
controls the agent. This facility allows one to program humanoid figures for&lt;br /&gt;
a variety of tasks. There are two ways that bots can be coded: on a client&lt;br /&gt;
or on the server where opensim is running. This tutorial covers only the&lt;br /&gt;
former case: running code on the client, which coincidentally may be the&lt;br /&gt;
same computer where the server is located.&lt;br /&gt;
&lt;br /&gt;
The following example is called &amp;quot;MyPetBot&amp;quot; and by building this source, and&lt;br /&gt;
running the resulting bin\MyPetBot executable that results in the bot logging&lt;br /&gt;
into the world, and then proceeding to follow whatever avatar is specified&lt;br /&gt;
inside the code.&lt;br /&gt;
&lt;br /&gt;
A short video is shown [http://www.youtube.com/watch?v=TUmC0jeIYZo here]&lt;br /&gt;
To build your pet bot, you will need to copy the following code and make&lt;br /&gt;
sure to edit the following parts:&lt;br /&gt;
&lt;br /&gt;
# In your C# solution, include the missing references&lt;br /&gt;
# Enter the first name, last name, and password of the agent that will serve as a bot&lt;br /&gt;
# Specify the start location (X,Y,Z) for the bot&lt;br /&gt;
# Specify your region server&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Need to add the following References if using VC# 2008:&lt;br /&gt;
// OpenMetaverse, OpenMetaverseTypes, System&lt;br /&gt;
// These can be found in your opensim\bin folder&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using OpenMetaverse;&lt;br /&gt;
namespace MyPetBot&lt;br /&gt;
{&lt;br /&gt;
    class MyPetBot&lt;br /&gt;
    {&lt;br /&gt;
        public static GridClient client = new GridClient();&lt;br /&gt;
        // Enter the name of the agent that you wish to treat&lt;br /&gt;
        // as a bot. For example&amp;quot; Test User&amp;quot;&lt;br /&gt;
        // Also enter the login password for this agent&lt;br /&gt;
        private static string first_name = &amp;quot;Test&amp;quot;;&lt;br /&gt;
        private static string last_name = &amp;quot;User&amp;quot;;&lt;br /&gt;
        private static string password = &amp;quot;test&amp;quot;;&lt;br /&gt;
        // Specify where the bot is to be logged in&lt;br /&gt;
        public static Vector3 startLoc = new Vector3(128, 128, 22);&lt;br /&gt;
        public static Vector3 pos = new Vector3();&lt;br /&gt;
        public static int turn_count = 0;&lt;br /&gt;
        // How far, in meters, the target AV can go before we start moving&lt;br /&gt;
        private static float followDistance = 3; &lt;br /&gt;
        // A boolean switch to enable or disable following&lt;br /&gt;
        public static bool followon = false; &lt;br /&gt;
        // This is the name of the agent to follow&lt;br /&gt;
        public static string followName = &amp;quot;FirstName LastName&amp;quot;;&lt;br /&gt;
        public static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            // Enter the region name where the bot will log in&lt;br /&gt;
            string startLocation = NetworkManager.StartLocation(&amp;quot;Your Region&amp;quot;, &lt;br /&gt;
                 (int) startLoc.X,(int) startLoc.Y,(int) startLoc.Z);&lt;br /&gt;
             client.Network.OnConnected += new NetworkManager.ConnectedCallback(Network_OnConnected);&lt;br /&gt;
            LoginParams loginParams = new LoginParams();&lt;br /&gt;
            loginParams.FirstName = first_name;&lt;br /&gt;
            loginParams.LastName = last_name;&lt;br /&gt;
            loginParams.Password = password;&lt;br /&gt;
            // Enter the URI for your region (either a dot-decimal IP or domain name&lt;br /&gt;
            loginParams.URI = &amp;quot;http://yourserverIP:9000&amp;quot;;&lt;br /&gt;
            client.Network.Login(loginParams);&lt;br /&gt;
            Console.WriteLine(&amp;quot;Bot Login Message: &amp;quot; + client.Network.LoginMessage);&lt;br /&gt;
            client.Appearance.SetPreviousAppearance(false);&lt;br /&gt;
        }&lt;br /&gt;
        public static void Objects_OnObjectUpdated(Simulator simulator, ObjectUpdate update, &lt;br /&gt;
                           ulong regionHandle, ushort timeDilation)&lt;br /&gt;
        {&lt;br /&gt;
            if (followon == true) //Check to make sure we need to be following&lt;br /&gt;
            {&lt;br /&gt;
                //Exit this event if it's not an avatar update&lt;br /&gt;
                if (!update.Avatar) { return; }&lt;br /&gt;
                Avatar av;&lt;br /&gt;
                client.Network.CurrentSim.ObjectsAvatars.TryGetValue(update.LocalID, out av);&lt;br /&gt;
                if (av == null) return;&lt;br /&gt;
                if (av.Name == followName)&lt;br /&gt;
                {&lt;br /&gt;
                    pos = av.Position;&lt;br /&gt;
                    if (Vector3.Distance(pos, client.Self.SimPosition) &amp;gt; followDistance)&lt;br /&gt;
                    {&lt;br /&gt;
                        int followRegionX = (int)(regionHandle &amp;gt;&amp;gt; 32);&lt;br /&gt;
                        int followRegionY = (int)(regionHandle &amp;amp; 0xFFFFFFFF);&lt;br /&gt;
                        int followRegionZ = (int)(regionHandle);&lt;br /&gt;
                        ulong x = (ulong)(pos.X + followRegionX);&lt;br /&gt;
                        ulong y = (ulong)(pos.Y + followRegionY);&lt;br /&gt;
                        turn_count++;&lt;br /&gt;
                        if (turn_count%10 == 1) client.Self.Movement.TurnToward(pos);&lt;br /&gt;
                        if (pos.Z &amp;gt; 1)&lt;br /&gt;
                        {&lt;br /&gt;
                            client.Self.AutoPilotLocal(Convert.ToInt32(pos.X), &lt;br /&gt;
                                   Convert.ToInt32(pos.Y), pos.Z);&lt;br /&gt;
                        }&lt;br /&gt;
                        else&lt;br /&gt;
                        {&lt;br /&gt;
                            client.Self.AutoPilotCancel();&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                    else&lt;br /&gt;
                    {&lt;br /&gt;
                        turn_count = 0;&lt;br /&gt;
                        client.Self.Movement.TurnToward(pos);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        static void Network_OnConnected(object sender)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(&amp;quot;The bot is connected&amp;quot;);&lt;br /&gt;
            client.Self.Movement.AlwaysRun = false;&lt;br /&gt;
            System.Threading.Thread.Sleep(3000);&lt;br /&gt;
            followon = true;&lt;br /&gt;
            client.Objects.OnObjectUpdated += new &lt;br /&gt;
                   ObjectManager.ObjectUpdatedCallback(Objects_OnObjectUpdated);&lt;br /&gt;
        }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Metaphorz</name></author>	</entry>

	</feed>