Como instalar um servidor Opensim num Raspberry Pi v.2 ou v.3

PauloNunes's picture

instalar um servidor Opensim num Raspberry Pi v.2 ou v.3

 

Opensim LogoRaspberry Pi 2

v.1.1

Para criar este tutorial foram consultados diversos sítios na internet e o seu conteúdo foi testado nas versões de software e hardware abaixo indicadas. Caso detete erros ou queira efetuar sugestões para a sua melhoria, utilize a zona de comentários abaixo. Muito obrigado!

Este tutorial parte do princípio que:

a) Efetua a preparação do cartão SD que vai ser utilizado para configurar o sistema a partir do ambiente Windows;

b) O sistema é instalado em Raspberry Pi 2. Não foram testadas configurações de sistemas baseados em Raspberry 1 ou 3, mas este último deve ser compatível.

  1. Formatar o cartão SD em Fat32. Pode ser utilizado o utilitário HP USB Disk Storage Format Tool, disponível em http://filehippo.com/download_hp_usb_disk_storage_format_tool/
  2. Descarregar a imagem do Raspbian de https://www.raspberrypi.org/downloads/raspbian/. Utilizou-se a versão full desktop, na versão de 2016-05-27.
  3. Usar a ferramenta Win32DiskImager, disponível em https://sourceforge.net/projects/win32diskimager/files/latest/download para transferir a imagem para o cartão SD a colocar no Raspberry Pi 2.

c) Inicia o sistema com o Rasbpian. Atribui ao sistema um endereço de IP fixo. Ver aqui um tutorial como fazer: https://www.youtube.com/watch?v=RyNtw76v7Vw.

 

A partir deste momento passamos a instalar e configurar o servidor Opensim Raspberry Pi.

Os termos indicados em negrito (nomes, passwords…) são meramente indicativos e podem ser alterados por quem instala o sistema. Escolha outros para o seu servidor.

O endereço IP do servidor foi configurado para 192.168.1.151. Pode usar qualquer outro mas não se esqueça que deve fazer a alteração no local respetivo quando necessário.

 

# efetuar o redimensionamento do sistema de ficheiros para ocupar a totalidade do cartão SD

sudo raspi-config

# escolher a opção Expand Filesystem

 

# atualizar o sistema e instalar software

sudo apt-get update && sudo apt-get upgrade -y && sudo ldconfig && sudo apt-get install libgdiplus -y && sudo reboot

sudo apt-get dist-upgrade –y~

# na fase seguinte será pedida uma password. Neste tutorial será usada a password pipassword

sudo apt-get install mysql-server

 

# configurar a base de dados em mysql. Será usada a palavra-passe pipassword referida anteriormente

mysql -u root –p

# criação e configuração de permissões na base de dados. De novo, em negrito, assinalados os termos que podem ser mudados por quem está a efetuar esta instalação.

create database opensim;use opensim;create user 'opensimuser'@'localhost' identified by 'opensimpass';grant all on opensim.* to 'opensimuser'@'localhost';

#sair do mysql

quit

 

# transferir a última versão do mono

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && sudo echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list && sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install mono-complete -y

# verificar a versão do mono. Deve ser a 4.x

mono --version

 

# descarregar e configurar a Opensim. Previamente devemos verificar em http://opensimulator.org/dist/ qual versão mais recente. No momento em que este tutorial é escrito, a versão mais recente é a 0.8.2.1

cd

wget -qO - http://opensimulator.org/dist/opensim-0.8.2.1.tar.gz | tar xzf -

sudo chown pi:pi -R ~/opensim-0.8.2.1/*

cd ~/opensim-*

cd bin

sudo cp OpenSim.ini.example OpenSim.ini

sudo sed -i 's:; Include-Architecture = "config-include/Standalone.ini":Include-Architecture = "config-include/Standalone.ini":g' OpenSim.ini

sudo sed -i 's:; physics = OpenDynamicsEngine:physics = OpenDynamicsEngine:g' OpenSim.ini

cd config-include

sudo sed -i 's:Include-Storage = "config-include/storage/SQLiteStandalone.ini";:;Include-Storage = "config-include/storage/SQLiteStandalone.ini";:g' StandaloneCommon.ini

sudo sed -i 's:;StorageProvider = "OpenSim.Data.MySQL.dll":StorageProvider = "OpenSim.Data.MySQL.dll":g' StandaloneCommon.ini

sudo sed -i '14,17 s:;ConnectionString:ConnectionString:g' StandaloneCommon.ini

sudo sed -i '14,17 s:ID=opensim;Password=\*\*\*:ID=opensimuser;Password=opensimpass:g' StandaloneCommon.ini

cd  ~/opensim-0.8.2.1/bin/ > Ode.NET.dll.config

echo "<configuration>" | sudo tee -a  ~/opensim-0.8.2.1/bin/Ode.NET.dll.config

echo "  <dllmap dll=\"ode\" target=\"lib32/libode.so\" />" | sudo tee -a  ~/opensim-0.8.2.1/bin/Ode.NET.dll.config

echo "</configuration>" | sudo tee -a  ~/opensim-0.8.2.1/bin/Ode.NET.dll.config

 

# criar a libode.so

cd

sudo apt-get install automake libtool gcc -y && git clone git://opensimulator.org/git/opensim-libs

cd ~/opensim-libs/trunk/unmanaged/OpenDynamicsEngine-0.10.1

cp ./autogen.sh ../OpenDynamicsEngine-0.13.1mod/autogen.sh

cd ..

cd OpenDynamicsEngine-0.13.1mod

sudo chmod 777 autogen.sh

sh autogen.sh

./configure --with-trimesh=opcode --disable-asserts --enable-shared --disable-demos --without-x --disable-threading-intf

make

cp ./ode/src/.libs/libode.so.4.1.0 ~/opensim-0.8.2.1/bin/lib32/libode.so.4.1.0

cp ./ode/src/.libs/libode.so.4 ~/opensim-0.8.2.1/bin/lib32/libode.so.4

cp ./ode/src/.libs/libode.so ~/opensim-0.8.2.1/bin/lib32/libode.so

 

# criar o libopenjpeg.so

cd

git clone git://github.com/openmetaversefoundation/libopenmetaverse.git libopenmetaverse

cd ./libopenmetaverse/openjpeg-dotnet/

sudo sed -i 's:ARCHFLAGS=-m32:ARCHFLAGS=:g' Makefile

make

cp -p libopenjpeg-dotnet-2-1.5.0-dotnet-1-i686.so ~/opensim-0.8.2.1/bin/lib32/libopenjpeg.so

cd  ~/opensim-0.8.2.1/bin/ > OpenMetaverse.dll.config

echo "<configuration>" | sudo tee -a ~/opensim-0.8.2.1/bin/OpenMetaverse.dll.config

echo "<dllmap dll=\"openjpeg-dotnet.dll\" target=\"lib32/libopenjpeg.so\" />" | sudo tee -a  ~/opensim-0.8.2.1/bin/OpenMetaverse.dll.config

echo "</configuration>" | sudo tee -a ~/opensim-0.8.2.1/bin/OpenMetaverse.dll.config

cd ~/opensim-0.8.2.1/bin/config-include/

sudo sed -i '/GridInfoService/,/MapImageService/ s!the lost continent of hippo!Raspberry Pi OpenSim Default Load!g' StandaloneCommon.ini

sudo sed -i '/GridInfoService/,/MapImageService/ s!hippogrid!opensimpi!g' StandaloneCommon.ini

sudo sed -i '/GridInfoService/,/MapImageService/ s!login = ${Const|BaseURL}:${Const|PublicPort}/!login = http://192.168.1.151:9000/!g' StandaloneCommon.ini

 

# iniciar o servidor Opensim

cd ~/opensim-0.8.2.1/bin

mono OpenSim.exe

 

# efetuar a configuração de parâmetros do servidor

Region Name: opensimpi

# carregar em “enter” até chegar a “Estate name”

Estate name: testersim

username – FirstName: Test

username – LastName: User

password: Test

# Indicar um endereço de email do gestor

Email: oseunome@dominio

# carregar em “enter até ao final

 

# neste momento o servidor encontra-se ativo

Para testar utilize um cliente e utilize o endereço http://192.168.1.151:9000

 

# para parar o servidor

Shutdown

 

# para iniciar o servidor

cd ~/opensim-0.8.2.1/bin

mono OpenSim.exe

Opensim UAb

# para inciar o servidor Opensim Raspberry Pi automaticamente no arranque do sistema

sudo apt-get install screen –y

crontab –e

# colar a seguinte linha

@reboot screen -dmS opensimpi sh -c 'cd ~/opensim-0.8.2.1/bin/;mono OpenSim.exe'