ModRex

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (See Also: added link to orphaned simxtd script page)
 
(88 intermediate revisions by 14 users not shown)
Line 1: Line 1:
==Overview==
+
__NOTOC__
ModRex is a joint effort - in the form of a module - to make OpenSim aware of RealXtend specific functionality. It will allow us to use the best of both worlds. RealXtend with features like meshes, uv-mapping, particle-scripts, python-scripting, bots, and OpenSim-trunk with up-to-date codebase, and features like region webloading, mysql, hypergrid and webmaps.
+
{{Quicklinks}}
[[image:modrex.jpg|250px|thumb|right|ModRex with mesh support, running on Linux]]
+
''This is still pre-alpha code, so some features may not work.''
+
  
==Procedure==
+
{{archive}}
 +
'''Purpose:''' The information on this page is out of date. However, it may still hold value to some people (examples are chat logs, version history, or OpenSimulator 0.6x specific info) or needs to be preserved for other reasons. It should be marked as archived information to prevent confusion.
  
===Linux===
+
<br />
At the moment branch 0.2 is used, but normally check out trunk. I use this directory structure for RealXtend now:
+
mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds
+
* Check out and compile OpenSim:
+
svn co http://opensimulator.org/svn/opensim/trunk /opt/opensim/builds/7xxx
+
runprebuild.sh
+
nant
+
* Make a directory 'modrex' in your checked out OpenSim dir, and from there check out modrex(or check out a branch, if current)
+
svn checkout http://forge.opensimulator.org/svn/modrex/trunk .
+
* Prepare the code for nant(There should be a prebuild.xml file):
+
mono ../../bin/Prebuild.exe /target nant
+
nant
+
* Copy bin/Debug/ModularRex.dll to /opt/opensim/simulator
+
* Download and build the authentication service
+
svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication
+
bin/Prebuild.exe /target nant
+
nant
+
* Create a mysql database for authentication(authentication?) and start the service with mono
+
* Setup authentication
+
MySql_SqlHandler.dll (or SQLite_SqlHandler.dll. MySql_SqlHandler.dll gives not implemented messages but seems to work ok)
+
<enter>(AuthenticationEngine=AuthenticationEngine.dll)
+
<enter>(logging enabled=False)
+
<enter>(def. region x 1000)
+
<enter>(def. region y 1000)
+
<enter>(avatarstorageurl 172.16.1.65:10000)
+
<enter>(default gridurl 172.16.1.65:9000)
+
<enter>(default dns)
+
<enter>(dbserver 127.0.0.1)
+
<enter>(dbname authentication)
+
<enter>(dbuser root)
+
*******(dbpw for root)
+
172.16.1.65 (httpsettings LAN-IP)
+
''The authentication daemon should run by now''
+
  
* Download and build the avatarstorage service
+
== Overview ==
svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage
+
[[Image:modrex.jpg|250px|thumb|left|ModRex with mesh support, running on Linux]]
bin/Prebuild.exe /target nant
+
ModRex is a joint effort between RealXtend and OpenSimulator developers to make it
nant
+
possible to join the RealXtend viewer to the OpenSimulator codebase. The RealXtend
* Create a database for avatarstorage(avatarstorage?) and start the service with mono
+
viewer employs the open source [http://www.ogre3d.org OGRE 3D engine]
* Setup avatarstorage
+
and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct
MySql_SqlHandler.dll
+
difference is in the new rendering potential offered by OGRE. When using
<enter>(AuthenticationEngine.dll)
+
RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved
<enter>(Inventory True)
+
lighting simulation, and more importantly, the [http://www.youtube.com/watch?v=yEXqiv2_kbE&feature=channel_page OGRE mesh]. The mesh is hierarchical
<enter>(PersonalInventoryService.dll)
+
(multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.
PersonalInventory.SQLITE.dll
+
<enter>(logging_enabled False)
+
<enter>(dbserver 127.0.0.1)
+
avatarstorage (dbname)
+
<enter>(dbuser root)
+
********(dbpw root)
+
172.16.1.65 (httpsettings LAN-IP)
+
<enter>(http port 10000)
+
<enter>(ssl False)
+
''The avatarstorage daemon should run by now''
+
* Setup OpenSim in standalone mode(Grid is not working yet); add these lines to OpenSim.ini:
+
<source lang="bash">
+
[realXtend]
+
enabled=true
+
</source>
+
* You can use this [[rex serverscript]] to manage and start the services(uses screen)
+
* Create a user in the authentication console
+
create user
+
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)
+
Once the three services are running, an initial user was made, fire up the realXtend client with wine and login.
+
  
==Known Quirks==
+
ModRex is important to the OpenSimulator community mainly because, like the base
* Shift-copy a mesh leaves a prim behind
+
opensim code base itself, the RealXtend viewer is open source and breaks away
* Meshes are persistant only after a clean shutdown
+
from some of the key contraints imposed by the LLviewer, such as inability to
* Mesh collision doesn't work yet
+
create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex
 +
while not part of the viewer, is the glue that connects the viewer to the opensim
 +
trunk code.
 +
 
 +
and a to illustrate some of the mesh and lighting effects in the viewer:
 +
 
 +
To use ModRex, you need the following:
 +
* [http://realxtend.org/download/ RealXtend viewer (CodeName: Tundra)]
 +
* Alternatively you can also use the new [http://wiki.realxtend.org/index.php/Getting_Started_with_Naali Naali viewer]
 +
* [http://forge.opensimulator.org/gf/project/modrex/ ModRex]
 +
* [OpenSim-SVN (rev. 8814+)
 +
* [http://www.mono-project.com/Main_Page Mono] (Linux)
 +
* [http://nant.sourceforge.net/ NAnt] (Linux)
 +
 
 +
== Links ==
 +
* [http://forge.opensimulator.org/gf/project/modrex/ Source Code]
 +
* [http://wiki.realxtend.org/index.php/Features_supported_currently ModRex Features/Status]
 +
* [http://www.realxtend.org Main RealXtend]
 +
* [http://wiki.realxtend.org/ RealXtend community wiki]
 +
 
 +
== Setup ==
 +
 
 +
First launch realXtend authentication and avatar storage servers. You can download them from [http://sourceforge.net/projects/realxtendserver/files/ SourceForge project page]. Documentation for these servers can be found from [http://docs.realxtend.org/ realXtend user documentation wiki].
 +
 
 +
After successfully launching authentication and avatar storage server, build ModreX according to instructions in [http://wiki.realxtend.org/index.php/Building_ModreX realXtend wiki]. To configure ModreX follow the instructions in [http://wiki.realxtend.org/index.php/Configuring_ModreX this wiki page].
 +
 
 +
If any bugs occur, please report them to [http://forge.opensimulator.org/gf/project/modrex/tracker/ ModreX bug tracker]. Note that to run realXtend 0.4 series viewer on Linux, you need to follow [[RealXtend Viewer Linux|these instructions]].
 +
 
 +
== Known Issues ==
 +
* 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.
 +
* Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work
 +
* Shift-copied Objects may loose their texture after a sim restart
 +
 
 +
== Recent Fixes ==
 +
* Multiregion Support with RexQueue
 +
* Multiple standalones on one machine supported
 +
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistent
 +
* Mesh collisions with primitives work
 +
* Python scripting works for the most part (some functions are not working yet)
 +
* Shift-copy keeps mesh as primdata
 +
* OpenSimulator library useable now
 
* Avatar is stored, but appearance changes only after viewer restart
 
* Avatar is stored, but appearance changes only after viewer restart
 +
 +
== See Also ==
 +
 +
* [[Rex_serverscript]] - Example Linux SysVinit startup scripts for ModRex
 +
* [[Rex_mysql]] - Example MySQL table definitions for ModRex
 +
* [[Simxtd]] - BASH script for building and install OpenSimulator with ModRex and RealXtend support

Latest revision as of 09:19, 18 September 2020

Purpose: The information on this page is out of date. However, it may still hold value to some people (examples are chat logs, version history, or OpenSimulator 0.6x specific info) or needs to be preserved for other reasons. It should be marked as archived information to prevent confusion.


[edit] Overview

ModRex with mesh support, running on Linux

ModRex is a joint effort between RealXtend and OpenSimulator developers to make it possible to join the RealXtend viewer to the OpenSimulator codebase. The RealXtend viewer employs the open source OGRE 3D engine and differs from the Linden Lab viewer (LLviewer) in several ways. The most distinct difference is in the new rendering potential offered by OGRE. When using RealXtend as a viewer for OpenSim, one obtains real-time shadows, improved lighting simulation, and more importantly, the OGRE mesh. The mesh is hierarchical (multiple meshes and sub-meshes) and can include a skeleton for defining avatar motion and dynamics.

ModRex is important to the OpenSimulator community mainly because, like the base opensim code base itself, the RealXtend viewer is open source and breaks away from some of the key contraints imposed by the LLviewer, such as inability to create meshes, shadows, realistic avatars, and advanced lighting effects. ModRex while not part of the viewer, is the glue that connects the viewer to the opensim trunk code.

and a to illustrate some of the mesh and lighting effects in the viewer:

To use ModRex, you need the following:

[edit] Links

[edit] Setup

First launch realXtend authentication and avatar storage servers. You can download them from SourceForge project page. Documentation for these servers can be found from realXtend user documentation wiki.

After successfully launching authentication and avatar storage server, build ModreX according to instructions in realXtend wiki. To configure ModreX follow the instructions in this wiki page.

If any bugs occur, please report them to ModreX bug tracker. Note that to run realXtend 0.4 series viewer on Linux, you need to follow these instructions.

[edit] Known Issues

  • 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.
  • Inter-mesh collisions not yet implemented, although avatar w/ primitive collisions work
  • Shift-copied Objects may loose their texture after a sim restart

[edit] Recent Fixes

  • Multiregion Support with RexQueue
  • Multiple standalones on one machine supported
  • NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistent
  • Mesh collisions with primitives work
  • Python scripting works for the most part (some functions are not working yet)
  • Shift-copy keeps mesh as primdata
  • OpenSimulator library useable now
  • Avatar is stored, but appearance changes only after viewer restart

[edit] See Also

  • Rex_serverscript - Example Linux SysVinit startup scripts for ModRex
  • Rex_mysql - Example MySQL table definitions for ModRex
  • Simxtd - BASH script for building and install OpenSimulator with ModRex and RealXtend support
Personal tools
General
About This Wiki