EspriFAQ

= ¿Que es OpenSim? =

OpenSimulator es una plataforma para controlar un mundo virtual y soporta múltiples e independientes regiones conectadas a un solo grid centralizado. En cierto modo es similar a la Web, donde todo el mundo puede poner en marcha su propio servidor Web, y enlazarlos a través de Internet. También puede ser usado para crear un grid privado, como si fuera una intranet privada.

¿Que es una región?
Una región es lo que ves cuando te conectas a OpenSimulator. Es un lugar físico (Virtualmente físico), donde los avatares se mueven e interactúan. Es una parcela cuadrada de tierra la cual puede contener islas, montañas, un valle, edificios, etc., simplemente un océano.

¿Qué es un grid?
El gris es el nivel que organiza las regiones y las posiciona en el mundo, y maneja cosas que deben existir entre las regiones, como el inventario del usuario. Una forma de verlo es como el mapa del mundo.

= Compilando OpenSimulator =

No puedo encontrar ningún archivo compilado o archivos de salida

 * Si estas en Windows, ejecuta runprebuild.bat – en Linux/Mac/FreeBSD, ejecuta runprebuild.sh

VS2005 no abre el archivo .sln

 * Prueba ejecutando VS2005 C#. Probablemente estas ejecutando VS2005 C++. Este es un proyecto C#.

= Ejecutando OpenSimulator =

Ejecutando OpenSim.exe desde la consola de Cygwin no tiene acceso a algunos dll's

 * Haz un 'cd bin' seguido de un 'chmod a+x *' para hacer todos los archivos dll ejecutables.

No puedo arrancar mi sim

 * Mira OpenSim: Running.

= Configurando OpenSimulator =

Primero, lee OpenSim: Configuration.

¿Donde puedo obtener un nuevo UUID para la configuración de mi sim?
Usa 'uuidgen' o puedes generar uno en uuidgen webpage.

¿Puede ejecutar múltiples regiones con OpenSim?
Si. Para hacerlo añade otro archivo xml en la carpeta bin/Regions. Necesitaras crear un nuevo 'sim_UUID' (mira la anotación anterior) y cambiar el 'sim_name', 'intenarl_ip_port', 'sim_location_x' y 'sim_location_y' (y cualquier cosa que tu mismo quieras cambiar). El script share/regions/make.php puede serte util para generar archivos de región automáticamente. Una vez que la región haya sido añadida en la carpeta bin/Regions, reinicia OpenSimulator.

Date cuenta que sim_location_x y sim_location_y deben ser regiones adyacentes, para que así puedas moverte entre ellas.


 * Mira OpenSim: Configuration.

¿Como puedo activar el almacenamiento de prims?
storage_plugin = OpenSim.DataStore.MonoSqlite.dll o storage_plugin = OpenSim.Framework.Data.MySQL.dll
 * En el archivo OpenSim.ini</tt>, cambia la entrada storage_plugin</tt> a

También es necesario que configures los datos de conexión en los atributos de storage_connection_string</tt> - mira el archivo OpenSim.ini.example</tt> en la carpeta bin del paquete OpenSimulator para más información.

Hay varias texturas en la libreria, pero son todas 0x0, ¿Que problema hay?
Para activar el uso de estas texturas extras, es necesario que borres el archivo regionassets.yap</tt>, y renicies tu sim. ATENCIÓN: SI LO HACES, PERDERÁS CUALQUIER RECURSO (texturas, scripts, animaciones, etc) QUE HAYAS SUBIDO!

¿Que base de datos se pueden usar con OpenSim?
Para ejecutar OpenSimulator en modo autónomo, se proveen plugins de bases de datos como SQLite y MySQL. cambien hay un plugin para MSSQL, pero ten en cuenta que aun no ha sido probado a fondo. SQLite no necesita de configuración por parte del usuario, mientras MySQL necesita una mínima configuración (mira mysql-config).

Ejecutando en modo grid normalmente se utiliza la base de datos MySQL. SQLite y MSSQL pueden funcionar pero no han sido probadas a fondo.

¿Puedo exportar todos mis prims para tenerlos bien guardados?
Si. Desde la consola escribe: save-xml [filename]

Después podrás cargar estos prims con: load-xml [filename]

Esta es también una buena forma de volcar y clonar los prims de un servidor OpenSimulator a otro.

= ¡Algo no funciona! =

Recibo errores cuando inicio mi grid sobre el 'owner_uuid' despues de haber actualizado del svn r3254
Cuando actualizamos a una version mas reciente y posterior a la r3254, estábamos usando un owner_uuid que no se utiliza. Hay algunos grids que sus tablas de mysql fueron creadas durante el tiempo que este campo fue borrado involuntariamente del script .sql que inicializa la tabla de regiones. Iniciando sesión en tu base de datos mysql y ejecutando esta sentencia SQL para añadir el campo owner_uuid debería solucionar este problema:

alter table `regions` add column `owner_uuid` varchar(36) default '00000000-0000-0000-0000-000000000000' not null, comment-'Rev.2';

Los signos de puntuación entre regiones y owner_uuid es un "acento grave". El signo de puntuacion entre el valor defaul y comment es una comilla simple.

Recibo un "timeout" durante el "region handsake"

 * ¿Tienes la IP correcta en tus archivos de configuración de Regions\* ?
 * ¿Tienes múltiples interfaces de red en el servidor donde estas ejecutando OpenSim? OpenSimulator will not bind outgoing UDP packets to a specific IP, its default IP to reach you will be what the Region answers UDP with. Si has configurado la región con otra IP obtendrás un "timeout" durante la conexión.

No puedo conectar a mi OpenSimulator

 * Mira OpenSim: Connecting.

Puedo conectar pero no puedo moverme
Si el cliente conecta pero no el avatar no se mueve solo gira, entonces el sim no esta bien configurado. Completa la funciona de inicio de sesión, pero los paquetes no están siendo intercambiados entre el cliente y el sim, probablemente debido a un error de configuración de la red en el sim.


 * Mira OpenSim: Configuration.

De vez en cuando mi avatar parece quedarse atascado
En este momento hay un cuello de botella cuando se sincronizan los prims de la base de datos. Esto causa que nuestro avatar se detenga durante un pequeño (5 - 10 segundos) espacio de tiempo, pero se debería recuperar una vez los datos hayan sincronizado. Es un error conocido de arquitectura en el almacenamiento de algunos datos. Esperamos que este solucionado en breve.

Tengo problemas para ver el mapa del mundo

 * Esto puede ocurrir cuando estamos ejecutando OpenSimulator en un servidor Linux, tanto en modo grid como en modo autónomo.
 * Síntomas: cuando abro la ventana del mapa en el visor de SL, los sims no se visualizan gráficamente en el mapa, la consola del servidor muestra errores relacionados con "openjpeg", y la versión actual se congela...
 * Razón: los archivos base de tu subversión no tienen la librería libopenjpeg-libsl</tt> correcta.
 * Otra razón: el archivo "defaultstripe.png" no existe en la carpeta de OpenSim, o esta corrupto.
 * Solucion: consigue la ultima version del codigo de libsecondlife (svn co svn://opensecondlife.org/libsl/trunk</tt>), 'make</tt>' manualmente en la subcarpeta openjpeg-libsl</tt>, y copia el libopenjpeg-libsl-2.1.2.0.so</tt> generado en tu carpeta bin</tt> de tu OpenSimulator remplazando el existente.
 * Recompila y reinicia OpenSimulator.

= Exceptions en la Consola = Esta es una lista de Exceptions que podrás ver en la consola, lo que significan, y si son un problema.

System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so
Failed generating terrain map: System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so at (wrapper managed-to-native) OpenJPEGNet.OpenJPEG:LibslAllocDecoded OpenJPEGNet.OpenJPEG/LibslImage&) at OpenJPEGNet.OpenJPEG.Encode (System.Byte[] decoded, Int32 width, Int32 height, Int32 components, Boolean lossless) [0x00000] at OpenJPEGNet.OpenJPEG.EncodeFromImage (System.Drawing.Bitmap bitmap, Boolean lossless) [0x00000] at OpenSim.Region.Terrain.TerrainEngine.ExportJpegImage (System.String gradientmap) [0x00000]

Estas en Linux, y la librería nativa libopenjpeg-libsl-2.1.2.0.so no es compatible con tu sistema por una de las siguientes razones:
 * Tienes un procesador viejo (libopenjpeg ha sido compilado con optimizaciones)
 * Estas ejecutando en un modo 64bit (ninguna de las librerías nativas están construidas para 64bit)

Puedes recompilar tu propia librería libopenjpeg desde la fuente, o ejecutarlo en un medio compatible. Puedes hacer esto así: svn co svn://opensecondlife.org/libsl/trunk libsl cd libsl/openjpeg-libsl/ make

después copia libopenjpeg-libsl-2.1.2.0.so en la carpeta OpenSimulator.

= OpenSimulator en su hábitat =

¿Hay servidores de prueba ejecutando OpenSimulator donde me pueda conectar?
Si. Mira http://www.deepgrid.com, http://osgrid.org

También hay muchos servidores privados en marcha para probar. Pásate por el canal de IRC (Freenode #opensim), y pregunta por URI's.

¿Puedo teletransportame desde el Grid Second Life de Linden Lab hasta mi Sim?
No, las islas de OpenSimulator no pueden conectar al grid de Linden Lab.

= Información sobre terrenos =

¿Que programas puedo usar para crear terrenos para OpenSim?
Si quieres archivos simples de terreno (jpg, gif, etc), puedes usar Photoshop o cualquier programa gratuito, como Gimp. Si buscas terrenos mas complejos, necesitaras programas que guarden en un formato 3D raw estándar (como r32 o r64). L3DT y Terragen son dos de los mejores programas comerciales para esta función. (¿Alguien conoce alguno gratuito?), o también puedes, con algo de practica, usar Blender. La versión gratuita de L3DT puede hacer terrenos hasta 2048x2048 de tamaño, o regiones de 8x8.

Puedes usar `terrain load IMG yourfile.png` para cargar archivos PNG en escala de grises. Recuerda utilizar `terrain rescale 0 25` para hacerlo visible.

Aquí tienes alguna información de Using L3DT para hacer terrenos.

También puedes usar http://lab.parkstudio.ru/terra/ si tienes algunos conocimientos sobre alturas de mapas y como funcionan. Simplemente ajusta la textura degradada a negro puro y blanco puro y desactiva el agua.

Y aquí tienes algunos Free Terrains que puedes usar. ¡Disfrútalos!

¿Donde debo poner los archivos de mis terrenos?
Puedes dejarlos en la carpeta bin</tt> (justo donde esta el archivo OpenSim.exe</tt>).

¿Como cambio el terreno para un grupo de sims?
Primero, el archivo debe estar en formato f32 (o f64?). Esto es fácil de hacer con la opción de exportar de L3DT's. (Usa el formato RAW y selecciona en la opción Y flipped = true</tt> y al final cámbialo a leer 'float' en vez de 'ushort'). También necesita ser un archivo que cubra cada sim en capas de 256x256 (por lo que, para una región de 2x2, necesitaras un archivo de 512x512).

Cuando ya lo tengas guardado, en la consola de OpenSim.exe</tt>, escribe:

terrain load-tile f32 <image X> <bottomleftsim X>

Por ejemplo, si estoy ejecutando un área de 4 sims en 2x2. Empezare mi emplazamiento de sims en 0,0 y finalizare en 1,1, por lo que escribiría:

terrain load-tile f32 simalpha.raw 512 512 0 0

Después, antes de identificarte, deberías escribir:

terrain multiply 0.4

Esto debería escalar desde los casi 300 metros de altitud hasta algo mas razonable para el minimapa.

¿Como podria cargar un terreno en el arranque?
Edita el archivo startup_commands.txt</tt> en la carpeta <tt>bin</tt> y añade los siguiente comandos "<tt>terrain load-tile ...</tt>" y "<tt>terrain multiply ...</tt>" uno por linea.

Terrain Tidbits brought to you by Tilde, with a few questions in IRC :) - Tilde 10:32, 15 August 2007 (PDT)

¿Como importo a OpenSimulator la forma del terreno de mi Sim en Second Life?
Primero asegúrate que estas en la región correcta, si tienes mas de una, y usando:

change-region

Después usa el comando (depende del tipo de archivo (F32 etc), los archivos RAW también pueden ser usados aqui)

terrain load

Mira este vídeo para un tutorial paso a paso.

Otra información útil según quien lo lea
Ejemplo: 1) 0,0,0  2) 223, 233, 233   3) 255, 255, 255
 * He averiguado que cada punto en la escala de grises (0 a 255) equivale aproximadamente de .23 a .25 metros en altura de terreno. - CharlieO
 * También para aquellos que quieran editar manualmente un archivo png, necesitareis como mínimo 3 tonos de gris distintas y una debe ser muy distinta que las otras 2 para que la altura se vea correctamente. - CharlieO