Linux Gridserver
From OpenSimulator
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
- 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.
svn checkout http://forge.opensimulator.org/svn/moo/trunk .
- Start the Moo-installer
./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...
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.
- 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
The administrator menu will now autostart.
- Select services menu > Start UGAIM Services
When it says done, press exit
- Select User-Service
USER SERVER: Default Startup Message [Welcome to OGS]: Welcome to my gridservices USER SERVER: Default Grid Server URI [1]: <enter> USER SERVER: Key to send to grid server [null]: <enter> USER SERVER: Key to expect from grid server [null]: <enter> USER SERVER: Default Inventory Server URI [2]: <enter> USER SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: <enter> USER SERVER: Connection String for Database []: Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw; USER SERVER: Http Listener port [8002]: <enter> USER SERVER: Use SSL? true/false [False]: <enter> USER SERVER: Known good region X [1000]: <enter> USER SERVER: Known good region Y [1000]: <enter>
User-Service setup is now completed, and the User-service should run fine now. Press ctrl-a + d to return to the Moo-menu.
- Select Grid-service
GRID SERVER: OGS Grid Owner [OGS development team]: My development team GRID SERVER: Default Asset Server URI [3]: <enter> GRID SERVER: Key to send to asset server [null]: <enter> GRID SERVER: Key to expect from asset server [null]: <enter> GRID SERVER: Default User Server URI [4] <enter> GRID SERVER: Key to send to user server [null]: <enter> GRID SERVER: Key to expect from user server [null]: <enter> GRID SERVER: Key to send to a simulator [null]: <enter> GRID SERVER: Key to expect from a simulator [null]: <enter> GRID SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: <enter> GRID SERVER: Database connect string []: Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw; GRID SERVER: Http Listener port [8001]: <enter>
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 Asset-service
ASSET SERVER: Default Startup Message [Welcome to OGS]: Welcome to my gridservices ASSET SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: <enter> ASSET SERVER: Database connection string []: Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw; ASSET SERVER: Http Listener port [8003]: <enter>
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 Inventory-service
INVENTORY: Default Startup Message [Welcome to OGS]: Welcome to my gridservices INVENTORY: Default User Server URI [5]: <enter> INVENTORY: Key to send to user server [null]: <enter> INVENTORY: Key to expect from user server [null]: <enter> 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]: <enter>
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 Messaging-service
MESSAGING SERVER: Default User Server URI [6]: <enter> MESSAGING SERVER: Key to send to user server [null]: <enter> MESSAGING SERVER: Key to expect from user server [null]: <enter> MESSAGING SERVER: Key to expect from user server [null]: <enter> MESSAGING SERVER: Key to send to grid server [null]: <enter> 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]: <enter> Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw; < MESSAGING SERVER: DLL for comms provider [OpenSim.Region.Communications.OGS1.dll]: <enter> MESSAGING SERVER: Http Listener port [8006]: <enter> MESSAGING SERVER: Use SSL? true/false [False]: <enter> 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.
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.
- Select Services > Start Region Service, and press exit after "done" appears
- Select Region-service
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]: <enter> DEFAULT REGION CONFIG: Grid Location (Y Axis) [1000]: <enter> DEFAULT REGION CONFIG: Internal IP Address for incoming UDP client connections [0.0.0.0]: 192.168.2.101 <LAN-IP> REGION CONFIG #1: Internal IP Port for incoming UDP client connections [9000]: <enter> REGION CONFIG #1: External Host Name [127.0.0.1]: 82.73.39.53 <WAN-IP, in case you want both LAN and WAN connections. Otherwise enter LAN-IP> 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.
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