quarta-feira, 22 de dezembro de 2010

Instalando e configurando módulo de voz no OpenSim - FreeSwitch (Windows)

O OpenSim não oferece o recurso de chat por voz com a sua instalação padrão, para habilitarmos tal função é preciso baixar e configurar o software opensource FrreeSwitch:
  • http://files.freeswitch.org/windows_installer/freeswitch-1.0.4.exe 
Instale o freeSWITCH que acabou de baixar, marque a opção full. Não inicie o freeSWITCH ao término da instalação.

Abra o arquivo modules.conf.xml no diretório em que você instalou:
 ...\FreeSWITCH\conf\autoload_configs\modules.conf.xml


Descomente as linhas :
  • <load module="mod_xml_curl"/> 
  • <load module="mod_siren"/>
Salve o as modificações anteriores e abra o arquivo:


...\FreeSWITCH\conf\autoload_configs\ xml_curl.conf.xml

Substitua todo conteúdo do arquivo por:


<configuration name="xml_curl.conf" description="cURL XML Gateway">
<bindings> <binding name="example"> 
<param name="gateway-url" value="http://youropensimregionip:9000/api/freeswitch-config" bindings="directory"/> <param name="gateway-credentials" value="freeswitch:password"/>
<param name="disable-100-continue" value="true"/>
</binding> <binding name="local"> 
<param name="gateway-url" value="http://youropensimregionip:9000/api/freeswitch-config" bindings="dialplan"/> 
<param name="gateway-credentials" value="freeswitch:password"/> <param name="disable-100-continue" value="true"/> 
</binding> </bindings> 
</configuration>


Logicamente que http://youropensimregionip:9000 corresponde as configurações de rede realizadas durante a instalação do OpenSim.


Agora abra o arquivo: 

...\FreeSWITCH\conf\vars.xml 

Mude a linha

<X-PRE-PROCESS cmd="set" Data="global_codec_prefs=G7221@32000h,G722,PCMU,PCMA,GSM"/>

para

<X-PRE-PROCESS cmd="set" data="global_codec_prefs=G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM"/>

Pronto, acaba aqui as configurações do FreeSwitch, agora vamos ter que configurar o OpenSim para interagir com o FreeSwtich.

No arquivo OpenSim.ini mudar as linhas na aba FreeSWITCH: 
Linha 1153: enabled = false para enabled = true 
Onde tem ip.address.of.your.sim ou ip.address.of.freeswitch.server trocar pelo seu ip, fica como a figura abaixo:


Agora abra o Robust.ini e adicione as linhas abaixo:

[FreeswitchService] 
LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService" 
ServerAddress = 192.168.1.1 
Realm = "192.168.1.1"
Lebrando apenas que 192.168.1.1 é o endereço que utilizei na minha rede local para a instalação do OpenSim, verifique qual seu IP externo e coloque-o no lugar de 192.168.1.1 para que sua máquina tenha acesso externo.
Agora inicie o freeSwitch, ignore os erros iniciais. Em seguida inicie o OpenSim.exe. Abra o seu cliente, conecte-se no mundo e comece a falar por voz!

Caso a opção do Talk não inicie, faça o seguinte:

Abra o Hippo com o avatar dono da região (aquele que você associou quando criou a região no início da instalação) e clique na opção edit->preferences



Desative o chat de voz



Vá em world->region/estate

Verifique  se o chat por voz está habilitado

Clique com o botão direito em uma parte vazia da ilha. Em seguida clique em ABOUT LAND.


Na aba Media habilite as opções relacionadas a tag voice

.
Por fim, ative novamente o chat por voz na aba Edit->Preferences como na figura a seguir.


O talk deve ficar ativo se tudo ocorreu bem.
Referências:

quinta-feira, 9 de dezembro de 2010

Realizando Backup e carregando regiões com arquivos OAR

O OpenSim definiu desde a sua versão 0.5.9 o formato de arquivo "OpenSim Archive" ou mais conhecido como OAR, onde permite que você salve ou carregue mundos inteiros com diversos objetos e scripts independente do seu banco de dados de usuários ou regiões.

http://www.opensimworlds.com/index.php?part=worlds


Vamos entender então como funciona!

Primeiramente vamos abrir a interface responsável por gerenciar o servidor de Região (processo aberto quando iniciamos o OpensSim.exe).

Comandos:

Salvar região:
save oar [<filename>]

Exemplos

save oar
save oar my.oar
save oar c:/mybackups/filename.oar
save oar oars/11nov.oar

Carregar região:

load oar [--merge] [<location>]


Por padrão o OpenSim apaga tudo o que houver anteriormente na sua região, para que isto não ocorra quando você der um "load oar" utilize a opção --merge

Exemplos:

load oar
load oar my.oar
load oar --merge oars/3rd-party.oar
load oar http://path.to/oarfile.oar

terça-feira, 9 de novembro de 2010

Instalando o OpenSim no linux

A instalação do OpenSim no Linux é idêntica em relação aos arquivos de configuração da instalação no Windows, no entanto há diferenças na preparação do ambiente.

Inicialmente precisamos ter alguns pacotes instalados na nossa distribuição Linux:
  • bison 
  • gettext 
  • gcc 
  • glib2-devel 
  • mysql-server 
  • libgdiplus 
  • gcc
  • g++
  • nant
Tais pacotes ficam mais fáceis de instalar se você usar algum gerenciador de pacotes como o apt-get do Debian e Ubuntu, zypper para o OpenSuse, yum para o Fedora, slackpkg para o Slack etc. Procure saber qual sua distribuição Linux e faça o que é o mais fácil.

Usualmente a instalação é realizada com o nome do gerenciador seguido pela opção install e o nome do pacote (Ex:yum install bison). Caso surja alguma dúvida de como instalar os pacotes citados anteriormente procure saber mais um pouco sobre gerenciamento de pacotes no linux e suas dependências.

O OpenSim é escrito em C# que é uma linguagem que roda naturalmente em um sistema operacional Windows.Já o mono é um conjunto de ferramentas compatível com a plataforma .NET, conforme às normas Ecma, incluindo até um compilador C#. De uma maneira simples, podemos dizer que ele emula as aplicações .exe, que rodam em ambientes Windows, dentro do Linux. Ou seja, você precisa dele para ter o seu simulador de mundos virtuais rodando no Linux, dado que o linux não executa arquivos ".exe" e você também não pode compilar um projeto feito em C# para executar diretamente no linux.

Vamos instalar o mono:

Baixe os arquivos:
1. Download da libgdiplus
  • wget http://ftp.novell.com/pub/mono/sources/libgdiplus/libgdiplus-2.6.4.tar.bz2
2. Download do Mono
  • wget http://ftp.novell.com/pub/mono/sources/mono/mono-2.6.tar.bz2
Uma pergunta interessante é porque não instalar o mono à partir do gerenciador de arquivos? A resposta é simples, algumas distribuições não possuem versões atualizadas do mono em seus repositórios e isto pode causar alguns transtornos para versões novas do OpenSim.

Já a libgdiplus é uma biblioteca que funciona junto com o mono para prover maior compatibilidade entre aplicações .net e sistemas operacionais que não são Windows.

Vamos à instalação:

1-Primeiro extraia o pacote ligbgdiplus usando o comando abaixo:
tar -jxvf libgdiplus-2.6.4.tar.bz2

Entre no diretório que você extraiu:
cd libgdiplus-2.6.4

Execute os comandos:
./configure
make
make install

2-Vamos agora instalar o mono com os comandos abaixo:
tar -jxvf mono-2.6.tar.bz2
cd mono-2.6
./configure --with-libgdiplus=yes
make
make install

3-Baixe o código fonte do opensim.
wget http://dist.opensimulator.org/opensim-0.7.0.2-source.zip

Caso não tenha instale o unzip:

(No Debian)
apt-get install unzip

4-Extraia o código fonte do OpenSim:
unzip opensim-0.7.0.2-source.zip
Entre no diretório extraído e digite:
./runprebuild.sh 
nant

5-Dado que você já tenha configurado o mysql e criado um banco de dados com sua respectiva senha vamos realizar a configuração dos arquivos do OpenSim como no post anterior (link). 

Para facilitar podemos usar o editor de texto "vim"
Instalando no debian com o comando "apt-get install vim"

6-Para abrir um documento digite:
vim nomeDocumento
Em seguida é só apertamos a tecla insert para realizar modificações em qualquer documento, depois ESC seguido de :wq e Enter para salvar o documento. 

7-Realizada as configurações, vamos automatizar a inicialização, visto que poderemos estar utilizando uma dsitribuição Linux em modo texto e também para facilitar a inicialização de modo geral.

Vamos utilizar um aplicativo que simula terminais virtuais num mesmo terminal, para instalar no Debian digite:
apt-get install screen

Agora vamos criar nosso script de automatização:
vim nomedoScript

Cole as seguintes linhas, modificando quando necessário:
#!/bin/sh

killall mono; #Mata algum outro processo aberto com o mono

export MONO_THREADS_PER_CPU=5000; #limite de threads 

#diretório de instalação referenciando para a pasta bin verifique o diretório que você está com o comando pwd
cd /home/projeto/opensim-0.7.0.2-source/bin/ 
screen -S robust -d -m mono Robust.exe &
echo "Iniciando Robust"
sleep 12; # tempo para inicializar o robust (é uma estimativa)
echo "Robust OK!"
screen -S sim -d -m mono OpenSim.exe &
echo "Iniciando Sim"
sleep 10
echo "Sim OK!"

Salve o arquivo.

Agora dê permissão de execução através do comando:
chmod 775 nomedoArquivo  

Agora basta executar
./nomedoScript

8-Para visualizar o terminal virtual referente ao Robust, veja o nome que você o referenciou, no exemplo usamos o nome robust, mas fique livre para colocar qualquer um.

Agora digite:
screen –r –d robust
Pronto você deve visualizar o terminal virtual do Robust! 
OBS: Para sair aperte simultaneamente ctrl+a+d.
Para visualizar o terminal virtual referente ao OpenSim.exe, segundo a configuração anteriores digite:
screen –r –d sim

Realize o fim da instalação segundo igualmente o post anterior de instalação no Windows e fim!

sexta-feira, 5 de novembro de 2010

Utilizando o Hippo

Utilizar o Hippo é um tarefa muito simples que vamos abordar neste Post, primeiramente faça o download do Hippo no link:


Depois de instalado você deve ter a seguinte tela:


Clique na opção Grid para inserir as informações do servidor que você deseja conectar-se. Ver próxima figura.


Clique em ADD e insira o endereço do servidor, lembrando que o padrão do OpenSim é que o serviço de Login (que roda no processo Robust) rode na porta 8002, por isso você deve digitar o IP do seu servidor ou seu domínio referenciando a porta 8002, como no exemplo da figura. Após este passo clique em Get Grid Info e clique em OK. (OBS: Observe se após clicar em Get Grid Info se a porta continuou sendo a 8002, às vezes quando o servidor é mal configurado a porta que aparece é a 9000).

Feito esse passos agora é só inserir o nome, sobrenome e senha do seu avatar e conectar-se ao mundo!

sábado, 30 de outubro de 2010

Instalando o OpenSim no windows

Vamos abordar a instalação no windows considerando que você tenha um IP público, ou seja, não está utilizando NAT ou algum Proxy na sua rede. Em um próximo post postarei dicas de como instalar caso você tenha um roteador sem fio ou esteja em uma rede com NAT, para quem está em casa pode começar instalando tudo localmente com o endereço IP 127.0.0.1
À medida que fomos progredindo na instalação vou fazer alguns comentários explicativos sobre o que estamos fazendo e o porquê. Infelizmente isso deixará o post um pouco prolixo, mas creio que dessa forma ajudará mais pessoas, por isso um pouco de paciência ao ler caso você seja um usuário com mais "experiência".

Vamos instalar o OpenSim no modo Grid, por isso precisamos instalar um banco de dados que no nosso caso será o MySql, pois possui compatibilidade com o OpenSim além de ser gratuito. Inicialmente vamos baixar por questões didáticas o EasyPHP, pois assim temos uma instalação mais intuitiva do Mysql e manipulação do banco de dados. 

Passo 1:

Baixar EasyPHP versão 5.3:

http://sourceforge.net/projects/quickeasyphp/files/EasyPHP/5.3.0/EasyPHP-5.3.0-setup.exe/download

Baixar código OpenSim versão 0.7.2:

http://dist.opensimulator.org/opensim-0.7.0.2-source.zip

Passo 2:

Após concluir o download do EasyPHP execute o instalador e siga as instruções até concluir a instalação com praticamente nenhuma dificuldade. Ao fim da instalação deverá abrir a seguinte tela caso os serviços estejam rodando corretamente:

Figura 1 - Tela EasyPHP ao iniciar

Ao lado do relógio do Windows deverá aparecer um ícone do EasyPHP, onde se deve clicar com o botão direito e em seguida na aba Administração. Deve-se abrir uma página Web indicando a versão do servidor Apache, Mysql e PHP instalados (ver figura 2 e 3).

Figura 2 - Clique no ícone da bandeja do windows

Figura 3 - Tela de configuração

Realizado esse passo simples, vamos dar um nome ao nosso banco, por praticidade didáticas vamos colocar o nome de opensim, mas você pode escolher o nome que lhe for mais conveniente (Ver figura 4). 

Figura 4 - Criando seu banco de dados

Com o banco criado finalizamos a instalação e configuração do banco de dados e podemos fechar o nosso navegador. Vamos agora para o passo 3 onde realmente vamos configurar o OpenSim.

Passo 3:
  • Descompactar a pasta do arquivo fonte baixado do site do OpenSim
  • Executar o arquivo runprebuild2010.bat
  • Executar o arquivo compile.bat


OBS: Para compilar você precisa ter instalado em sua máquina o Microsoft .NET Framework 3.5 ou posterior.

Passo4:

Acessando o diretório ..\opensim-0.7.0.2-source\bin\ renomeamos o arquivo OpenSim.ini.example para OpenSim.ini e abrimos com o editor de nossa preferência para edição Ex: bloco de notas, notepad++, ConTEXT etc.

Devemos comentar nessa versão do OpenSim as linhas 121 a 123, mas o importante é entender que estamos habilitando a comunicação com o MySQL e por isso comentamos as linhas que se referem ao SQLLite que é usado no modo StandAlone (ver figura 5).

Figura 5 - Configuração do arquivo OpenSim.ini

Agora descomentamos as linhas 130 e 131 e inserimos as informações referentes ao nosso banco MySQL (ver figura 6).

Data Source: É o endereço IP onde está seu banco de dados, como estamos considerando que estamos instalando tudo na mesma máquina vamos deixar como localhost.
Database: É o nome do seu banco de dados, que nesse caso criamos com o nome de OpenSim.
User ID: É o nome do usuário do banco de dados, vamos o usar o root (usuário com máximo poder), mas é muito aconselhável que se crie outro usuário com menos privilégios por questões de segurança. 
Password: Vamos deixar em branco pois é o padrão na instalação do EasyPHP, mas assim como é fortemente recomendável criar um usuário ao invés de utilizar o root diretamente, é mais importante ainda criar uma senha para o usuário root.





Figura 6 - Configuração do arquivo OpenSim.ini

Por fim, desça até o fim do arquivo e modifique as linhas 1284 e 1286 conforme a figura 7. Comentando a linha 1284 e descomentando a 1286.
Figura 7 - Configuração do arquivo OpenSim.ini

Passo 5:

Continuando no diretório  opensim-0.7.0.2-source\bin renomeamos o arquivo Robust.ini.example para Robust.ini e o abrimos para edição.

Vamos modificar a linha 33 inserindo as informações sobre o banco de dados (Ver figura 8). Semelhante ao que fizemos no arquivo OpenSim.ini.

Figura 8 - Configuração do Robust.ini


Por fim, modifique a linha 155 colocando seu IP externo e porta 8002 (ver figura 9).

Figura 9 - Configuração Robust.ini

Passo 6:
  • Acesse o diretório ..\opensim-0.7.0.2-source\bin\config-include
  • Modifique o nome do arquivo FlotsamCache.ini.example para FlotsamCache.ini
  • Modifique o nome do arquivo GridCommon.ini.example para GridCommon.ini
Passo 7:

Abra o arquivo GridCommon.ini para edição e onde tiver as palavras myassetserver.commyinventoryserver.com e mygridserver.com troque pelo seu IP isso é necessário em 9 situações. Exemplo:

AssetServerURI = "http://myassetserver.com:8003" 

para 

AssetServerURI = "http://127.0.0.1:8003"

Passo8:

Ufa! Acabamos de configurar todos os arquivos texto do simulador OpenSim, falta pouco para terminamos agora. 

Execute o arquivo Robust.exe na pasta bin, onde, caso tudo tenha ocorrido perfeitamente, deverá ser exibida a tela conforme a figura a seguir:

Figura 10 - Tela Robust.exe

Crie um usuário ou mais com o comando:

Create User FirtsName SecondName Password E-mail

Onde o que está em vermelho deve ser substituído pelos dados de seu usuário.
Exemplo: 

Create User Joao Pedro minhaSenha joao@meuemail.com

Passo 9:

Agora para finalizar a instalação vamos executar o arquivo OpenSim.exe na pasta bin.
Será pedidos algumas defições de configurações conforme a figura a seguir:

Figura 11 - OpenSim.exe em execução


Os valores que estão entre colchetes serão atribuídos por padrão caso você não digite nada e tecle enter. 
New Region Name[]:
Inicialmente dê um nome para sua Região, no caso da figura 11 demos o nome de teste
Region UUID[]:
Em seguida é gerado um identificador único para sua região, ou um UUID, tecle enter e aceite o valor padrão gerado pelo sistema. 
Region Location[1000,1000]
A da sua região no mundo virtual padrão é 1000,1000 e representa um plano cartesiano (X,Y) no Grid, caso você crie outra região no seu mundo virtual deverá fazê-lo colocando em uma posição diferente no grid como 1000,1001 e uma porta também diferente. 
Internal IP Adress[0.0.0.0]:
Coloque aqui seu IP público.
Internal Port[9000]:
Apenas dê enter e aceite o padrão na porta 9000, essa será a porta do seu servidor de região.
Allow Alternative Port [False]:
Tecle enter, mantenha o acesso de portas alternativas desabilitado.
External Host Name[SYSTEMIP]:
Coloque aqui seu IP público.
Do you wish to join an existing estate?[No]:
Esta opção vai dizer se você quer ou não reutilizar as informação de estado de uma região (são configurações da região que ficam gravadas no banco como permissões de usuários, música ativa, chat de voz ativo etc). Caso você já tenha configurado alguma região antes você reutilizar as suas configurações de estado ou criar uma nova. Nesse caso como é a 1º vez que estamos instalando vamos apenas apertar enter e aceitar a opção No.
New estate name[My Stat]:
Vamos dar um nome para a nossa configuração de estado da região, é mais fácil por o nome da própria região.

Finalizando a instalação será perguntando o nome do usuário que será o dono da região

Estate owner first name [Test]:
Seguindo o tutorial digitaremos Joao que é o 1º nome do único usuários que criamos.
Estate owner last name [User]:
Digitaremos Pedro.

Pronto! Acabamos a instalação! Se tudo ocorreu bem deverá aparecer uma tela semelhante a da figura abaixo:



Agora você pode testar acessando através do cliente (Ex: Hippo) o seu mundo virtual com uma região criada. Como configurar o Cliente para acessar seu mundo vamos deixar para outro post, pois esse já se está grande demais. Espero que tenha ficado bem claro. 

OBS: 
  • Ao instalar o EasyPHP você está instalando o Apache + PHP + Mysql. São 3 ferramentas em uma. Mas na verdade você precisa apenas instalar o banco de dados MySql para instalar o OpenSim. Ficando optativo ao usuário a forma que lhe achar mais conveniente para realizar sua instalação.
  • Você pode instalar o banco, o servidor Robust e o servidor de Região (também chamado de servidor Sim) em máquinas diferentes. Podendo ainda ter várias máquinas com uma região cada (isto é feito em praticamente todas as regiões que possuem grandes números de objetos e acessos de usuários no SecondLife e OSGrid) por uma questão de desempenho. 
  • Nesse tutorial usamos como IP 127.0.0.1 que é o endereço local da sua própria máquina, chamado de endereço de loopback, que serve basicamente para testar se sua placa de rede está ativa, se você instalar com essa configuração o seu servidor OpenSim estará acessivel apenas através de um software cliente instalado na mesma máquina que o servidor.

Modo StandAlone ou Grid?

Antes de explicar como instalar o OpenSim, vamos entender alguns conceitos importantes que vai determinar em qual modo você vai instalar o seu servidor.

O OpenSim é baseado na arquitetura cliente/servidor, onde o servidor mantém todas as informações sobre o mundo virtual e envia as atualizações para os clientes que transformam os dados em uma realidade tridimensional em tempo-real. O OpenSimulator pode funcionar de dois modos: standalone ou grid. O modo standalone é limitado a um número pequeno de usuários, pois um único processo é responsável por toda a simulação. O modo Grid tem o potencial de ser escalonável conforme o número de usuários cresce, pois é possível distribuir serviços em máquinas diferentes, além de possuir a utilização de um banco de dados mais robusto.
  • Um sistema de execução no modo standalone executa o simulador da região e todos os serviços os outros serviços em um único processo, quando você executar OpenSim.exe. Neste modo, você pode executar quantas regiões quiser, mas apenas em uma única máquina. Ver figura 1.

(Figura 1 - Modo StandAlone)

  • No modo Grid, os serviços de dados não são parte do processo do servidor região. Em vez disso, são executados em um processo separado. Isso permite que eles sejam executados em máquinas completamente diferentes, se necessário. Neste modo, o OpenSim.exe atua apenas como o servidor região, servindo uma ou mais regiões que se comunicam com os serviços de dados em separado.

(Figura 2 - Modo Grid)

No próximo Post eu explico como instalar a versão 0.7.2 do OpenSim no modo Grid no windows para este post não ficar muito grande.

Conceitos básicos sobre o OpenSim

Alguns conceitos básicos tornam-se interessantes para serem abordados antes de realmente iniciarmos um maior aprofundamento no simulador OpenSim. Começamos uma abstração de visões entre diferentes tipos de usuário. Vamos abordar inicialmente os usuários que apenas utilizam os recursos do OpenSim sem precisar configurá-lo ou entender a complexidade de seu funcionamento, tais usuários possuem um nível de conhecimento semelhante a usuários do SecondLife. Conceitos importantes:


  • Avatar:  É a representação visual de um utilizador em realidade virtual.
  • Inventário: É um conjunto de tudo que o usuário possui, vai desde objetos mais variados até scripts.
  • Região: É uma parte do mundo virtual que por padrão tem o tamanho de 256x256 metros.
  • Software Cliente: É o software utilizado para se conectar no mundo virtual, por exemplo, o Hippo e o próprio cliente do Second Life.
  • Mundo Virtual: É o conjunto de várias regiões de tamanho de 256x256 metros, podendo essas regiões serem vizinhas ou não entre si.
  • Primitiva: É a menor representação única de um objeto. Podemos ter um objeto que é uma casa, mas esta casa é compostas de outras primitivas menores agrupadas. 
  • Scripts: São arquivos interpretados pelo simulador de mundos virtuais com o papel de criar dinamismo entre os objetos. Ou seja, um objeto sem um script é apenas um objeto estático que nada faz. Os scripts são os responsáveis por prover interações entre avatar e objetos, seja para fazer um objeto se movimentar com um dado comportamento (ex: um peixe dentro de um aquário) ou para abrir botões onde o avatar pode selecionar opções que realizam determinadas ações.


Já um usuário que queira aprofundar seu conhecimento criando seu próprio mundo e configurar um servidor do OpenSim os conceitos iniciais importantes são:


  • UUID: É um acrônimo de Universally Unique Identifier.Tudo na região possui um identificador único de 128 bits, desde objetos, texturas, scripts e avatares. É a forma como o servidor identifica e associa cada segmento ao mundo virtual.
  • Grid e StandAlone: São os dois modos de funcionamento do OpenSim, onde pode-se ter mais escabilidade e robustez no modo Grid. (Mais detalhes no próximo Post)
  • Robust e SimServer: São atualmente os dois servidores do modo Grid que compõe o simulador OpenSim na versão 0.7.2. (Mais detalhes no próximo Post)
  • LibOpenMetaverse: É uma biblioteca .NET escrito em C# para interagir com simuladores 3D de mundos virtuais como o OpenSim e Second Life.

sexta-feira, 29 de outubro de 2010

O que é o OpenSim? Será uma boa opção?

A popularização do uso de mundos virtuais envolve a facilidade de acesso às tecnologias do cliente e do servidor, assim como permitir o acesso gratuito baseado em plataformas abertas. No Second Life o modelo de negócios atual é baseado na venda e aluguel de terras, os preços praticados pelo acesso aos serviços não sofrem nenhum tipo de concorrência, o que desagrada uma grande parcela da sua comunidade de usuários. Por esse motivo o OpenSim destaca-se por ser um servidor gratuito de um mundo virtual, permitindo a criação de um ambiente similar ao Second Life, mas que ainda é pouco popular.

O OpenSim é um conjunto de servidores distribuídos que podem ter o seu código fonte modificado sem nenhuma restrição. A partir da instalação do servidor pode-se acessar o mundo virtual por softwares clientes como o Hippo ou até mesmo o cliente do Second Life. O projeto do OpenSim está em desenvolvimento constante e a versão atual (0.7.2) apresenta grande estabilidade para a maioria de recursos típicos de mundos virtuais como o SL. Embora o projeto do OpenSim tenha sido iniciado em 2007, ele já possui características que o tornam uma opção adequada para várias aplicações de mundos virtuais:
  • O software é gratuito, não sendo necessário pagar por nenhum módulo ou funcionalidade;
  • Capacidade de comunicação por voz (VoIP [43]);
  • Capacidade de criação de conteúdo em tempo-real;
  • Suporte as linguagens de programação OSSL, LSL, C#, Java Script e Visual Basic .NET;
  • Flexibilidade na distribuição de recursos em várias máquinas servidoras.
  • Qualidade visual e capacidade de interação muito semelhante aos demais mundos virtuais do tipo MMOW.
Uma vídeo que pode dar uma pequena idéia do que pode ser feito é mostrado em seguida. 


Lembrando que este vídeo não foi elaborado por mim.

Mundos Virtuais


Mundos Virtuais são ambientes eletrônicos que emulam espaços físicos complexos através de representações de ambientes simulados, contendo objetos e interações com seus avatares (personificação do usuário no mundo virtual) [1]. Nos últimos anos, a melhoria das tecnologias de rede e o aumento da capacidade de processamento dos computadores impulsionaram fortemente a utilização de ambientes virtuais. Estes ambientes proporcionam alto grau de imersão e interatividade que satisfazem condições gerais para uma experiência de comunicação, socialização e aprendizado, tornando os mundos virtuais um ambiente com enorme diversidade de aplicabilidade de acordo com a necessidade e imaginação do usuário. Essas características posicionam os mundos virtuais como um serviço de enorme potencial de crescimento, ao ponto de talvez em alguns anos, possuir um avatar seja tão comum quanto possuir um endereço de e-mail.

Particularmente são de grande interesse os mundos virtuais sociais, também chamados de MMOW (Massively Multiplayer Online World) que são uma ramificação dos ambientes conhecidos como MMOG (Massively Multiplayer Online Game), mas que permitem grande flexibilidade ao usuário para exercer diversas atividades independentes de níveis ou estágios presentes em jogos [2]. Dentro de mundos virtuais é possível interagir com pessoas de diferentes partes do mundo, em tempo real, de uma forma extremamente dinâmica, através de estímulos auditivos e visuais que proporcionam um alto grau de imersão ao usuário, usando recursos gráficos 3D, tecnologias como vídeo sob demanda[4] e voz sobre IP[3], sendo assim, uma poderosa ferramenta que permite replicar situações comuns do mundo real, criando cenários onde é possível obter entretenimento, estudar, realizar pesquisas ou até mesmo trabalhar e ganhar dinheiro no mundo real (Figura 1).


[1] Mennecke, B., McNeill, D., Ganis, M., Roche, E., Townsend, A., Lester, J. (2008) Second Life and Other Virtual Worlds: A Roadmap for Research, Coommunications of the Association for Information Systems, 2008.
[2] Kamienski, Carlos., A., Fernandes, Stênio F.L., Silva, Cledja K.R., (2008) “Mundos Virtuais: Histórico, Avaliação e Perspectivas”.Capítulo de livro, Mini-Curso do WebMedia 2008.
[3] Módulo de voz compatível com o OpenSim - http://opensimulator.org/wiki/Freeswitch_Module, acessado em Outubro de 2010.
[4] Stream de vídeo no SL - http://wiki.secondlife.com/wiki/Play_media, acessado em Outubro de 2010.


Blog OpenSim no Brasil

Este Blog tem como objetivo ajudar na busca de informações sobre mundos virtuais, especificamente o OpenSim. Semanalmente postarei dicas de como criar scripts em LSL, bots (utilitário concebido para simular ações humanas) e claro passo-a-passo dicas de instalação e configurações do OpenSim. Existe ainda a área do fórum onde a intenção é ajudar e gerar conhecimento para várias pessoas que se interessem pelo OpenSim e por mundos virtuais.

Espero poder não só ajudá-los, mas também mostrar a variedades de aplicabilidade de mundos virtuais em áreas que vão desde de educação a entretenimento.