Linux Gridserver

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Step 3:Adding custom textures)
m (Robot: Replacing 'OpenSim' to 'OpenSimulator', which is the precise name)
 
(45 intermediate revisions by 7 users not shown)
Line 1: Line 1:
==Step 1: Install the software==
+
__NOTOC__
We are going to install the opensim server(0.5 stable) in the /opt directory from the terminal...
+
{{Quicklinks}}
su root
+
<br />
cd /opt
+
svn co http://opensimulator.org/svn/opensim/tags/0.5.0-release opensim
+
  
==Step 2: Binary/Library preparation==
+
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.
* We build opensim, and create the proper directory structure for future updates...
+
cd opensim
+
sh ./runprebuild.sh
+
nant
+
* After a succesful build, we are going to create additional directories...
+
mkdir libraries
+
mkdir production
+
mv OpenSim production
+
mv bin production
+
  
* Testrun opensim by executing it:
+
[[Image:Moo.jpg|250px|thumb|Moo Menu]]
mono /opt/opensim/production/bin/OpenSim.exe
+
You will be asked to enter some initial settings. Just hit enter all the time, until the default region is served...
+
You can try connecting the secondlife client by launching the executable like this:
+
/pathtoslclient/secondlife -loginuri http://localhost:9000 -loginpage http://localhost:9000/?method=login
+
  
==Step 3:Adding custom textures==
+
== Required/recommend Software ==
* Copy [http://www.dreamlandgrid.com/genassets.pl genassets.pl] perl script in your libraries directory
+
* Mono 1.9.1 - .NET framework
* Download the blender texture cd (as an example)
+
* MySQL - Main database engine
* Create jpeg2000 files from regular jpg files, using a perl [[jp2_batch_converter|jp2 batch converter]] (based on Jasper)
+
* 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 [http://127.0.0.1:8001/]: <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 [http://127.0.0.1:8004/]: <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 [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.
 +
 
 +
* Select Messaging-service
 +
MESSAGING SERVER: Default User Server URI [http://127.0.0.1:8002/]: <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

Latest revision as of 23:42, 3 March 2012


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.

Moo Menu

[edit] 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

[edit] 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
Personal tools
General
About This Wiki