Pr - Laboratorios Virtuales UPM - Universidad Politécnica de Madrid

Transcripción

Pr - Laboratorios Virtuales UPM - Universidad Politécnica de Madrid
Meta-manual
Laboratorios 3D
Autores: Daniel Contreras Masedo
Daniel Fernández-Avilés Pedraza
José Carlos Salazar Calderón
Vicerrectorado de Planificación Académica y Doctorado
2
Vicerrectorado de Planificación Académica y Doctorado
Índice
Índice ........................................................................................................................................ 3
Introducción ............................................................................................................................ 4
Descripción general ....................................................................................................................... 4
OpenSim ................................................................................................................................... 5
¿Qué es OpenSim? ........................................................................................................................... 5
Características ............................................................................................................................... 5
Requisitos mínimos ........................................................................................................................ 5
Descarga de Opensim ..................................................................................................................... 6
Modos de operación de Opensim .................................................................................................. 7
Configuración Standalone .............................................................................................................. 9
Configuración GRID ....................................................................................................................... 12
Pre-requisitos .......................................................................................................................................................... 12
Creación del Grid ..................................................................................................................................................... 12
Añadir Región existente en GRID ............................................................................................................................ 15
Añadir Región nueva en GRID ................................................................................................................................. 19
Configuración de Opensim en Windows Server 2008 ............................................................... 22
APACHE+MYSQL+PHP (WAMP) ............................................................................................ 23
Instalación de WAMP.................................................................................................................... 23
Abrir puerto 80 en Windows 7 (o cualquier otro puerto) ....................................................... 29
MYSQL .................................................................................................................................... 31
Paso 1 – Descarga ......................................................................................................................... 31
Paso 2 – Instalación ...................................................................................................................... 32
WORKBENCH .......................................................................................................................... 39
Descarga e instalación de Workbech ......................................................................................... 39
Crear el Schema de la base de datos......................................................................................... 44
Backup/restore base de datos desde workbench ..................................................................... 47
Modificar fichero my.ini.............................................................................................................. 49
Anexo I - Definiciones .......................................................................................................... 51
3
Vicerrectorado de Planificación Académica y Doctorado
Introducción
Descripción general
El proyecto Laboratorios Virtuales de la UPM trata sobe la creación de un espacio virtual en el
que los alumnos de todos los centros de la Universidad Politécnica de Madrid pueden realizar
actividades concernientes a determinadas asignaturas dentro de su especialidad.
Los alumnos podrán moverse libremente por el mundo virtual para visitar regiones
pertenecientes a otros centros universitarios y ver las actividades realizadas por alumnos de
otras titulaciones.
El principal objetivo de este manual es explicar de forma detallada la creación de un entorno
virtual similar al creado para los laboratorios virtuales. Para construir esta plataforma virtual,
necesitaremos una serie de herramientas y software, que serán explicados a lo largo del manual.
Así como, los pasos a seguir para conseguir este objetivo.
4
Vicerrectorado de Planificación Académica y Doctorado
OpenSim
¿Qué es OpenSim?
Opensim es un gestor de código abierto, para simular entornos virtuales que utiliza el mismo
estándar que Second Life para comunicarse con sus usuarios. Cada vez es más estable, ya que se
acerca a la versión 1.0, pero todavía es considerado software alfa.
Características

Entornos multiusuario 3D que pueden ir de uno a cientos de simuladores

Espacios virtuales 3D de tamaño variable dentro de una sola instancia.

Múltiples clientes y protocolos - El mismo mundo, al mismo tiempo, a través de múltiples
protocolos.

Simulación de la física en tiempo real, con múltiples opciones de motor, incluyendo ODE.

Clientes que crean contenido 3D en tiempo real.

Creación de scripts en el mundo virtual usando diferentes lenguajes, incluyendo LSL /
OSSL, C# y VB.NET

Capacidad ilimitada de personalizar la aplicación a través del uso de módulos.
Requisitos mínimos
Para ejecutar Opensim en modo autónomo, es necesaria la utilización de bases de datos como
SQLite o MySQL.
Por defecto, al instalar Opensim se ejecuta SQLite, por lo que no necesita de configuración por
parte del usuario. En cambio, si se quiere tener el control de la base de datos para poder
acceder a la información, o se necesita una base de datos extensa, se debe utilizar MySQL. Para
poder utilizar MySQL es necesaria una mínima configuración de los archivos opensim.ini,
GridCommon.ini o Standalone.ini, según la configuración de Opensim.
Por último, debe decirse que al ser código abierto, su código fuente está disponible para
cualquiera, puede ser descargado, modificado y utilizado libremente. Está escrito en la
plataforma .NET y es multiplaforma, se puede ejecutar tanto en Windows con .NET Framework
instalado como en Linux y Mac OS/X con Mono instalado.
5
Vicerrectorado de Planificación Académica y Doctorado
Según el sistema operativo donde se aloje el servidor Opensim, hay que tener en cuenta algunos
aspectos:

Opensim puede ejecutarse tanto en sistemas de 32 y 64 bits.

Por defecto Opensim se ejecuta con la base de datos SQLite, pero tiene la posibilidad de
usar MySQL obteniendo un mayor rendimiento, funcionalidad y versatilidad.

Para ejecutar Opensim en Windows es necesario:
o
NET Framework 3.5. como mínimo.
o
Windows XP con al menos Service Pack 2 (SP2).
o
En Windows 7 puede que sea necesario ejecutar el programa como administrador
(clic derecho -> "Ejecutar como administrador"). Se mostrará una ventana
pidiendo permiso, seleccionamos "Permitir".

Para ejecutar Opensim en Linux o Mac OSX es necesario:
o
Usar Mono 2.4.3 o posterior.
Descarga de Opensim
La web http://opensimulator.org/wiki/Download ofrece dos formas de descarga:

Binaries Packages (binarios): directorios y archivos preparados para la ejecución.
Simplemente extraer el contenido del archivo descargado, configurar y lanzar el proceso.

Source code (código): esta opción permite editar el código de Opensim y compilarlo para
generar los ejecutables modificados. Si se escoge esta opción hay que seguir los siguientes
pasos:
1. Disponer de Visual Studio actualizado (2008 o 2010).
2. Ejecutar el archivo "runprebuild.bat"(para 2008) o "runprebuild2010.bat"(para
2010).
3. En caso de que sea necesario modificar el código, abrir el archivo generado
"OpenSim.sln" con cualquiera de los Visual Studio.
4. Compilar el nuevo código: Build (o Debug)  Build Solution.
Una vez descargado descomprimir el fichero en la ruta en la que se desee tener Opensim.
6
Vicerrectorado de Planificación Académica y Doctorado
Modos de operación de Opensim
Opensim se ejecuta como un proceso en el sistema, pero a su vez este proceso está compuesto
por muchos servicios (gestión de usuarios, inventario, regiones...) por lo que nos ofrecen la
posibilidad de ejecutarlo de varios modos diferentes, de manera que podamos distribuir la carga
de ese proceso entre varios servidores en caso de que sea necesario, los más utilizados son el
modo StandAlone (local) y Grid (comunidad).

Modo Standalone
Es el modo por defecto del simulador. En este modo el proceso OpenSim.exe es independiente y
gestiona todas las regiones y usuarios del simulador. El simulador puede tener todas las regiones
que se quiera, pero todas son gestionadas por el mismo servidor. Este modo es útil para
servidores pequeños o para realizar pruebas de configuración.
7
Vicerrectorado de Planificación Académica y Doctorado

Modo Grid
En este modo, el simulador está distribuido entre varios procesos, que pueden estar en varias
máquinas distintas. El proceso Robust.exe es el que enlaza todos los procesos y se encarga de
gestionar los servicios (usuarios, inventarios etc).
8
Vicerrectorado de Planificación Académica y Doctorado
Configuración Standalone
En el archivo OpenSim.ini (…opensim-0.7…\bin \Opensim.ini):
[XEngine]
Enabled = true
[…]
AllowOSFunctions = true
Esta última línea permite habilitar las funciones propias de Opensim, que se podrán utilizar
dentro de las scripts en el mundo virtual.
Ej: osSetDynamicTextureData();
Las funciones propias de Opensim tienen distintos niveles de peligrosidad por lo tanto debemos
definir el nivel de funciones que permitimos que se usen en nuestro sistema:
;# {OSFunctionThreatLevel} {Enabled:true AllowOSFunctions:true}
{OSFunction threat level? (DANGEROUS!)} {None VeryLow Low Moderate High
VeryHigh Severe} VeryLow
;; Threat level to allow, one of None, VeryLow, Low, Moderate,
High, VeryHigh, Severe
;; See http://opensimulator.org/wiki/Threat_level for more
information on these levels.
;; We do not recommend that use set a general level above Low
unless you have a high level of trust
;; in all the users that can run scripts in your simulator. It
is safer to explicitly
;; allow certain types of user to run higher threat level OSSL
functions, as detailed later on.
OSFunctionThreatLevel = Severe
Esto permite utilizar diferentes compiladores (lsl, c#...):
;# {AllowedCompilers} {Enabled:true} {Languages to allow (comma
separated)?} {} lsl
;; List of allowed languages (lsl,vb,cs)
AllowedCompilers=lsl,cs,js,vb.
9
Vicerrectorado de Planificación Académica y Doctorado
Para añadir voz mediante VIVOX:
[VivoxVoice]
enabled = true
; vivox voice server
vivox_server = www.osp.vivox.com
; vivox SIP URI
vivox_sip_uri = osp.vivox.com
; vivox admin user name
vivox_admin_user = usernameVIVOX
; vivox admin password
vivox_admin_password = passwordVIVOX
En la siguiente sección podemos permitir el uso de NPC en nuestro mundo virtual
[NPC]
;# {Enabled} {} {Enable Non Player Character (NPC) facilities}
{true false} false
; Enabled = false
En la sección arquitectura definimos que vamos a trabajar en modo Standalone:
[Architecture]
;# {Include-Architecture} {} {Choose one of the following
architectures} {config-include/Standalone.ini configinclude/StandaloneHypergrid.ini config-include/Grid.ini configinclude/GridHypergrid.ini config-include/SimianGrid.ini configinclude/HyperSimianGrid.ini} config-include/Standalone.ini
Include-Architecture = "config-include/Standalone.ini"
En el archivo Standalonecommon.ini
(…opensim-0.7.(version)\bin\config-include\Standalonecommon.ini):
En este fichero se encuentra la configuración para enlazar Opensim con la base de datos SQLite
o MySQL. Por defecto Openism viene con SQLite, pero es conveniente cambiar a MySQL.
10
Vicerrectorado de Planificación Académica y Doctorado
Para ello se debe abrir el fichero Standalonecommon.ini y comentar (poner ";" antes de la línea)
la línea:
;Include-Storage = "config-include/storage/SQLiteStandalone.ini";
Y descomentar (quitar ";"):
StorageProvider = "OpenSim.Data.MySQL.dll"
ConnectionString = "Data
Source=localhost;Database=NAME_DATABASE;User
ID=root;Password=PASSWORD_DATABASE;Old Guids=true;"
Quedando el fichero de esta manera:
[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=NAME_DATABASE;User
ID=root;Password=PASSWORD_DATABASE;Old Guids=true;"
Nota: los campos NAME_DATABASE y PASSWORD_DATABASE deben coincidir con los configurados
en MySQL.
11
Vicerrectorado de Planificación Académica y Doctorado
Configuración GRID
Pre-requisitos
Disponer de un equipo con IP pública, es decir que no esté detrás de un router haciendo NAT. No
es tan importante que la IP sea dinámica o fija ya que siempre que se conecta se actualiza la IP.
Si queremos probar en casa, por ejemplo, habría que poner el equipo en la DMZ, lo cual es
siempre peligroso.
Creación del Grid
En primer lugar tenemos que localizar el fichero Robust.ini.example y cambiarle el nombre por
Robust.ini. Las secciones que tenemos que modificar según nuestra base de datos son:
[DatabaseService]
; 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=NAME_DATABASE;User
ID=root;Password=PASSWORD_DATABASE;Old Guids=true;"
;
;
;
;
*
*
*
*
As an example, the below configuration precisely mimicks the legacy
asset server. It is read by the asset IN connector (defined above)
and it then loads the OUT connector (a local database module). That,
in turn, reads the asset loader and database connection information
Nota: los campos NAME_DATABASE y PASSWORD_DATABASE deben coincidir con los configurados
en MySQL.
Destacar que esta base de datos almacena solamente los datos relativos a los usuarios, ya que en
el modo Grid los datos de los usuarios y los datos de los objetos del mundo virtual se guardan en
bases de datos independientes.
[LoginService]
WelcomeMessage = "Welcome, Avatar!"
En este apartado podemos modificar el mensaje de bienvenida.
12
Vicerrectorado de Planificación Académica y Doctorado
[GridInfoService]
; These settings are used to return information on a get_grid_info
call.
; Client launcher scripts and third-party clients make use of this to
; autoconfigure the client and to provide a nice user experience. If
you
; want to facilitate that, you should configure the settings here
according
; to your grid or standalone setup.
;
; See http://opensimulator.org/wiki/GridInfo
; login uri: for grid this is the login server URI
login = http://127.0.0.1:8002/
; long grid name: the long name of your grid
gridname = "the lost continent of hippo"
; short grid name: the short name of your grid
gridnick = "hippogrid"
; login page: optional: if it exists it will be used to tell the
client to use
;
this as splash page
;welcome = http://127.0.0.1/welcome
En la siguiente sección tenemos que en primer lugar, establecer la url de la red que el usuario
tendrá que introducir en el visor para encontrar nuestro mundo virtual, después podemos
modificar de forma opcional el nombre del grid y nick y por último, también de manera
opcional, tenemos que establecer la imagen o la página web que queremos mostrar en el visor
grafico cuando se añada nuestra red, de esta forma se utilizara como portada cada vez que
nuestra red del Grid este marcada en el visor. Como podemos ver en la imagen, en nuestro caso
tenemos como página de portada la web de los Laboratorios Virtuales.
13
Vicerrectorado de Planificación Académica y Doctorado
14
Vicerrectorado de Planificación Académica y Doctorado
Añadir Región existente en GRID
En este caso se supone que se parte de una (o varias) región que se tenía previamente en
Standalone y se quieren cambiar a modo GRID.
Esto ya es algo más complicado ya que no se puede simplemente reemplazar el OpenSim.ini ni
usar el GridCommon.ini sin al menos revisar que su contenido sea correcto.
Se partirá de un ejemplo práctico, un servidor OpenSim que tiene una región llamada
"RegionPrueba_Standalone" y cuyo almacenamiento se hace con SQLite. Las configuraciones más
importantes son:
En OpenSim.ini:
[Architecture]
Include-Architecture = "config-include/Standalone.ini"
En config-include/StandaloneCommon.ini (para SQLITE):
Include-Storage = "config-include/storage/SQLiteStandalone.ini";
Aunque también podría ser perfectamente (para MYSQL):
StorageProvider = "OpenSim.Data.MySQL.dll"
ConnectionString = "Data Source=localhost;Database=opensim;User
ID=opensim;Password=***;Old Guids=true;"
Y por último bin/Regions/Regions.ini:
[RegionPrueba_Standalone]
RegionUUID = 756a1789-4971-456d-8c79-738944ed9591
Location = 1000,1000
InternalAddress = 0.0.0.0
InternalPort = 9000
AllowAlternatePorts = False
ExternalHostName = SYSTEMIP
Antes de hacer nada se hará una copia de seguridad de OpenSim.ini y Regions.ini por si acaso,
apuntando bien todos los datos.
15
Vicerrectorado de Planificación Académica y Doctorado
Pasos a seguir:
1. Realizar los cambios en el fichero OpenSim.ini explicados en la sección Configuración
StandAlone, excepto la última sección referente a la arquitectura que tenemos que
marcar lo siguiente:
[Architecture]
;# {Include-Architecture} {} {Choose one of the following
architectures}
{config-include/Standalone.ini
configinclude/StandaloneHypergrid.ini
config-include/Grid.ini
configinclude/GridHypergrid.ini
config-include/SimianGrid.ini
configinclude/HyperSimianGrid.ini} config-include/Standalone.ini
;; Uncomment one of the following includes as required.
For
instance, to create a standalone OpenSim,
;;
uncomment
Include-Architecture
=
"configinclude/Standalone.ini"
;;
;; Then you will need to copy and edit the corresponding
*Common.example file in config-include/
;; that the referenced .ini file goes on to include.
;;
;; For instance, if you chose "config-include/Standalone.ini" then
you will need to copy
;;
"config-include/StandaloneCommon.ini.example"
to
"configinclude/StandaloneCommon.ini" before
;; editing it to set the database and backend services that
OpenSim will use.
;;
;Include-Architecture = "config-include/Standalone.ini"
; Include-Architecture = "config-include/StandaloneHypergrid.ini"
Include-Architecture = "config-include/Grid.ini"
2. Ahora se editará el archivo que se encuentra en bin/config-include/GridCommon.ini los
apartados que tenemos que modificar serán los siguientes:
16
Vicerrectorado de Planificación Académica y Doctorado
[DatabaseService]
;
; ### Choose the DB
;
; 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=NAME_DATABASE;User
ID=root;Password=PASSWORD_DATABASE;Old Guids=true;"
;
; Change this to your grid-wide asset server.
to the end of any of these addresses.
;
AssetServerURI = "http://.... "
Do not add a slash
[InventoryService]
;
; Change this to your grid-wide inventory server
;
InventoryServerURI = "http://.... "
[GridService]
;
; Change this to your grid-wide grid server
;
GridServerURI = "http://.... "
;; Robust server in port 8002, but not always)
Gatekeeper"http://.... "
[Messaging]
; === HG ONLY ===
;; Change this to the address of your Gatekeeper service
;; (usually bundled with the rest of the services in one
;; Robust server in port 8002, but not always)
Gatekeeper = "http://.... "
[AvatarService]
;
; Change this to your grid-wide grid server
;
17
Vicerrectorado de Planificación Académica y Doctorado
AvatarServerURI = "http://.... "
[PresenceService]
;
; Change this to your grid-wide presence server
;
PresenceServerURI = "http://.... "
[UserAccountService]
;
; Change this to your grid-wide user accounts server
;
UserAccountServerURI = "http://.... "
[GridUserService]
;
; Change this to your grid-wide user accounts server
;
GridUserServerURI = "http://.... "
[AuthenticationService]
;
; Change this to your grid-wide authentication server
;
AuthenticationServerURI = "http://.... "
3. Por último y más importante hay que reconfigurar la región o regiones. En el ejemplo
sólo hay una región, pero si se tienen más sólo hay que repetir el proceso para cada una
de ellas:
1. Editar el archivo bin/Regions/Regions.ini
2. Para cada [Region] se hará lo siguiente:
3. Verificar el nombre de la región, que es el texto que está entre corchetes. Si
quieres cambiarlo puedes hacerlo simplemente modificando este texto.
4. La "RegionUUID" se puede dejar tal cual.
5. Location, por defecto estará en 1000,1000. Se debe localizar un hueco libre y
colocar esa coordenada en esta entrada, por ejemplo "Location = 1001,1002"
(COORDENADAS DE LA REGION).
6. InternalAddress no hay que tocarlo (se queda con 0.0.0.0).
7. InternalPort = 9000 (también como esté).
8. AllowAlternatePorts = False (como esté).
18
Vicerrectorado de Planificación Académica y Doctorado
9. ExternalHostName, se debe cambiar por un nombre que resuelva en internet la IP
pública del servidor, no vale el nombre corto. Por ejemplo "pepito.eui.upm.es" (se
sabe haciendo ping -a "dir ip")
10. Y finalmente añadir la siguiente línea para definir al avatar "nombre del root"
como owner de la región:
MasterAvatarUUID = "734dc98c-188b-4ba1-ba10-40d3ea568718"
(Se puede modificar cuando se quiera)
11. Si se desea que el owner de la región sea otro avatar simplemente se debe
cambiar ese UUID por el correspondiente al avatar.
En este momento se podrá arrancar de nuevo tu región y estará en el GRID, sin embargo
podría haber problemas de permisos de los objetos o script impidiendo a los nuevos usuarios
trabajar con ellos, ya que los objetos y script mantienen sus antiguos dueños. Para solucionar
este problema, debemos habilitar en el fichero Opensim.ini el modo Dios.
[Permissions]
;# {allow_grid_gods} {} {Allow grid gods?} {true false} false
;; This allows users with a UserLevel of 200 or more to assume god
;; powers in the regions in this simulator.
; allow_grid_gods = false
Y de esta forma, ya podemos arrancar Opensim. Al conectarnos desde el visor con el
administrador o owner pulsaremos la combinación de teclas control+Alt+G, y accederemos con
todos los permisos. Nos deberá aparecer en la parte superior derecha una nueva opción en el
menú denominada Admin, nos vamos a esta opción y dentro seleccionamos Objetos y tenemos
dos opciones Forzar que yo sea el propietario y Forzar permiso al propietario. Para conseguir
tomar posesión de cualquier objeto simplemente le seleccionamos a él o a varios objetos y
ejecutamos estas dos opciones. Para salir de modo Dios pulsaremos control+Alt+G+Shift.
Añadir Región nueva en GRID
En la opción más sencilla sería unir un Opensim vacío al Grid. Supongamos que tenemos un
Opensim 0.7.X. Habría que seguir estos pasos:
1. Descomprimir el ZIP.
19
Vicerrectorado de Planificación Académica y Doctorado
2. Realizar los cambios en el fichero OpenSim.ini explicados en la sección Configuración
StandAlone, excepto la última sección referente a la arquitectura que tenemos que
marcar lo siguiente:
[Architecture]
;# {Include-Architecture} {} {Choose one of the following
architectures}
{config-include/Standalone.ini
configinclude/StandaloneHypergrid.ini
config-include/Grid.ini
configinclude/GridHypergrid.ini
config-include/SimianGrid.ini
configinclude/HyperSimianGrid.ini} config-include/Standalone.ini
;; Uncomment one of the following includes as required.
For
instance, to create a standalone OpenSim,
;;
uncomment
Include-Architecture
=
"configinclude/Standalone.ini"
;;
;; Then you will need to copy and edit the corresponding
*Common.example file in config-include/
;; that the referenced .ini file goes on to include.
;;
;; For instance, if you chose "config-include/Standalone.ini" then
you will need to copy
;;
"config-include/StandaloneCommon.ini.example"
to
"configinclude/StandaloneCommon.ini" before
;; editing it to set the database and backend services that
OpenSim will use.
;;
;Include-Architecture = "config-include/Standalone.ini"
; Include-Architecture = "config-include/StandaloneHypergrid.ini"
Include-Architecture = "config-include/Grid.ini"
En este paso debemos editar el fichero GridCommon.ini que se encuentra en bin/configinclude, tenemos que seguir los mismos pasos que en el apartado Añadir Región existente en
GRID, referentes a la modificación de este mismo fichero.
3. Ejecutar bin/OpenSim.exe
4. Cuando se abra la consola, si no hay ningún problema, preguntará por los siguientes
parámetros:
1. New region name []: Se le dará un nombre a la región. Se debe evitar que en el
nombre de región exista la palabra región.
2. Region UUID [a27a1607-d97a-469a-8aa0-aaeae2b9dbc2]: El sistema nos propone
un UUID para la región, salvo algún motivo especial, se puede dar al ENTER y
aceptar el que proponga.
20
Vicerrectorado de Planificación Académica y Doctorado
3. Region Location [1000,1000]: esto es MUY IMPORTANTE. Las coordenadas de una
región definen su posición en el mapa del grid. Es fundamental que no coincidan
con la de otra región ya en el grid porque en ese caso habrá colisión y nuestro
simulador fallará al arrancar. Si no sabemos unas coordenadas X e Y libres
podemos dar unas al azar. Como todas las regiones van a estar cerca de
(1000,1000) podemos usar algo que no esté cerca como (1000,2000) o
(10000,10000) y luego, posteriormente cambiar estas coordenadas. Mover una
región es muy fácil.
4. Internal IP address [0.0.0.0]: Las IPs a las que hará BIND. Lo mejor, dejarlo tal
cual y pulsar ENTER.
5. Internal port [9000]: Idem. A no ser que tengamos conflictos de puertos, lo mejor
es dejar. Pulsar ENTER.
6. Allow alternate ports [False]: Ignorar. Pulsar ENTER.
7. External host name [SYSTEMIP]: Importante. Se dará el nombre que resuelve en
internet la IP pública del servidor. Por ejemplo "xxxx.upm.es".
8. Después aparecerán varias líneas.
9. New estate name [My Estate]: El "Estate" es un concepto que agrupa algunos
parámetros de distintas regiones, por ejemplo la hora del día. Siempre se puede
hacer un "Estate" propio.
10. Aparecerán más líneas.
11. Estate owner first name [Test]: La región debe tener un "owner" y como estamos
en grid, el avatar Owner de la región debe estar creado en el grid también. Esto
se puede cambiar más adelante también. Entonces:
12. Estate owner first name [Test]: nombre_avatar
13. Estate owner last name [User]: apellido_avatar
14. Aparecerán más líneas.
15. Y si sale algo así (el nombre de tu region) es que todo ha salido bien:
12:32:18 - [LAND IN CONNECTOR]: Starting...
12:32:18 - [NEIGHBOUR IN CONNECTOR]: Starting...
12:32:18 - [!]:STARTUP COMPLETE
Currently selected region is nombre_region
12:32:18 - [STARTUP]: Startup took 52m 57s
12:32:19 - [WORLDMAP]: Deleting old map tile 00000000-0000-0000-0000000000000000
12:32:19 - [GRID SERVICE]: Region nombre_region (a27a1607-d97a-469a-8aa0aaeae2b9dbc2) registered successfully at 256000-256256
12:32:20 - [REGION]: Enabling logins for nombre_region
21
Vicerrectorado de Planificación Académica y Doctorado
Configuración de Opensim en Windows Server 2008





Abrimos el panel de administración del servidor.
Dentro del apartado de características, en la parte de la derecha pulsamos en “Agregar
características”
Seleccionamos .Net Framework 3.5.1 y lo instalamos pulsando en siguiente.
En determinado punto nos pedirá crear un rol nuevo (Servidor web IIS), aceptamos y
continuamos hasta finalizar.
En Resumen de características debería quedar de esta forma:
22
Vicerrectorado de Planificación Académica y Doctorado
APACHE+MYSQL+PHP (WAMP)
No es necesaria la instalación de Apache y PHP para poder montar entornos en OpenSim, pero
pueden proporcionar servicios adicionales dentro de los mundos virtuales, como suministrar
imágenes, documentos o páginas web que sean necesarias para el desarrollo de la práctica
virtual. Podemos instalar y configurar Apache, Mysql y PHP de forma fácil utilizando aplicaciones
del tipo WAMP, EasyPHP, MAMP o XAMP.
De esta forma podemos arrancar nuestro servidor, con un sencillo instalador que nos deja todo
listo para trabajar.
Instalación de WAMP
Descargar de la página la versión de apache: http://www.wampserver.com/en/
Una vez se ha descargado el ejecutable, le damos doble click para instalar. Nos aparecerá la
siguiente ventana.
Hacemos click en Next para continuar con la instalación.
23
Vicerrectorado de Planificación Académica y Doctorado
Aceptamos la licencia y le hacemos click en Next.
En la siguiente pantalla tenemos que elegir la ruta donde vamos a instalar el software y hacemos
click en Next. Podemos buscar la ruta deseada utilizando el botón Browse y posteriormente
aceptamos dicha ruta.
24
Vicerrectorado de Planificación Académica y Doctorado
En esta pantalla podemos validar dos opciones referentes a la creación de un icono de acceso
directo en el escritorio y otro icono en la barra de acceso rápido, seleccionamos según nuestros
intereses y hacemos click en Next.
A continuación, hacemos click en Instalar.
25
Vicerrectorado de Planificación Académica y Doctorado
En la siguiente ventana el software nos permite añadir un servidor de correo (servidor SMTP)
introduciendo el nombre del servidor en el campo SMTP y una cuenta de correo en el campo
Email. En caso contrario, deja los valores que aparecen por defecto y pulsa el botón Next.
El paso siguiente, es permitir el acceso de Apache a través del Firewall de Windows para redes
privadas. Si no lo hacemos el Firewall de Windows bloqueará el programa y no funcionará.
Aparecerá una pantalla emergente solicitando estos permisos en este momento o cuando la
instalación se complete.
Finalmente, esta ventana muestra que la instalación se ha completado.
26
Vicerrectorado de Planificación Académica y Doctorado
El siguiente paso es opcional, ya que el software nos permite cambiar el idioma por defecto
(ingles). Cuando hemos instalado del software nos aparece un icono de WampServer en la
bandeja del sistema en la barra inferior derecha. Haciendo click con el botón derecho sobre este
icono y seleccionando la opción Language, nos permite elegir entre una gran variedad de
idiomas. Seleccionamos según nuestras necesidades. Nosotros seleccionaremos español.
27
Vicerrectorado de Planificación Académica y Doctorado
Para acceder al panel de administración de Wamp, tenemos que hacer click con el botón
izquierdo sobre el icono de WampServer.
En este panel tenemos una gran cantidad de opciones: podemos configurar las diferentes
opciones de Apache, PHP y MySQL y arrancarlo de forma individual, tenemos un botón que nos
permite arrancar, detener y reiniciar todos los servicios, podemos utilizarla herramienta
phpMyAdmin para crear y gestionar bases de datos.
Debemos comprobar que el puerto 80 está libre en nuestro ordenador, ya que de lo contrario el
servicio Wamp no funciona.
28
Vicerrectorado de Planificación Académica y Doctorado
Abrir puerto 80 en Windows 7 (o cualquier otro puerto)
En Windows 7 puede ser necesario tener que abrir el puerto 80:
1. En “Inicio” escribir “firewall windows” o acceder a través de: Panel de Control 
Firewall de Windows.
2. En la ventana que aparece, dirigirse a “Configuración Avanzada” (a la izquierda de la
barra).
3. Se abrirá otra ventana y a la derecha marcar “Reglas de Entrada”.
4. Seleccionar “Nueva Regla”.
5. Aparecerán una serie de opciones, seleccionar “Puerto” y dar a siguiente.
6.
7. En la ventana que aparece dará a elegir entre el puerto TCP o UDP (escoger el puerto que
se desee abrir) y en “Puertos locales Específicos” poner el puerto que se desea abrir.
29
Vicerrectorado de Planificación Académica y Doctorado
8. Pulsamos siguiente y aparecerá una ventana para permitir la conexión. Pulsar “Permitir
la conexión” y seguimos.
9. Ahora elegir el modo en el que queremos que se aplique la regla, en la mayoría de los
casos debe de ser privado.
10. Por último, dar un nombre y descripción del puerto que hemos abierto.
30
Vicerrectorado de Planificación Académica y Doctorado
MYSQL
Primero se empezará con la instalación de MySQL 5.0 para Windows y luego una utilidad de
administración llamada MySQL Workbench que es una herramienta con interface grafica para
MySQL.
Paso 1 – Descarga
Ir directamente a la página de descarga del MySQL:
http://dev.mysql.com/downloads/mysql/
Y descargar el paquete de MySQL MSI que se desee eligiendo previamente el sistema operativo.
Una vez seleccionado el paquete deseado, llevara a una página donde pide ingresar el usuario o
registrarse. Aquí se puede escoger la opción “No Thanks, just take me to the downloads!”, que
aparece más abajo y no es necesario registrarse.
31
Vicerrectorado de Planificación Académica y Doctorado
Paso 2 – Instalación
Una vez descargado, se ejecuta y se iniciará el asistente apareciendo la siguiente ventana:
Pulsar botón “Next”. En la siguiente ventana aceptar la licencia y pulsar el botón “Next”.
32
Vicerrectorado de Planificación Académica y Doctorado
Aparecerá la siguiente ventana en la que poder elegir las opciones de instalación. Elegir la
opción que se desee y hacer clic en “Next”.
En este punto puede aparecer una ventana que resume la información de la instalación que se
llevará a cabo. Hacer clic en “Install” para que empiece la instalación:
Comienza la Instalación. La instalación se prolongará unos instantes.
Nota: Si la instalación es en Windows puede solicitarse permiso de administrador para proceder
a la instalación.
Al terminar el progreso de instalación aparecerán dos ventanas. En ambas pulsar botón “Next”.
33
Vicerrectorado de Planificación Académica y Doctorado
Una vez terminada la instalación, con el botón “Finish” se cerrará el asistente de instalación.
34
Vicerrectorado de Planificación Académica y Doctorado
Si se ha dejado seleccionada la opción de “Launch the MySQL Instance Configuration Wizard” se
iniciará el asistente de configuración de MySQL server instance. Windows puede solicitar permiso
de administrador para proceder a la instalación. Marcamos dicha opción y pulsamos el botón
“Next”.
A continuación se inicia el asistente de configuración. En la primera ventana pulsar el botón
“Next” para comenzar con la configuración:
Aparecerá una ventana que muestra los tipos de configuración que se pueden escoger. Escoger
“Standard Configuration”, y pulsar el botón “Next”.
A continuación se podrá indicar si queremos que el asistente de configuración de MySQL Server
cree un servicio de Windows o un fichero de proceso por lotes (.bat). Aquí podremos utilizar el
método que más convenga para iniciar MySQL Server. Cada uno tiene sus ventajas e
inconvenientes. El más adecuado en servidores de producción es "Install As Windows Service",
pues se podrá indicar el modo de inicio: manual, automático, etc. También se podrá deshabilitar
35
Vicerrectorado de Planificación Académica y Doctorado
o reiniciar desde otras aplicaciones en caso necesario. Si se marca esta opción se deberá indicar
el nombre que se le dará al servicio en "Service Name”. Marcando la opción "Launch the MySQL
Server automatically" se indicará que el servicio de MySQL Server se inicie de forma automática
al iniciarse el sistema operativo. Si se marca la opción "Include Bin Directory in Windows PATH"
el asistente creará varios ficheros de proceso por lotes (.bat), ejecutables, para iniciar, detener
SQL Server, la carpeta donde se creen será añadida a la variable de entorno PATH, para que se
pueda iniciar o detener MySQL Server desde cualquier carpeta en modo MS-DOS.
En este caso, se marcará la opción "Install As Windows Service" (para que MySQL funcione como
un servicio de Windows); activar “Launch the MySQL Server automatically” (al iniciar Windows
se inicia el servicio de MySQL) y también se activa “Incluye Bin Directory in Windows PATH”.
Pulsar el botón “Next”:
Se indicará también la contraseña para el superusuario root, que será el que tenga acceso a
todos los esquemas (schemas). Si se marca la opción "Enable root access from remote machines"
se deberá indicar a MySQL Server que permita el acceso desde otros equipos de la red (o
Internet) mediante este superusuario. Si se marca la opción "Create An Anonymous Account"
creará una cuenta anónima que se permitirá el acceso a MySQL sin introducir usuario y
contraseña. En este caso, marcar la opción “Modify Security Setting” y "Enable root access from
remote machines". Introducir la clave para el usuario root y pulsar el botón “Next”:
36
Vicerrectorado de Planificación Académica y Doctorado
Por último, pulsar en el botón “Execute” para que el asistente de configuración de MySQL Server
aplique todas las opciones indicadas anteriormente:
Si no hay problemas se mostrará esta ventana indicando que el proceso de instalación y
configuración de MySQL Server ha terminado y se ha instalado e iniciado el Servicio que
ejecutará MySQL.
También mostrará el mensaje: "Configuration file created, Windows service MySQL installed,
Service started succesfully, Security settings applied". Pulsar sobre el botón “Finish” para
terminar con el asistente de configuración del servidor MySQL.
37
Vicerrectorado de Planificación Académica y Doctorado
El Cliente de Línea de Comandos se puede iniciar desde:
Menú Inicio > MySQL > MySQL Server 5.5 >MySQL 5.5 Command Line Client.
Otra opción más cómoda es escribir directamente el comando mysql.exe -uroot -p desde la
consola de Windows.
38
Vicerrectorado de Planificación Académica y Doctorado
WORKBENCH
Descarga e instalación de Workbech
Entrar en:
http://dev.mysql.com/downloads/workbench/
Escoger el instalador MSI para Microsoft Windows y hacer clic en Download.
No es necesario registrarse. Hacer clic en “No thanks, just start my download!”.
39
Vicerrectorado de Planificación Académica y Doctorado
Guardar el archivo de instalación en el sistema y ejecutar el programa de instalación.
Nota: Si no está instalado Visual C++ 2010 Redistributable Package se mostrará este aviso y se
cerrará el asistente de instalación. Se puede obtener el enlace a la descarga desde el sitio web
de Microsoft en http://dev.mysql.com/resources/wb52_prerequisites.html. Se instala, y se
vuelve a ejecutar el programa de instalación de MySQL Workbench.
Comenzará la instalación. Pulsar el botón “Next”:
Dejamos la ruta por defecto. Hacer clic en “Next”.
40
Vicerrectorado de Planificación Académica y Doctorado
Dejar la instalación por defecto, Complete. Hacer clic en “Next”.
Hacer clic en “Install”.
La instalación se prolongará unos minutos. Windows puede solicitar permiso de administrador
para proceder a la instalación. Una vez terminada la instalación, pulsar en “Finish”. Cerrará el
asistente e iniciará la aplicación por primera vez sino hemos desmarcado la casilla “Launch
MySQL Workbench now”.
41
Vicerrectorado de Planificación Académica y Doctorado
Se abre la pantalla principal de MySQL Workbench.
Nota: Se puede abrir MySQL Workbench entrando en Inicio > Todos los programas > MySQL >
MySQL Workbench 5.2 CE
Crear una conexión al servidor MySQL.
Lo primero que se debe hacer es crear una conexión al servidor de Bases de Datos.
En la parte inferior izquierda de la pantalla se encuentra la opción “New Connection”.
42
Vicerrectorado de Planificación Académica y Doctorado
En la pantalla de configuración se establecerá un nombre para la conexión (por ejemplo ‘Local’).
Pulsar en “Store in Vaul” para guardar la contraseña del usuario root.
43
Vicerrectorado de Planificación Académica y Doctorado
Nota: la contraseña es la introducida en la configuración anteriormente descrita.
Pulsar en “OK” dejando los demás parámetros sin modificar. Ahora la conexión creada aparecerá
en la parte izquierda de la pantalla principal de la aplicación.
Crear el Schema de la base de datos
Hacer doble clic sobre la conexión creada:
Al hacer doble clic se abre la pantalla "SQL Editor" que proporciona una interfaz para trabajar
con sentencias SQL contra el mismo servidor.
44
Vicerrectorado de Planificación Académica y Doctorado
Nota: aquí por defecto puede aparecer una base de datos (Schema) llamado test.
Para crear el esquema hacer clic en "New Schema".
En la ventana que aparece, en el campo "Name" introducir en nombre que queremos darle a la
base de datos (por ejemplo opensim). En el apartado "Collation" dejar "Server Default".
45
Vicerrectorado de Planificación Académica y Doctorado
Hacer clic en "Apply" y por último en "Close". Al volver a la pantalla "SQL Editor", aparecerá la
base de datos opensim.
46
Vicerrectorado de Planificación Académica y Doctorado
Backup/restore base de datos desde workbench
Los dos primeros pasos son comunes tanto para la copia como para la restauración:
1. Abrir el Workbench y conectarse como ‘Server Administration’ (hacer doble clic sobre "Local
MySQL").
2. Una vez dentro, en el menú de la izquierda pulsar en "Data Export and Restore".
Backup:
3. Dentro de "Data Export and Restore" debemos asegurarnos que estamos en la pestaña "Export
to Disk", la ventana que aparece es como la mostrada en la siguiente figura:
47
Vicerrectorado de Planificación Académica y Doctorado
4. Seleccionar las base de datos de la que se desea realizar la copia de seguridad (1).
5. Hay dos formas de realizar la copia de la base de datos:
"Export to Dump Project Folder": genera diferentes ficheros dependiendo de las tablas
que contenga la base de datos.
"Export to Self-Contained File": genera un único fichero de backup.
6. Seleccionar "Export to Self-Contained File" y marcar la casilla "Create Dump in a Single
Transaction" (2).
7. Indicar el “File Patch” (lugar y nombre del archivo a guardar) (2).
8. Por último hacer clic en "Start Export" (3).
Nota: este proceso puede durar varios minutos.
Restore:
3. Dentro de "Data Export and Restore" debemos asegurarnos que estamos en la pestaña "Import
to Disk", la ventana que aparece será como la mostrada en la siguiente figura:
48
Vicerrectorado de Planificación Académica y Doctorado
4. Hay dos formas de realizar la restauración dependiendo de cómo se realizó el backup, "Import
to Dump Project Folder" o "Import to Self-Contained File”.
5. Seleccionar "Import to Self-Contained File" y en "File Patch" seleccionar el archivo para hacer
el restore (1).
7. Por último hacer clic en "Start Import" (2).
Nota: este proceso durará varios minutos (alrededor de 20 minutos). La barra de progreso se
modifica muy lentamente, pareciendo incluso que el proceso no se está realizando. Si después
de esperar un tiempo prudencial la barra sigue sin moverse, realizar el proceso de nuevo-
Modificar fichero my.ini
MySQL tiene una variable max_allowed_packet que controla el máximo tamaño de su buffer
de comunicación. Para cambiar el valor de la variable max_allowed_packet de MySQL se debe
hacer lo siguiente:
En el fichero “my.ini” que se encuentra en la ruta de instalación de MySQL, modificar el
parámetro max_allowed_packet. El valor máximo para la versión 5.5 es de 1Gb. Los valores
de las variables pueden tener un sufijo K (Kilobyte), M (Megabyte), o G (Gigabyte), ya sea en
mayúsculas o minúsculas, para indicar la unidad.
49
Vicerrectorado de Planificación Académica y Doctorado
En las siguientes figuras se muestra a modo de ejemplo como
modificar la variable a 16M:
[mysql]
max_allowed_packet=16777216
O bien:
[mysql]
max_allowed_packet=16M
50
Vicerrectorado de Planificación Académica y Doctorado
Anexo I - Definiciones

Avatar: Representante gráfico asociado a un usuario en el mundo virtual.

Canal: Se identifica por un número entero y generalmente se utiliza para enviar mensajes. El
canal por defecto es el 0, que es por el que se transmiten los mensajes de chat. Los demás
canales se utilizan para mandar mensajes privados ente objetos. Para enviar un mensaje a
través de un canal se ha de preceder con una barra / y el número del canal a través del cual
se quiere enviar el mensaje.

Fall-Back: Se dice de la región en la que aparecen los avatares la primera vez que acceden al
grid, o bien la región a la que son remitidos en caso de no estar disponible la región donde
estuvieron por última vez. Normalmente la región Fall-Back está en la parte central del grid.

Grid: Por definición es un sistema de computación distribuido que permite compartir
recursos no centrados geográficamente. Administra, entre otros factores, las posiciones de
cada región en el mundo virtual, el inventario de los avatares y el control de acceso al
mundo virtual. (Habrá que seleccionar el grid GridLab en el visor para poder acceder.)

HUD: Head Up Display. Se trata de un elemento visual adherido a la pantalla del visor.

IAR: Extensión de un tipo de fichero que almacena el inventario de un avatar.

Inventario: Todos los objetos virtuales que posee un avatar.

Loginuri: Dirección URL del grid al que se quiere acceder. Es necesario especificar un nombre
e introducir el Loginuri para poder acceder a un grid.

LSL: Linden Script Language. Es el lenguaje de programación en el que están escritos la
mayor parte de los scripts de Open Simulator.

MetaBot: Ver NPC.

MetaVerso: Mundo virtual.

MySQL: Software que da soporte a bases de datos. Es necesario instalarlo junto con una
versión de Open Simulator para dar soporte a una región o al grid.

NPC: Non Player Character o MetaBot. Se denomina a un avatar controlado por una máquina.
51
Vicerrectorado de Planificación Académica y Doctorado

OAR: Extensión de un tipo de fichero que almacena una región con todo su contenido.
Generalmente sirve para duplicar o trasladar una región y todo su contenido de un servidor a
otro.

Open Simulator: También denominado OpenSim. Es una plataforma gratuita capaz de dar
soporte a un mundo virtual operativo. Soporta múltiples regiones independientes conectadas
a un único grid centralizado. (Su estructura es similar a la de internet, donde cualquiera
puede montar su propio servidor para mostrar una página web y acceder a páginas web
alojadas en otros servidores.)

Prim: Abreviatura de Primitive o primitiva. Son los objetos básicos que se encuentran en el
mundo virtual, por separado, o combinados entre sí para formar una estructura compleja.
Las primitivas pueden contener uno o varios scripts y su forma suele ser sencilla como la de
un cilindro, un cubo, etcétera.

Región: Se trata del espacio virtual físico donde los avatares se mueven e interactúan. La
forma es cuadrada y suele contener una isla, montañas, océano o una llanura.

Sand-Box: Se dice de una región o lugar del mundo virtual destinado a la experimentación.

Script: Programa simple encargado de realizar una o varias acciones. En Open Simulator, los
scripts están contenidos en primitivas.

Sculpt: Forma compleja definida por una textura que puede aplicarse a una primitiva.

Servidor: Ordenador que da soporte a una o más regiones, al grid o a ambos.

Stand-alone: Se dice de un grid con una única región sin acceso a internet destinado
generalmente al desarrollo controlado de contenido en el mundo virtual.

UUID: User Unique IDentifier. Identificador único de cada avatar en el grid.

Visor: Programa para visualizar el mundo virtual y acceder al mismo. Existen diversas
alternativas para acceder a Open Simulator. El visor recomendado es Phoenix.
52

Documentos relacionados