# Second Life Grid

Second Life Grid es la plataforma y tecnología detrás de los mundos virtuales 3D de Second Life. En abril de 2008, IBM anunció que exploraría el desplieguede una porción de Second Life Grid detrás de un firewell corporativo .

## Información técnica

El mundo plano y semejante a la Tierra de Second Life se simula en una gran variedad de servidores Debian, conocidos como Grid. El mundo se divide en áreas de 256x256 m, llamadas Regiones. Cada región es simulada por una sola instancia de servidor, y se le da un nombre único y clasificación de contenido (PG, maduro o adulto). Pueden ejecutarse varias instancias de servidor en un único servidor físico, pero generalmente cada instancia recibe un núcleo de CPU propio. Los servidores modernos con dos procesadores de doble núcleo normalmente admiten cuatro instancias de servidor distintas.
El mundo de Second Life se ejecuta en Linden Time, que es idéntica a la zona horaria del Pacífico. El mundo virtual sigue la convención del horario de verano de América del Norte. Por lo tanto, corre 7 horas por debajo de UTC la mayor parte del año, y 8 horas por detrás cuando el tiempo estándar está en vigor durante el invierno. Sin embargo, los archivos de registro de los servidores realmente graban eventos en UTC.

### Simulación física

Cada instancia de servidor ejecuta una simulación física para gestionar las colisiones e interacciones de todos los objetos de esa región. Los objetos pueden ser no físicos y no móviles, o activamente físicos y movibles. Las formas complejas pueden estar unidas entre sí en grupos de hasta 255 primitivas separadas. Además, el avatar de cada jugador es tratado como un objeto físico para que pueda interactuar con objetos físicos del mundo.
Desde 1 de abril de 2008, los simuladores de Second Life utilizan el motor de la física Havok 4 para todas las dinámicas dentro del juego. Este nuevo motor es capaz de simular miles de objetos físicos a la vez. Sin embargo, más de 500 colisiones que interactúan constantemente tienen un impacto notable en el rendimiento del simulador. Anteriormente, el Havok 1 causó lo que se conoce como la condición de Pensamiento Profundo; un procesamiento interminable de colisiones de objetos. Esto se ha aliviado mediante la introducción de una expulsión de solapamiento, que permite que los objetos solapados se separen como si comprimieran dos resortes uno contra el otro.

### Almacenamiento de activos

Cada elemento del universo de Second Life se conoce como un activo. Esto incluye las formas de los objetos 3D conocidos como primitivas, imágenes digitales referidas como texturas que decoran primitivas, clips de audio digitalizados, forma y apariencia de avatar, texturas de piel de avatar, secuencias de comandos LSL, información escrita en tarjetas de notas, etc. Cada activo se hace referencia con un identificador universalmente único o UUID.
Los activos se almacenan en su propia granja de servidores dedicada de Mysql, que comprende todos los datos que han sido creados por cualquier persona que haya estado en el mundo SL. En diciembre de 2007, se estima que el almacenamiento total consume 100 terabytes de capacidad de servidor. Los servidores de activos funcionan independientemente de los simuladores de región, aunque los simuladores de región solicitan datos de objetos de los servidores de activos cuando un nuevo objeto se carga en el simulador.
A medida que la popularidad de Second Life ha aumentado, la presión sobre el motor de base de datos para almacenar y recuperar datos de forma rápida y eficiente también ha seguido aumentando, con frecuencia superando la capacidad del personal de Linden para mantener su granja de activos equipados para manejar el número de usuarios registrados Al mismo tiempo.
En condiciones de carga severa, es común que el motor de base de datos simplemente no responda a las solicitudes de manera oportuna, provocando que los objetos no se rez o eliminen como se esperaba o que el inventario del cliente no se cargue o que el saldo de la moneda no aparezca en el Cliente. La búsqueda de ubicaciones, personas o clasificados también puede fallar bajo condiciones de carga pesada. La carga de la base de datos es típicamente la más severa los fines de semana, particularmente las tardes de domingo (Tiempo de Second Life), mientras que el sistema puede funcionar muy bien cuando se accede durante tiempos de baja carga, como por la noche o en la mitad de la semana durante el día.

### Software

El software Second Life comprende el espectador (también conocido como cliente) que se ejecuta en la computadora del Residente y varios miles de servidores operados por Linden Lab Hay una beta-grid activa que tiene su propio cliente especial, que se actualiza con mucha regularidad, y se utiliza para pruebas de software constante por los voluntarios. Este software de prueba se introdujo para eliminar las pequeñas cantidades de tiempo entre actualizaciones reales, y aumentar su calidad global. El beta-grid refleja el grid principal estándar, excepto que las acciones tomadas dentro de ella no son almacenadas por los servidores; es solo para propósitos de prueba. Cada pocos meses, el software estándar es reemplazado por el software beta-grid, pensado como una gran mejora. La base de usuarios de Second Life está creciendo rápidamente y esto ha estimulado cambios sociales y tecnológicos en el mundo; La adición de nuevas características también proporciona aumentos periódicos al crecimiento de la economía.
Linden Lab persigue el uso de tecnologías de estándar abierto y usa software libre y de código abierto como Apache, MySQL y Squid. El plan es mover todo a estándares abiertos estandarizando el protocolo de Second Life. Cory Ondrejka, exdirector de tecnología de Second Life, ha declarado que algún tiempo después de que todo haya sido estandarizado, tanto el cliente como el servidor serán lanzados como software libre y de código abierto. 1. La máquina virtual actual se reemplazará pronto por Mono, que producirá una dramática mejora de la velocidad.
Linden Lab proporciona visores para Microsoft Windows 2000 / XP, Mac OS X y la mayoría de las distribuciones de Linux. A partir de mediados de 2007, Microsoft Windows Vista aún no es oficialmente admitido, aunque el visor generalmente se ejecutará en sistemas Vista. En el pasado, las actualizaciones del visor eran generalmente obligatorias; El antiguo visor no funcionaría con la nueva versión del software del servidor. Sin embargo, Linden Lab está trabajando en un protocolo más flexible que permitirá a los clientes y servidores enviar y tomar los datos que puedan necesitar, por lo tanto, las versiones diferentes serán, sin embargo, capaz de trabajar juntos. El proyecto se conoce como Het-Grid o rejilla heterogénea y la primera iteración del software del servidor fue desplegada al Grid Principal(Main Grid) durante algunas semanas en agosto de 2007.
A partir del 8 de enero de 2007, el Visor se distribuye bajo la versión 2 de la Licencia Pública General de GNU, con una cláusula adicional que permite la combinación con ciertos otros paquetes de software libre que tienen licencias incompatibles. Actualmente no se han liberado todas las dependencias requeridas.
El software del visor modificado está disponible de terceros. El más popular es Nicholaz Edition; Este espectador, producido por Nicholaz Beresford, incluye correcciones de errores desarrolladas fuera de Linden Lab que aún no están incluidas en el código de Linden Lab. The Electric Sheep Company ha presentado OnRez Viewer, que realiza cambios sustanciales en el diseño de la interfaz de usuario. ShoopedLife es un cliente de Second Life comúnmente utilizado que genera detalles de hardware aleatorios y los envía al servidor Second Life como parte del inicio de sesión, haciendo que el usuario sea anónimo, guardando su dirección IP.
Un proyecto independiente, libopenmetaverse, ofrece una biblioteca de funciones para interactuar con los servidores de Second Life. Libopenmetaverse se ha utilizado para crear visores no gráficos de terceros, incluyendo SLEEK, un navegador de texto con .NET y Ajaxlife, un visor de texto que se ejecuta en un navegador web.
El visor de OS X es un binario universal y es aproximadamente el doble del tamaño de los binarios de Windows y Linux.
Los editores de animación que utilizan el formato de archivo de jerarquía de Biovision como Poser y Avimator son compatibles con SL.

#### Desarrollo adicional

En 2007, Linden Lab comenzó a trabajar en la mejora de la experiencia de usuario de second life. El 6 de diciembre de 2007, se anunció un nuevo cliente de descarga (comúnmente conocido como visor). 'Windlight', por lo que fue codenamed, vino con muchas mejoras a la estabilidad del sistema, así como tener un motor de renderizado completamente nuevo para incluir el uso de shaders atmosféricos, un nuevo cielo, agua nueva, así como cientos de otras mejoras para mejorar la calidad De Second Life. Hasta 2010, el cliente de descarga conocido como Windlight era el cliente predeterminado disponible como descarga principal del cliente desde el sitio web de Second Life.Sin embargo, el 19 de febrero de 2008, Linden Lab anunció el lanzamiento de otro cliente codenamed 'Dazzle'. Este cliente llegó con cambios en la estabilidad del propio cliente, así como una interfaz de usuario revisada, que fue dada por una retroalimentación mixta por los usuarios que optaron por descargar como cliente. Así como muchas correcciones para el cliente, la usabilidad también se está mejorando. Mientras que el cliente de First Look Dazzle ya no existe, la versión más desarrollada del cliente anteriormente conocido como Dazzle actualmente existe como un "candidato de lanzamiento" de la página de software de prueba de Second Life en su sitio web.
Dazzle fue finalmente lanzado como v2 del cliente oficial con muchas nuevas características de interfaz de usuario en la primavera de 2010.

### Protocolo

En mayo de 2006 se anunció que el protocolo de Second Life había sido reverse-engineered. Se creó un wiki para promover el esfuerzo.
Dado que este proyecto produjo un software útil, Linden Lab modificó los TOS para permitir que programas de terceros accedieran a Second Life, permitiendo que el proyecto se formalizara con el nombre libsecondlife. Entre las funciones desarrolladas están una API de mapa, la capacidad de crear objetos más grandes que los permitidos normalmente (recientemente inhabilitados) y otras capacidades imprevistas como CopyBot.

### OpenSimulator

En enero de 2007 OpenSimulator fue fundado como un proyecto de simulador de código abierto. El objetivo de este proyecto es desarrollar un software de servidor de código abierto completo para terceros que deseen establecer redes separadas.
OpenSIM es BSD Licensed y está escrito en C# y puede ejecutar entornos .NET Framework o [ Mono]. La comunidad está creciendo rápidamente y existen algunas redes alternativas de Second Life que utilizan OpenSimulator.