Linux Gridserver

This tutorial is a step-by-step procedure on how to create a production environment on a Linux-server. It's by no means perfect, so if you have ideas to improve it, please let them hear on the discussion page.



Required/recommend Software

 * Mono 1.9.1 - .NET framework
 * MySQL - Main database engine
 * OpenSSH - Remote terminal connection
 * RSync - Remote backup tool
 * Ngircd - Easy and fast IRC-server
 * SVN - If you want to use the SVN-backup module
 * Screen - Multiple terminal-sessions
 * Dialog - For Moo menu
 * Openjpeg - Required for jp2-texture converter
 * Redux - Easy to use Webinterface for OpenSimulator

Setup a Grid
svn checkout http://forge.opensimulator.org/svn/moo/trunk. ./moo install Moo: Install OpenSimulator in /opt/opensim? (y/n) <=y This will install the latest svn along with the "right" directory structures in /opt/opensim Next thing you see something like: Moo: Ok, we need some basic config-files. Renaming... Moo: Take a sip of coffee. This part might be important. Moo: I will try to create a database based on the information you provide. Moo: Now edit mysql_connection.ini, so MySQL can do it's thing...
 * Download the Moo script from console as root in somedir (e.g. ~/source/moo) The user for the SVN is anonymous and the password is left blank.
 * Start the Moo-installer

Press any key to continue If you don't know the vi-editor, please read up a bit about that before editing or you may become frustrated with it :-) So, change database, username and password to reflect your MySQL settings. Save the file now, and quit the editor. After this you'll notice you end up in yet another config-file. This is OpenSim.ini...

There are alot of settings you can tweak, but for now I'll stick with the most basic settings to start a grid. The administrator menu will now autostart. When it says done, press exit USER SERVER: Default Startup Message [Welcome to OGS]: Welcome to my gridservices USER SERVER: Default Grid Server URI : USER SERVER: Key to send to grid server [null]: USER SERVER: Key to expect from grid server [null]: USER SERVER: Default Inventory Server URI : USER SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: USER SERVER: Connection String for Database []: Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw; USER SERVER: Http Listener port [8002]: USER SERVER: Use SSL? true/false [False]: USER SERVER: Known good region X [1000]: USER SERVER: Known good region Y [1000]: User-Service setup is now completed, and the User-service should run fine now. Press ctrl-a + d to return to the Moo-menu.
 * Set gridmode to true
 * Disable current storage_plugin and storage_connection_string (disabling by putting ';' at the start of the line)
 * Enably mysql storage_plugin and storage_connection_string (and enter the right db-info into the connection string)
 * Change asset_database to "grid"
 * Set serverside_object_permissions to true
 * Set meshing to Meshmerizer
 * Set physics to OpenDynamicsEngine
 * Save and exit
 * Select services menu > Start UGAIM Services
 * Select User-Service

GRID SERVER: OGS Grid Owner [OGS development team]: My development team GRID SERVER: Default Asset Server URI : GRID SERVER: Key to send to asset server [null]: GRID SERVER: Key to expect from asset server [null]: GRID SERVER: Default User Server URI GRID SERVER: Key to send to user server [null]: GRID SERVER: Key to expect from user server [null]: GRID SERVER: Key to send to a simulator [null]: GRID SERVER: Key to expect from a simulator [null]: GRID SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: GRID SERVER: Database connect string []: Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw; GRID SERVER: Http Listener port [8001]: Grid-Service setup is now completed, and the Grid-service should run fine now. Press ctrl-a + d to return to the Moo-menu.
 * Select Grid-service

ASSET SERVER: Default Startup Message [Welcome to OGS]: Welcome to my gridservices ASSET SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: ASSET SERVER: Database connection string []: Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw; ASSET SERVER: Http Listener port [8003]: Asset-Service setup is now completed, and the Asset-service should run fine now. Press ctrl-a + d to return to the Moo-menu.
 * Select Asset-service

INVENTORY: Default Startup Message [Welcome to OGS]: Welcome to my gridservices INVENTORY: Default User Server URI : INVENTORY: Key to send to user server [null]: INVENTORY: Key to expect from user server [null]: INVENTORY: DLL for database provider [OpenSim.Data.SQLite.dll]: OpenSim.Data.MySQL.dll INVENTORY: Database Connect String []: Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw; INVENTORY: Http Listener port [8004]: Inventory-Service setup is now completed, and the Inventory-service should run fine now. Press ctrl-a + d to return to the Moo-menu.
 * Select Inventory-service

MESSAGING SERVER: Default User Server URI : MESSAGING SERVER: Key to send to user server [null]: MESSAGING SERVER: Key to expect from user server [null]: MESSAGING SERVER: Key to expect from user server [null]: MESSAGING SERVER: Key to send to grid server [null]: MESSAGING SERVER: Key to expect from grid server [null]: MESSAGING SERVER: Connection String for Database []: Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw; MESSAGING SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw; < MESSAGING SERVER: DLL for comms provider [OpenSim.Region.Communications.OGS1.dll]: MESSAGING SERVER: Http Listener port [8006]: MESSAGING SERVER: Use SSL? true/false [False]: MESSAGING SERVER: My Published IP Address [127.0.0.1]: 82.73.39.53 (WAN-IP) Messaging-Service setup is now completed, and the Messaging-service should run fine now. Press ctrl-a + d to return to the Moo-menu.
 * Select Messaging-service

You have succesfully setup UGAIM-Services. If we want to enable both connections from the inside, and from the outside, we must reroute some traffic.
 * Select Environment menu > System menu > Fix IP-Routing

Now that's out of the way, all we need now is to connect a Region-Service to the UGAIM. Because the region service is new, it will try to create a default region. This will be your first region. DEFAULT REGION CONFIG: Region Name [OpenSim Test]: My Home Island DEFAULT REGION CONFIG: Grid Location (X Axis) [1000]: DEFAULT REGION CONFIG: Grid Location (Y Axis) [1000]: DEFAULT REGION CONFIG: Internal IP Address for incoming UDP client connections [0.0.0.0]: 192.168.2.101  REGION CONFIG #1: Internal IP Port for incoming UDP client connections [9000]: REGION CONFIG #1: External Host Name [127.0.0.1]: 82.73.39.53  REGION CONFIG #1: First Name of Master Avatar [Test]: John REGION CONFIG #1: Last Name of Master Avatar [User]: Doe REGION CONFIG #1: (Sandbox Mode Only)Password for Master Avatar account [test]: MySandboxpw Region-Service setup is now completed, and the Region-service should run fine now. Press ctrl-a + d to return to the Moo-menu.
 * Select Services > Start Region Service, and press exit after "done" appears
 * Select Region-service

From here, you should be able to connect the SL-Viewer to your new Grid. Try: '/path/to/secondlife' --grid http://192.168.2.101:8002