Linux Gridserver

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(rewrite according to moo installation)
Line 13: Line 13:
  
 
==Setup a Grid==
 
==Setup a Grid==
===Step 1: Installation with Moo===
 
 
* Download the Moo script from console as root in somedir (e.g. ~/source/moo)
 
* Download the Moo script from console as root in somedir (e.g. ~/source/moo)
 
  wget http://os-networks.net/downloads/Moo.tar.gz
 
  wget http://os-networks.net/downloads/Moo.tar.gz
Line 45: Line 44:
 
* Select services menu > Start UGAIM Services
 
* Select services menu > Start UGAIM Services
 
When it says done, press exit
 
When it says done, press exit
* Now select User-Service
+
* Select User-Service
 
  USER SERVER: Default Startup Message [Welcome to OGS]: Welcome to my gridservices
 
  USER SERVER: Default Startup Message [Welcome to OGS]: Welcome to my gridservices
 
  USER SERVER: Default Grid Server URI [http://127.0.0.1:8001/]: <enter>
 
  USER SERVER: Default Grid Server URI [http://127.0.0.1:8001/]: <enter>
Line 58: Line 57:
 
  USER SERVER: Known good region X [1000]: <enter>
 
  USER SERVER: Known good region X [1000]: <enter>
 
  USER SERVER: Known good region Y [1000]: <enter>
 
  USER SERVER: Known good region Y [1000]: <enter>
Setup is now completed, and the User service should be fine now. Press ctrl-a + d to return to the Moo-menu.
+
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 the Grid-service
+
* Select Grid-service
 +
GRID SERVER: OGS Grid Owner [OGS development team]: My development team
 +
GRID SERVER: Default Asset Server URI [http://127.0.0.1:8003/]: <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 [http://127.0.0.1:8002/] <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 [http://127.0.0.1:8002]: <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.
  
===Step 3: Setup a first run===
+
* Select Messaging-service
* We first build the binaries now
+
  MESSAGING SERVER: Default User Server URI [http://127.0.0.1:8002/]: <enter>
  sh ./runprebuild.sh
+
  MESSAGING SERVER: Key to send to user server [null]: <enter>
  nant
+
MESSAGING SERVER: Key to expect from user server [null]: <enter>
* I hope for you that the build will be succesful. If not, check out your mono-version and check out if all dependencies are available. Now we copy the build to the production directory
+
  MESSAGING SERVER: Key to expect from user server [null]: <enter>
  cd bin
+
  MESSAGING SERVER: Key to send to grid server [null]: <enter>
  cp -R * /opt/opensim/production
+
MESSAGING SERVER: Key to expect from grid server [null]:
* Prepare the configuration-files
+
  MESSAGING SERVER: Connection String for Database []:
  cd /opt/opensim/production
+
Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw;
  cp OpenSim.ini.example OpenSim.ini
+
  MESSAGING SERVER: DLL for database provider [OpenSim.Data.MySQL.dll]: <enter>
  cp mysql_connection.ini.example mysql_connection.ini
+
  Data Source=localhost;Database=opensim;User ID=dbuser;Password=dbpw; <
* Setup mysql-storage in OpenSim.ini and mysql_connection.ini (don't setup Grid-mode yet)
+
MESSAGING SERVER: DLL for comms provider [OpenSim.Region.Communications.OGS1.dll]: <enter>
* Run /opt/opensim/scripts/[[iptables-script|iptables.sh]], to fix the router-loopback issue
+
MESSAGING SERVER: Http Listener port [8006]: <enter>
* Edit /etc/hosts.allow, and make sure it allows the service you are running (OpenSim thinks localhost is your LAN-IP, not the loopback-device). The 192.68.1. part is your local-ip range. We are setting up local allowance for the mysql-daemon, and global allowance of the SSH-daemon:
+
MESSAGING SERVER: Use SSL? true/false [False]: <enter>
  mysqld: 192.168.1. 127.0.0.1 localhost
+
  MESSAGING SERVER: My Published IP Address [127.0.0.1]:
sshd: ALL
+
  82.73.39.53 (WAN-IP)
* Now run OpenSimulator
+
Messaging-Service setup is now completed, and the Messaging-service should run fine now. Press ctrl-a + d to return to the Moo-menu.
  cd /opt/opensim/production
+
mono OpenSim.exe
+
* If the settings are correct, OpenSim will ask you to setup initial settings. Enter your administrator avatar info, the LAN-IP for internal IP, and the WAN-IP for external ip. After everything is entered, the region-server will run in standalone mode. We now setup Grid mode.
+
 
+
===Step 4: Setup a Grid server===
+
In our configuration, we will have the mysql-server, the UGAI-services and one Region-Service on our box. It's easy to extend it later with more Region-Services and/or other boxes.
+
* Copy the [[ugair script]] to /opt/opensim/scripts
+
* Run the script
+
cd /opt/opensim/scripts
+
sh ugair.sh
+
* Start the UGAIR-services
+
* Switch to each Screen session, and go through the initial service setup of each service
+
* Make sure you have the Region Server running in grid-mode (check OpenSim.ini)
+
 
+
  
===Step 4:Adding custom textures===
+
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.
Check out [[Inworld_Data|Inworld Data]]
+
* 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
  
See also [[Ogltree_Install_Instructions]]
+
==Redux specific==
 +
Coming later...

Revision as of 04:46, 3 July 2008

This tutorial is meant to setup a production environment on your Linux-server.

Recommended Software and Versions

  • Archlinux - Fast and lightweight linux-distro
  • Mono 1.9.1 - .NET framework
  • OpenSSH - Remote terminal connection
  • RSync - Remote backup tool
  • Nant - Building tool
  • Ngircd - Easy and fast IRC-server
  • SVN - Backup
  • Screen - Multiple terminal-sessions


Setup a Grid

  • Download the Moo script from console as root in somedir (e.g. ~/source/moo)
wget http://os-networks.net/downloads/Moo.tar.gz
  • Unpack
tar xvfz Moo.tar.gz
  • 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 

Redux specific

Coming later...

Personal tools
General
About This Wiki