Iniciando servidor

De VirtUAM-wiki
Saltar a: navegación, buscar
40x40px Esta página está actualizada a la versión OpenSim 0.7.5
Proceso OpenSim en ejecución.

En esta sección se explica con detalle como configurar y ejecutar un servidor OpenSim, en función de la arquitectura elegida para el simulador y de las propiedades del servidor.

Requerimientos técnicos

En función del sistema operativo de nuestro servidor, hay que tener en cuenta los siguientes aspectos.

  • OpenSim puede ejecutarse en sitemas operativos de 32 y 64 bits.
  • Es necesario disponer de una base de datos MySQL, en la que se guardará toda la información del simulador. Por defecto OpenSim se ejecuta en una SQLite pero usando MySQL obtenemos mayor rendimiento, funcionalidad y versatilidad.
  • Para ejecutar en Windows es necesario:
    • NET Framework 3.5. En versiones anteriores y en NET Framework 4.0 no se asegura su funcionamiento.
    • Si se ejecuta en Windows XP asegurarse de que esté actualizado, al menos el Service Pack 2 (SP2).
    • Dependiendo de la instalación, puede que sea necesario ejecutar el programa como administrador (clic derecho -> "Ejecutar como administrador"). Se mostrará una ventana pidiendo permiso, seleccionamos "Permitir".
  • Para ejecutar en Linux y Mac OSX es necesario:
    • Usar Mono 2.4.3, 2.6.x, 2.10.2 o posterior.

Descargando y compilando OpenSim

Se puede descargar OpenSim desde:

40px   Página web oficial de OpenSim

En la web, nos ofrecen dos formas de descarga:

  • Binarios (Binaries): Son una serie de directorios y archivos preparados para la ejecución, simplemente hay que extraer el contenido del archivo descargado, configurar y lanzar el proceso.
  • Código (Source): Esta opción permite editar el código de OpenSim y compilar por uno mismo el código para generar los ejecutables, veamos los pasos a seguir:
  1. Tenemos que disponer de Visual Studio 2008 o 2010.
  2. Ejecutamos el archivo "runprebuild.bat"(para 2008) o "runprebuild2010.bat"(para 2010).
  3. Abrimos el archivo generado "OpenSim.sln" con cualquiera de los Visual Studio. Y realizamos las modificaciones, en caso de que sea necesario.
  4. Compilamos la solución, para ello: Build (o Debug) -> Build Solution.

Configurando el modo StandAlone

El programa no necesita instalación, los ficheros de configuración vienen ya preparados para ejecutar el software en modo StandAlone por defecto. Aún así explicaremos los cambios necesarios para obtener dicha configuración:

1. Configuración de la arquitectura a utilizar
En el fichero bin/OpenSim.ini, al final del mismo, en la sección "Architecture" hay comprobar que la siguiente línea es la única que está descomentada (sin ";" ). <source lang="ini" highlight=2> [Architecture]

     Include-Architecture = "config-include/Standalone.ini"
   ; Include-Architecture = "config-include/StandaloneHypergrid.ini"
   ; Include-Architecture = "config-include/Grid.ini"

</source>

2. Configuración de la base de datos
Renombramos el archivo bin/config-include/StandaloneCommon.ini.example a StandaloneCommon.ini. Lo abrimos y editamos la sección "DatabaseService" cambiamos la configuración por defecto de la base de datos, de SQLite a MySQL, para ello, haremos como anteriormente, comentamos las líneas que no vamos a usar y descomentamos las que queremos. Nos quedaría algo así: <source lang="ini" highlight=6,7,12,13> [DatabaseService]

   ;
   ; ### Choose the DB
   ;
   ; SQLite
   ;Include-Storage = "config-include/storage/SQLiteStandalone.ini";
   ; 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=virtuam;User ID=administrador;Password=adminpw;Old Guids=true;"

</source>

 40px   Para que OpenSim pueda conectarse a la base de datos seleccionada en el fichero, es necesario que la base de datos y el usuario que accede a ella existan.


Configurando el modo Grid

Como vimos cuando analizamos las distintas arquitecturas que podía adoptar OpenSim, cuando usábamos el modo Grid, había una separación en dos tipos de procesos, el Robust y las regiones.

Configuración del Robust

Lo primero que hay que hacer es renombrar el archivo bin/Robust.ini.example a Robust.ini. En dicho archivo configuramos:
1. Configuración de la base de datos
El Robust está pensado para ejecutarse únicamente sobre una base de datos MySQL, por tanto, en la sección "DatabaseService" tendremos que modificar la línea en la que establecemos los parámetros de conexión a la base de datos. <source lang="ini" highlight=3> [DatabaseService]

   StorageProvider = "OpenSim.Data.MySQL.dll"
   ConnectionString = "Data Source=localhost;Database=robust;User ID=administrador;Password=adminpw;Old Guids=true;"

</source>

Configuración de la región

Para que una región pueda conectarse al Robust, hay que realizar los siguientes pasos:
1. Configuración de la arquitectura a utilizar
En el fichero bin/OpenSim.ini, al final del mismo, en la sección "Architecture" hay comprobar que la siguiente línea es la única que está descomentada (sin ";" ). <source lang="ini" highlight=4> [Architecture]

   ; Include-Architecture = "config-include/Standalone.ini"
   ; Include-Architecture = "config-include/StandaloneHypergrid.ini"
    Include-Architecture = "config-include/Grid.ini"

</source> 2. Configuración de los puertos del servidor y la región
El servidor escuchará por defecto en el puerto TCP 9000. Si hay un conflicto por haber dos servidores intentando escuchar el mismo puerto se puede cambiar en la sección "Network". De igual manera sucede con las regiones, que escuchan en puertos UDP, para evitar conflictos hay que indicar distintos puertos al crear la región o en el archivo Regions.ini.
3. Configuración de la base de datos y los servicios
Renombramos el archivo bin/config-include/GridCommon.ini.example a GridCommon.ini. Lo abrimos y editamos la sección "DatabaseService" cambiamos la configuración por defecto de la base de datos, de SQLite a MySQL, como hicimos en otras ocasiones: <source lang="ini" highlight=6,7,12,13> [DatabaseService]

   ;
   ; ### Choose the DB
   ;
   ; SQLite
   ;Include-Storage = "config-include/storage/SQLiteStandalone.ini";
   ; 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=virtuam;User ID=administrador;Password=adminpw;Old Guids=true;"

</source>

En este archivo es importante modificar también la dirección de los servicios de las regiones, que en este caso, serán gestionadas por el Robust; por tanto hay que cambiar la dirección ip que viene por defecto a la dirección del servidor en el que está alojado el Robust. Por ejemplo, indiquemos al servicio que gestiona el inventario la dirección del Robust.

<source lang="ini" highlight=5,6> [InventoryService]

   ;
   ; Change this to your grid-wide inventory server
   ;
   ; InventoryServerURI = "http://myinventoryserver.com:8003"   ;-> Línea por defecto
   InventoryServerURI = "http://IP_ROBUST:8003"                 ;-> Línea modificada

</source>

40px   Este proceso hay que repetirlo con cada uno de los servicios que se encuentran en este archivo.


Ejecutando el simulador

Llegados a este punto ya tenemos configurado el simulador, ya sea en modo Grid o en StandAlone, por tanto ahora hay que comprobar su funcionamiento. Los procesos a ejecutar se encuentran en el directorio bin/ de la carpeta raíz del simulador y son: <source lang ="winbatch">

Robust.exe         // Para ejecutar el Robust
OpenSim.exe        // Para modo StandAlone o regiones que se conectan al Robust

</source> Para ejecutar en Linux: <source lang="bash"> mono --debug OpenSim.exe </source>

40px   Se recomienda ejecutar los procesos desde una consola del sistema, de esta manera podemos comprobar los errores, en caso de haberlos. 


Dirección de acceso al simulador

Para que los usuarios puedan acceder al mundo virtual, es necesario pasarles la dirección de nuestro simulador, que cambia en función de la arquitectura utilizada, por defecto es: <source lang="ini"> http://IP_SERVIDOR:9000 ;; Para modo StandAlone http://IP_SERVIDOR:8002 ;; Para modo Grid </source>