ModRex

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
Line 26: Line 26:
 
* Add existing project > modrex/ModularRex/ModularRex.mdp
 
* Add existing project > modrex/ModularRex/ModularRex.mdp
 
* Change the runtime version for these projects to mono 3.5
 
* Change the runtime version for these projects to mono 3.5
* Remove the broken OpenSim reference in the ModularRex project, and add the OpenSim project as reference
+
* Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project
 
+
* Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects
 
+
* Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build
 +
cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin
 +
* Copy python-engine dependencies
 +
  cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines
 +
cd /opt/opensim/builds/8218/bin
 +
cp OpenSim.ini.example OpenSim.ini
 +
* edit OpenSim.ini, and add this:
 +
;This goes under [startup]
 +
rex_python = true
 +
[realXtend]
 +
enabled = true
 +
db_connectionstring = "MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;"
 +
* Copy the modrex enabled OpenSimulator to the production dir
 +
cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator
 
* Download and build the authentication service
 
* Download and build the authentication service
 
  svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication
 
  svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/authentication/tags/0.4 /opt/opensim/authentication
Line 76: Line 89:
 
  <enter>(ssl False)
 
  <enter>(ssl False)
 
''The avatarstorage daemon should run by now''
 
''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)
 
* You can use this [[rex serverscript]] to manage and start the services(uses screen)
* Create a user in the authentication console
+
Most important screen-commands are:
 +
screen -list (shows screen sessions)
 +
screen -r screenname (attaches to the screensession)
 +
ctrl-a + d (detaches from the screensession)
 +
* Create a user in the authentication screenconsole
 
  create user
 
  create user
 
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)
 
the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)
 +
* Check in the Simulator console if everything started up the way its supposed to
 +
 
Once the three services are running, an initial user was made, fire up the realXtend client with wine and login.
 
Once the three services are running, an initial user was made, fire up the realXtend client with wine and login.
  
 
==Known Quirks==
 
==Known Quirks==
 
* Shift-copy a mesh leaves a prim behind
 
* Shift-copy a mesh leaves a prim behind
* Meshes are persistant only after a clean shutdown
 
* Mesh collision doesn't work yet
 
 
* Avatar is stored, but appearance changes only after viewer restart
 
* Avatar is stored, but appearance changes only after viewer restart
 +
 +
==Recent Fixes==
 +
* NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant
 +
* Mesh collisions work

Revision as of 02:33, 3 February 2009

Contents

Overview

ModRex is a joint effort between RealXtend and OpenSim devs to make OpenSim aware of RealXtend specific functionality. It will not only enable the best of both worlds, but also speeds up the development of a solid standard for virtual worlds.

ModRex with mesh support, running on Linux

This is still pre-alpha code, so some features may not work.

Procedure

Linux

mkdir /opt/opensim opt/opensim/simulator /opt/opensim/authentication /opt/opensim/avatarstorage /opt/opensim/builds
cd /opt/opensim/builds/8218
svn co http://opensimulator.org/svn/opensim/trunk . 
sh runprebuild.sh
nant
mkdir modrex modrex/build
cp -R bin/*.dll modrex/build
cd modrex
svn checkout http://forge.opensimulator.org/svn/modrex/trunk .
cd ModularRex
vi prebuild.xml
  • Change each ../../../bin to ../../build, and each ../../bin to ../build, save and exit
mono ../../bin/Prebuild.exe /target monodev
  • Open /opt/opensim/builds/8218/OpenSim.sln with MonoDevelop
  • Add existing project > modrex/ModularRex/RexFramework/ModularRex.RexFramework.mdp
  • Add existing project > modrex/ModularRex/NHibernate/ModularRex.NHibernate.mdp
  • Add existing project > modrex/ModularRex/RexOdePlugin/ModularRex.RexOdePlugin.mdp
  • Add existing project > modrex/ModularRex/ModularRex.mdp
  • Change the runtime version for these projects to mono 3.5
  • Replace the broken OpenSim reference in the ModularRex project with the equally named OpenSim project
  • Replace the broken OpenSim.Region.Physics.Meshing and OpenSim.Region.Physics.OdePlugin references in the RexOdePlugin project with the equally named OpenSim projects
  • Build the modularRex projects. If no errors occured, The dll's are stored in /opt/opensim/builds/8218/modrex/build
cp /opt/opensim/builds/8218/modrex/build/ModularRex.* /opt/opensim/builds/8218/bin
  • Copy python-engine dependencies
 cp -R /opt/opensim/builds/8218/modrex/ModularRex/RexParts/RexPython/Resources/* /opt/opensim/builds/8218/bin/ScriptEngines
cd /opt/opensim/builds/8218/bin
cp OpenSim.ini.example OpenSim.ini
  • edit OpenSim.ini, and add this:
;This goes under [startup]
rex_python = true
[realXtend]
enabled = true
db_connectionstring = "MySQLDialect;MySqlDataDriver;Data Source=localhost;Database=opensim;User ID=root;Password=mypw;"
  • Copy the modrex enabled OpenSimulator to the production dir
cp -R /opt/opensim/builds/8218/* /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
cd /opt/opensim/authentication
mono bin/Prebuild.exe /target nant
nant
  • Create a mysql database "authentication"
cd bin
mono Authentication.exe 
  • 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
svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/tags/0.4 /opt/opensim/avatarstorage
cd /opt/opensim/avatarstorage
bin/Prebuild.exe /target nant
nant
  • Create a database "avatarstorage"
cd bin
mono AvatarStorage.exe
  • Setup avatarstorage
MySql_SqlHandler.dll
<enter>(AuthenticationEngine.dll)
<enter>(Inventory True)
<enter>(PersonalInventoryService.dll)
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

  • You can use this rex serverscript to manage and start the services(uses screen)

Most important screen-commands are:

screen -list (shows screen sessions)
screen -r screenname (attaches to the screensession)
ctrl-a + d (detaches from the screensession)
  • Create a user in the authentication screenconsole
create user

the 'Account' part is the first part in your rex-username(account@myauthenticationdaemonuri)

  • Check in the Simulator console if everything started up the way its supposed to

Once the three services are running, an initial user was made, fire up the realXtend client with wine and login.

Known Quirks

  • Shift-copy a mesh leaves a prim behind
  • Avatar is stored, but appearance changes only after viewer restart

Recent Fixes

  • NHibernate-db supports mysql, sqlite and mssql2005. Meshes are persistant
  • Mesh collisions work
Personal tools
General
About This Wiki