Open Source Platform
for interconnected virtual worlds

ModRex Linux

From Rex community wiki

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.

File:Modrex.jpg
ModRex with mesh support, running on Linux

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

Setup

Linux

ModreX

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
cd modrex
svn checkout http://forge.opensimulator.org/svn/modrex/trunk .
cd ModularRex
sh runprebuild.sh
nant
  • 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
  • To configure ModreX, see: Configuring ModRex
  • Copy the modrex enabled OpenSimulator to the production dir
cp -R /opt/opensim/builds/8218/* /opt/opensim/simulator

Authentication server

  • 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

  • Create a user in the authentication screenconsole
create user

Avatar storage server

  • Download and build the avatarstorage service
svn co https://realxtendserver.svn.sourceforge.net/svnroot/realxtendserver/avatarstorage/trunk /opt/opensim/avatarstorage
cd /opt/opensim/avatarstorage
bin/Prebuild.exe /target nant
nant
  • Create a database "avatarstorage"
cd bin
mono AvatarStorage.exe
  • Setup avatarstorage
[AVATARSETTINGS]: **********************************************
[AVATARSETTINGS]: Input setup values for AStorageSettings:
[AVATARSETTINGS]: **********************************************
[AVATARSETTINGS]: Give value for database_dll(default MS_SqlHandler.dll) :
NHibernateHandler.dll
[AVATARSETTINGS]: Setting value to: NHibernateHandler.dll
[AVATARSETTINGS]: Give value for authentication_dll(default AuthenticationEngine.dll) :
<enter>
[AVATARSETTINGS]: Setting value to: AuthenticationEngine.dll
[AVATARSETTINGS]: Give value for inventory_enabled(default True) :
Enables inventory, if this is false inventory_service_dll and inventory_db_dll have no meaning
<enter>
[AVATARSETTINGS]: Setting value to: True
[AVATARSETTINGS]: Give value for inventory_service_dll(default PersonalInventoryService.dll) :
<enter>
[AVATARSETTINGS]: Setting value to: PersonalInventoryService.dll
[AVATARSETTINGS]: Give value for inventory_db_dll(default PersonalInventory.MSSQL.dll) :
NHibernateHandler.dll
[AVATARSETTINGS]: Setting value to: NHibernateHandler.dll
[AVATARSETTINGS]: Give value for logging_enabled(default False) :
<enter>
[AVATARSETTINGS]: Setting value to: False
[AVATARSETTINGS]: Values can be re-edited in AStorageSettings.xml file
[NHIBERNATE]: Initializing NHibernate
[AVATARSETTINGS]: **********************************************
[AVATARSETTINGS]: Input setup values for NHibernateSettings:
[AVATARSETTINGS]: **********************************************
[AVATARSETTINGS]: Give value for dbLogin(default sa) :
mysqlusername
[AVATARSETTINGS]: Setting value to: mysqlusername
[AVATARSETTINGS]: Give value for dbPassword(default rex) :
mysqlpasswd
[AVATARSETTINGS]: Setting value to: mysqlpasswd
[AVATARSETTINGS]: Give value for dbServer(default .\SQLEXPRESS) :
localhost
[AVATARSETTINGS]: Setting value to: localhost
[AVATARSETTINGS]: Give value for dbName(default AvatarStorage) :
rex_avtstrg
[AVATARSETTINGS]: Setting value to: rex_avtstrg
[AVATARSETTINGS]: Give value for nhibernateSqlDriver(default SqlClientDriver) :
MySqlDataDriver
[AVATARSETTINGS]: Setting value to: MySqlDataDriver
[AVATARSETTINGS]: Give value for nhibernateSqlDialect(default MsSql2005Dialect) :
MySQLDialect
[AVATARSETTINGS]: Setting value to: MySQLDialect

...

[AVATARSETTINGS]: **********************************************
[AVATARSETTINGS]: Input setup values for HttpSettings:
[AVATARSETTINGS]: **********************************************
[AVATARSETTINGS]: Give value for address(default 127.0.0.1) :
NOTE! This value must be contain IP value!, dns names dont work!
<your_external_ip>
[AVATARSETTINGS]: Setting value to: <your_external_ip>
[AVATARSETTINGS]: Give value for port(default 10000) :
<enter>
[AVATARSETTINGS]: Setting value to: 10000
[AVATARSETTINGS]: Give value for ssl(default false) :
<enter>
[AVATARSETTINGS]: Setting value to: false
[AVATARSETTINGS]: Values can be re-edited in HttpSettings.xml file

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)

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

  • Check in the Simulator console if everything started the way it's supposed to

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

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