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.

20 comentários:

  1. Olá Marcelo,

    Eu testei fazer o OpenSim no windows tbm e dá problema na mesma coisa, Ou seja na hora do [APPLICATION] quando eu executo o OpenSim o programa simplesmente diz que ocorreu um erro e fecha. O que será que está ocorrendo de errado?

    ResponderExcluir
  2. Verifique se você têm instalado esse pacote da microsoft:

    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9cfb2d51-5ff4-4491-b0e5-b386f32c0992&displaylang=en

    Verifique novamente os arquivos de configurações, teste com o endereço local de rede para verificar se é um erro de configuração da rede. Verifique também a conexão com o banco de dados e a respectiva porta.

    Se o erro persistir post aqui o erro que tentaremos resolvê-lo.

    No linux testei com as distribuições OpenSuse, Debian, Ubuntu e Federo e ocorreu tudo bem.

    No windows já instalei no windows Seven e XP e também ocorreu tudo bem na instalação.

    Vamos descobrir o que está acontecendo, qual versão do windows você usa? Qual versão do OpenSim você está instalando?

    ResponderExcluir
  3. Olá Marcelo, infelizmente o erro continua a persistir. Instalei o MS.NET Framework 4 como você disse mesmo assim o erro continua persistindo. Eu já testei no Windows Seven, e instalei no Ubuntu 10.10 e Ubuntu 10.04 e mesmo assim o erro sempre é o mesmo! Realmente não sei mais o que fazer!

    ResponderExcluir
  4. E estou usando a versão do OpenSim que você disponibilizou no post!

    ResponderExcluir
  5. Marcelo! Eu não consegui rodar com o OpenSim.exe no Windows, só com o OpenSim.32BitLaunch.exe, queria se existe algum problema em relação a usar o OpenSim.32BitLaunch.exe invés do OpenSim.exe se existe alguma diferença ou não! Vou testar fazer isso no Linux também pra ver se é realmente o problema ou não!

    ResponderExcluir
  6. acredito que o problema esteja na criação das tabelas.

    ResponderExcluir
  7. Ola Marcelo, o meu deu tudo certo. Mensagem do robust, do opensim, tabelas foram criadas corretamente, mas qdo tento logar no hippo viewer ele da login error.

    Não sei se estou usando a configuração correta. Tinha instalado o 7.0.1 em standalone, e conseguia entrar atraves de um endereço externo com um dyndns. Setei meu roteador com a porta corretamente e funcionava bem. Mas com o grid, simplesmente da esse erro. Sabe o que pode ser?

    Abraços,
    Cassio Freire

    ResponderExcluir
  8. Oi Cássio, primeiramente desculpe a demora para responder o seu post, mas vamos ao seu problema.

    Poste aqui as portas que você desbloqueou no seu roteador e o erro exatamente o erro que está dando ao iniciar o Robust para tentar ajudá-lo melhor :)

    ResponderExcluir
  9. Eu estou a ter um problema, fiz os passos todos e ao tentar criar um Owner aparece o erro "Unable to store account. If this server is connected to a grid" Podes ajudar.me?

    ResponderExcluir
  10. Crie um usuário no ROBUST através do comando "create user"

    Ex:

    create user firstname lastname password

    ou

    create user paul kurose 1234


    Espero que resolva

    ResponderExcluir
  11. olá marcelo estou com um poblema pois quando coloco o codigo create user com meus dados não vai da uma coisa de codigo invalido oque eu faço?

    ResponderExcluir
  12. Estou com o mesmo problema do colega que postou em 07/11...
    Quando tento criar o usuario é como se o comando estivesse errado...

    ResponderExcluir
  13. Este comentário foi removido pelo autor.

    ResponderExcluir
  14. Posta o erro inteiro aqui por favor. Como dica fica esse link de comandos para o servidor:

    http://opensimulator.org/wiki/Server_Commands

    Lembrando que para criar um usuário você executar o comando no Robust.exe e não no Opensm.exe, execute o comando:

    create user [first] [last] [passw]

    ResponderExcluir
  15. Bom dia,

    se maneira nenhuma eu consigo fazer funcionar de fora da minha rede o Opensim. É um projeto da empresa onde trabalho e internamente funciona ok, porém, quando abro para fora, o erro "we're having trouble connecting there may be a problem with your internet connection or the servers" aparece. Filtrando os logs do firewall, não vejo bloqueios de portas, as portas configuradas foram a 8002, 8003 e 9000, no caso da 9000 foi liberado TCP e UDP. Eu realmente preciso do apoio de alguém já que não encontro em lugar nenhum ajuda. =(

    Obrigado,
    Juan

    ResponderExcluir
  16. Estamos em agosto de 2016 e a versão disponivel do OpenSim no site é hoje opensim-0.8.2.1.zip, cujas linhas tem numeração diferentes das indicadas nesse tutorial. Seria de grande ajuda atualiza-lo, agradeceria muito e tambem as referentes ao APACHE, PHP E MYSQL.

    ResponderExcluir
  17. Procuro uma forma de acessar opensim direto pelo navegador (chorme, firefox, Ie), alguem sabe como ? favor enviar resposta para santino.jr@gmail.com

    ResponderExcluir
  18. Eu estou com a versão 0.9.0, colocando em Grid, gostaria de saber se alguém teve problema com o SEARCH na aba PLACE, que não funciona. Fica aparecendo searching e não mostra o nome da ilha. Grupos e Pessoas está funcionando. Place, Events e Classificados não está, mas o que quero mesmo funcionando é a busca de PLACE para achar os lugares.

    ResponderExcluir