Open Source Platform
for interconnected virtual worlds

Building Taiga from source trunk

From Rex community wiki

This page is outdated. See more up to date instructions on this page.


Contents

Getting the Source

You need a SVN client to access the source code repository. You need to also be familiar how to use your client, this page will not go into detail how SVN works.

Taiga trunk source code
svn checkout http://taiga-server.googlecode.com/svn/trunk/

This location will be referred as <taiga_svn_checkout_folder> during this tutorial. More detailed access information can be found from here

  • Note: downloading the source may take a while, Taiga trunk is about 57mb of external projects

What am I getting exactly?

For those interested in the external projects revisions, here is the complete properties data from Taiga trunk.

/cablebeach http://cablebeach.googlecode.com/svn/trunk
/opensim/addon-modules/ModRex http://forge.opensimulator.org/svn/modrex/trunk

What you get from the Taiga servers svn

/ has needed prebuild files and patches for Taiga prebuild and compile phase
/opensim is John Hurlimans modified branch of OpenSim
/opensim/addon-modules/ModCableBeach is John Hurlimans modified ModCableBeach that works with the above opensim branch. Plus one reaXtend modification for working ModRex login.

Patching for realXtend viewers

These patches basically modify CableBeach and ModCableBeach to work with ModRex when logging in with realXtend viewers like Naali. You need to apply these if you want working login after server startup.

  1. Apply CableBeach patch <taiga_svn_checkout_folder>\prebuild\CableBeach_working_login.patch to <taiga_svn_checkout_folder>\cablebeach
    • This will basically change the used format of server-to-server calls from JSON to XML for ModRex to understand it.

Building

We tried to make the Taiga servers build process easy to use and as much automated as possible. On Windows you will be running various batch files (.bat) and on unix you will be running shell scripts (.sh) to accomplish the end goal.

Windows

  1. Go to <taiga_svn_checkout_folder>
  2. Execute the runprebuild.bat batch file
  3. Read the information that is printed for you in the newly created command prompt window
  4. Start going trough the steps, press for example SPACE when prompted
    • For every Press any key to continue... pause please check that there is no errors on that part of the building process.
    • You will see warnings and possibly errors. All the external projects are set to trunk revisions, this mean we dont have total control over all the projects if errors will emerge.
  5. When you see RealXtend Taiga prebuild and compile completed! you are done.

Unix

Scripts not yet made for trunk version. For unix build please see Building Taiga from source 0.0.1

Creating databases

Refer to Setting up MySql on what databases you need to create.

  • Note: You don't have to run the <taiga_installation_folder>\bin\update_tables.sql to the OpenSim database. This only has to be done in Taiga 0.0.1

Configuring

Taiga trunk provides example configs for developers. They are located in example-configs\trunk and apply them into the correct places with a provided batch file.

All the example configs have the following setting for local testing. If you created the databases just like in Setting up MySql and have 'root' user with 'root' password then you can go straight to #Applying example configs to trunk.

Database type: mysql
Database name: opensim
Username: root
Password: root
Configuring the database connections

If you have different settings you will have to correct them manually. Preferred way would be to edit the example configs in example-configs\trunk. This way the files are automatically copied to the correct place with set-example-configs.bat and if you think you made a mistake you can always revert files or preview diff with svn client. When you get the settings right for your setup backup your custom configs for later use.

The tables below will show you what lines you need to modify in order to cover all database related lines. If you want to modify CableBeach extension, http server ports etc. refer to Modifying example configs to suit your needs page.

LOCATION: <taiga_svn_checkout_folder>\example-configs\trunk\cablebeach\bin\CableBeachData

FILE: InventoryServer.ini

LINES      ACTION
30-69      Read the comments on how to change database type
           Change DatabaseUser, DatabasePass and Databasename
80-84      Change ConnectionString to what you are using, preferred not to use 
           default opensim database for this. Defaults are mysql and 'taiga-cb-webdav' database

FILE: WorldServer.ini

LINES      ACTION
62-80      Read the comments on how to change database type
           Change DatabaseUser, DatabasePass and Databasename


LOCATION: <taiga_svn_checkout_folder>\example-configs\trunk\opensim\bin

FILE: OpenSim.ini

LINES      ACTION
93-104     Set 'storage_plugin' and 'storage_connection_string' to suit your setup.
258-268    Set 'inventory_plugin' and 'inventory_source' to suit your setup.
278-287    Set 'userDatabase_plugin' and 'user_source' to suit your setup.

FILE: AssetServer_Config.xml, GridServer_Config.xml and UserServer_Config.xml

You will need these setup correctly so you can initialize the opensim database before first start of the actual Taiga servers. Find 'database_provider' and 'database_connect' from each file and modify to suit your setup.


LOCATION: <taiga_svn_checkout_folderopensim\bin\addon-modules\ModreX\config

FILE: modrex.ini

LINES      ACTION
34-36      Set 'db_connectionstring' to suit your setup. It's preferred to make new database 
           and not use the 'opesim' database. This database is only used in ModRex and should be separated

Applying example configs to trunk

  1. Go to <taiga_svn_checkout_folder>
  2. Run set-example-configs.bat

Before running the first time

Next you need to initialize/migrate the databases for first time Taiga use. Because Taiga/CableBeach is in early development phase the Taiga servers cannot do the first time migrations themselves. Basically we need to put the default assets into the assets table.

So be sure to follow what the servers doesn't print out database connection or any other errors. If there are errors go back to #Configuring step.

  1. Go to <taiga_svn_checkout_folder>\opensim\bin
  2. Run OpenSim.Grid.AssetServer.exe
  3. Continue to #Running if migrations were succesfull

Running

Windows

  1. Execute start.bat - This will open the servers in the correct order
    • You will see some crashes due to CB initilizations etc. See more here.
    • You need to give region and master avatar information to OpenSim.exe on first startup. If you are running only locally please use 127.0.0.1 for external and internal IPs.
    • If you want to create users for OpenSim authentication style login go to the OpenSim.Grid.UserServer.exe console window that reads 'User#' at the bottom, type 'create user' and follow the instructions given on screen.

When all the servers are up without fatal error messages continue to Login with the realXtend Naali viewer if you already have Naali. Go to Getting and running Naali if you don't have Naali installed. Or go to Building Naali from trunk source if you want to build (most up to date trunk version) Naali.