Instalando un opensim

OpenSim es un servidor 3D de código abierto que permite crear ambientes virtuales (mundos virtuales) que pueden ser accedidos a través de una gran variedad de visores (clientes) o protocolos (software y web). OpenSim es configurable para suplir sus necesidades y puede ser extendido usando módulos. La licencia de OpenSim es BSD, permitiendole ser de código libre y al mismo tiempo ser usado en proyectos comerciales.

 

Para mas info de OpenSim ir a la pagina del proyecto.

Para comenzar la instalación vamos a partir del código fuente, aunque ya hay binarios compilados, personalmente recomiendo compilarlos en la maquina que se va a usar.

De ante mano necesitaremos tener instalados los siguientes paquetes.
Mono
MySql
Abriremos una consola e instalaremos los paquetes faltantes.
Ejutaremos como suepr user los siguientes comandos

  1. sudo apt-get update
  2. sudo apt-get install mono-complete
  3. sudo apt-get install mysql-server

Introducir la contraseña para el usuario root de mysql

En el dialogo anterior pedira la contraseña del usuario root de mysql y su confirmación si todo se ha descargado bien y sin ningun problema ya tendremos el framework de mono instalado y corriendo un servidor de mysql en nuestro sistema. para asegurarnos que el mysql este corriendoen la consola escribiremos el siguiente comando.

  • sudo netstat -tap
y si nos sale la siguiente linea entre otras, es porque nuestro servidor mysql esta corriendo
tcp     0   0    localhost:mysql  *:*      LISTEN  7686/mysqld
El siguiente paso es bajar el Opensim
Bajaremos el source oficial desde la pagina www.opensimulator.org yo prefiero utilizar la consolacon el siguiente comando
  • wget http://opensimulator.org/dist/opensim-0.7.3-source.tar.gz

Una vez que tenemos el source lo descomprimimos con el comando

  • tar -xzvf opensim-0.7.3-source.tar.gz

Entramos al directorio que descomprimimos

  • cd opensim-0.7.3-source

Ahora vamos a compilar el opensim en nuestra maquina

  • ./runprebuild.sh
  • xbuild

Con esto ya tendremos nuestro opensim compilado y los binarios se encuentran dentro de la carpeta /bin

Lo primero queremos antes de modificar cualquier cosa es crearnos u directorio donde copiaremos los ejecutables del opensim
  • mkdir /home/$homedir$/opensim
  • cp -R /home/$homedir$/opensim-0.7.3-source/bin/* /home/$homedir$/opensim

Listo tendremos los binariosy sus archivos de configuración separados de los fuentes por si por algun error tendremos que volver atras.
Ahora comenzaremos la configuración.
Primero crearemos la base de datos en mysql y su usuario.

mysql -u root -p

les pedira la clave del usuario root de mysq que la ingresamos anteriormente.
Ahora crearemos la base de datos usando sentencias sql.

  • mysql> create database opensim;
  • Query OK, 1 row affected (0.04 sec)

Cada vez que nos de Query OK quiere decir que ejecuto la sentencias correctamente.
Creamos el usuario opensim

  • mysql> CREATE USER ‘openisim’ IDENTIFIED BY ‘opensim’

y le asignamos los privilegios

  • mysql> GRANT ALL PRIVILEGES ON opensim.* TO ‘opensim’ IDENTIFIED BY ‘opensim’ WITH GRANT OPTION;

Para confirmar que tenemos los permisos en la base de datos entraremos en la consola a mysql con el user opensim y su pass.

  • mysql -u opensim -p

y verificaremos las bases de datos

  • mysql> show databases;

+——————–+
| Database           |
+——————–+
| information_schema |
| opensim            |
+——————–+
2 rows in set (0.02 sec)

Listos vemos que el usuario opensim tiene la base de datos del mismo nombre. Ahora pasaremos a modificar los archivos de configuración del opensim. La gente de opensim dejo los archivos de configuración con la extensión ini.example así que copiaremos esos archivos y les cambiaremos la extensión.

El primer archivo sera el Robust.ini
Existen dos archivos Robust el Robust.HG.ini.example y el Robust.ini.example, nosotros utilizaremos el Robust.HG.ini.example ya que crearemos un grid que permita el hypergrid (es la comunicación de grids, quiere decir que podemos pasar nuestra avatar y sus pertenencias de un grid a otro sin problemas y sin crear usuarios en todos los grid)

  • cp Robust.HG.ini.example Robust.ini

y lo editaremos
buscaremos la sección [DatabaseService] y pondremos nuestros datos de conexión en el string de conexión a mysql.

El archivo OpenSim.ini
Copiaremos el archivo OpenSim.ini.example a OpenSim.ini

  • cp OpenSim.ini.example OpenSim.ini

lo abrimos y buscamos la seccion [Architecture], le pondremos el ; (punto y coma)  a Include-Architecture = “config-include/Standalone.ini” y se lo sacaremos a Include-Architecture = “config-include/GridHypergrid.ini”
asi configuraremos el opensim para HyperGrid.

Luego ingresamos al directorio /config-include y copiamos  GridCommon.ini.example to GridCommon.in

  • cp GridCommon.ini.example GridCommon.ini

Abrimos el GridCommon.ini y editamos la siguientes lineas

Le agregamos el ; (punto y coma) a

; SQLite
;Include-Storage = “config-include/storage/SQLiteStandalone.ini”;

Y editamos los datos de conexion de mysql en el string de conexion y le sacamos los ; (punto y coma).

; MySql
; Uncomment these lines if you want to use mysql storage
; Change the connection string to your db details
StorageProvider = “OpenSim.Data.MySQL.dll”
ConnectionString = “Data Source=localhost;Database=opensim;User ID=opensim;Old Guids=true;”

y cambiamos las siguentes lineas por la ip local de nuestra maquina, la maquina donde va a correr el Robust.exe

AssetServerURI = “http://mygridserver.com:8003”
InventoryServerURI = “http://mygridserver.com:8003”
GridInfoURI = “http://mygridserver.com:8002”
GridServerURI = “http://mygridserver.com:8003”
Gatekeeper = “http://mygridserver.com:8002”
AvatarServerURI = “http://mygridserver.com:8003”
PresenceServerURI = “http://mygridserver.com:8003”
UserAccountServerURI = “http://mygridserver.com:8003”
GridUserServerURI = “http://mygridserver.com:8003”
AuthenticationServerURI = “http://mygridserver.com:8003”
FriendsServerURI = “http://mygridserver.com:8003”
HomeURI = “http://mygridserver.com:8002”
UserAgentServerURI = “http://mygridserver.com:8002”
MapImageServerURI = “http://mygridserver.com:8003”

Bueno ya estamos listo para ejecutar nuestro servidor
abrimos una nueva consola y ejecutamos

  • mono Robust.exe
  • mono OpenSim.exe

 

Servidor de OpenSim funcionando en modo grid, Robust.exe y OpenSim.exe corriendo

Ya tenemos el servidor Corriendo lo que tenemos que hacer es crear nuestro primer usuario que va a ser el Master Avatar del sim.

En el servidor Robust escribimos

R.O.B.U.S.T.# create user   <—- el comando
First name [Default]: Master    <—– el nombre del usuario
Last name [User]: Avatar  <—— el apellido del usuario o avatar
Password:  <—- la contraseña (no se ve cuando se tipea por cuestiones de seguridad)
Email []: micorreo@micorre.com   <—- el correo del usuario
User ID [1e0f0c0f-5b7c-4ba3-a2c3-5bf6ec7be1eb]:  <—- aca se apreta solo enter (es el numero de identificacion del avatar)
23:01:03 – [AUTHENTICATION DB]: Set password for principalID 1e0f0c0f-5b7c-4ba3-a2c3-5bf6ec7be1eb
23:01:03 – [GRID SERVICE]: GetDefaultRegions returning 0 regions
23:01:03 – [USER ACCOUNT SERVICE]: Unable to set home for account Master Avatar.
23:01:04 – [USER ACCOUNT SERVICE]:; Created user inventory for Master Avatar
23:01:04 – [USER ACCOUNT SERVICE]: Account Master Avatar 1e0f0c0f-5b7c-4ba3-a2c3-5bf6ec7be1eb created successfully
R.O.B.U.S.T.#

bueno ya hemos creado el usuario. ahroa procederemos a crear el sim propiamente dicho.

New region name []: Mi Region
RegionUUID [92385718-beb9-434f-b7d3-c34d3e867406]:
Region Location [1000,1000]: 10000,10000
Internal IP address [0.0.0.0]:
Internal port [9000]:
Allow alternate ports [False]:
External host name [SYSTEMIP]: localhost
New estate name [My Estate]: Mi Gran Estado
Estate owner first name [Test]: Master
Estate owner last name [User]: Avatar

Despues de responder estas preguntas ya tendremos creado nuestro sim.

Ahora utilizaremos algun visor para conectarnos a nuestro sim.

 

Visor (SpotOn3d Mostrando nuestra isla en nuestro propio opensim)

 

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *