Archivio

Posts Tagged ‘tutorial’

OpenSim per principianti: Come creare una sim in craft da un server dedicato Ubuntu

Porzione centrale di craft con la sim di benvenuto (Hydra)

OpenSim è un argomento “caldo” di chi si occupa di mondi virtuali. Ho già pubblicato varie guide per l’installazione di OpenSim, SimOnAStick, Aurora, addirittura anche qualche esempio di Grid, ma quasi tutto dedicato a Windows per installazioni casalinghe.

In questi articoli, anche a seguito delle sollecitazioni di molti che mi chiedevano come fare per rendere visibile la propria sim dall’esterno ho sempre detto che era meglio avere un server dedicato, preferibilmente Linux. Ora qui cerco di spiegare a grandi linee come Fare. Il sistema linux più diffuso è senza dubbio Ubuntu e la versione 12.04 si trova ormai da parecchi fornitori.

Se dovete scegliere un provider, le opzioni sono tante, ma se volete un consiglio dovete prendere un server che abbia ALMENO 1 GB di ram e preferibilmente almeno 2 o 3. Il minimo teorico sarebbe 640 Mega, ma francamente è fortemente sconsigliato, dato che Linux di suo occupa già uno spazio “interessante”. Se avete meno di 4 G di ram è anche preferibile prendere un ubuntu a 32 bit che spesso dà meno problemi del 64 bit.

Tra i server che offrono a cifre umane un server dedicato di almeno 1 GB abbiamo:

I video

Dato che i video sono spesso più chiari del testo vi inserisco gli ultimi che ho fatto che dovrebbero chiarire i passi necessari per l’installazione di una sim su craft:

Parte I: la predisposizione apt-get etc

Parte II: l’installazione della sim

La console Comandi Terminale

Quando vi arriva il server vi viene fornito un indirizzo IP a cui collegarvi con un terminale telnet/ssh come ad esempio Putty http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html che fornisce uno splendido terminale di connessione gratuito ed opensource. Con le credenziali fornite vi troverete in una cosiddetts console nera da dove potete inviare dei comandi. Come vedrete su ubuntu i comandi fondamentali sono del tipo

sudo apt-get install <elenco>

dove elenco è un insieme di cose da installare. Di solito Ubuntu vi chiede la password di login dell’utente, almeno per i primi comandi.

L’abc dei comandi linux (ls, cd, vi, etc)

Ci sono svariate guide per ubuntu (ad esempio http://www.html.it/guide/guida-ubuntu-linux/) per l’uso di ubuntu dal terminale vi consiglio queste http://www.istitutomajorana.it/index.php?option=com_content&task=view&id=396&Itemid=33

Navigazione visuale facilitata con WinScp

Un altro strumento essenziale che si usa è WinScp (http://winscp.net/eng/index.php) che consente un po’ come fa FileZilla di accedere in modo visuale ad un sito ssh potendo fare facilmente file transfer e soprattutto editare rapidamente il contenuto di file di configurazione o di file di log. Quasi essenziale per chi viene dal mondo Windows, ma offre un aiuto importante per il trasferimento dei files o l’editing inplace di configurazione anche per i più esperti (consente anche di integrarsi direttamente con Putty per avere a fianco dell’albero dei file anche una finestra console.

Negoziazione coordinate sim e Kit di installazione

PRIMA però di poter fare alcunchè dovreste contattare Licu Rau per ottenere le coordinate dove potete inserire la vostra sim. Le coordinate sono una coppia di numeri e il “centro” della sim è situato alle coordinate 10000,10000. Potete andare su questo indirizzo web http://www.craft-world.org/page/en/living-in-craft/world-map.php per vedere quali sim già esistono e per farvi una idea di dove potreste mettervi. Come già detto è preferibile che facciate questa richiesta nel momento in cui avete un server dedicato perchè questi consentono una affidabilità di network e di uptime nettamente superiori rispetto ad un server casalingo, che come abbiamo visto ha moltissimi problemi.

Licu inoltre vi fornirà un file zippato che costituirà la base di installazione per la vostra sim.

Questo file ad esempio si potrebbe chiamare 0.7.4-rel-postfixes.zip ed è lungo ad esempio 26 Megabytes. Dovete fare in modo da ricopiarlo (con winscp ad esempio) sul vostro sito.

Indirizzi interni ed esterni del vostro server

Fate in modo di sapere inoltre di conoscere con esattezza l’indirizzo esterno ed interno del vostro server. Normalmente sono lo stesso indirizzo, ma ad esempio su AWS sono due indirizzi differenti. Per conoscere l’indirizzo interno del vostro server è utile usare il comando ifconfig (or /sbin/ifconfig) che vi da un sacco di informazioni utili.

Lo stato della vostra macchina

Il comando per eccellenza per sapere varie informazioni sulla vostra macchina è il comando top che vi dice moltissime cose come ad esempio se state usando troppa cpu, troppa memoria o se avete situazioni anomale. La documentazione di questo comando la trovate qui:

Gestione di screen multipli anche offline

Il comando che viene usato più spesso è screen (per una guida completa http://www.ubuntu-linux.it/introduzione-a-screen-uno-strumento-indispensabile-con-ssh/) usando questo strumento potete lanciare le vostre sim in differita che continuano a funzionare anche quando voi uscite dal collegamento remoto.

La sequenza di installazione iniziale (apt-get …..)

Questa sequenza è molto importante e verrà usata dal video

sudo apt-get update
sudo apt-get install mono-complete nant subversion
sudo apt-get install unzip
sudo apt-get install libglib2.0-dev libpng12-dev libexif-dev libtiff-dev libfontconfig1-dev libfreetype6-dev libxrender-dev php5-curl php5-xmlrpc build-essential libc6-dev g++ gcc pkg-config git-core apache2 apache2-threaded-dev bison gettext autoconf automake libtool libpango1.0-dev libatk1.0-dev libgtk2.0-dev libgif-dev libglade2-dev zlib1g-dev
sudo apt-get install mysql-client-5.5 mysql-server phpmyadmin mc ntp ntpdate
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5

Le istruzioni per la configurazione dell’istanza OpenSim:

Queste istruzioni sottintendono che abbiate creato prima utilizzando phpmyadmin un utente e un database vuoto (vedi questa guida http://www.alfredoparisi.it/24/04/2012/phpmyadmin-creare-un-nuovo-utente-e-un-nuovo-database/), quindi dovete procedere ai seguenti passi che sono anche quelli che dovete fare per fare l’aggiornamento ad una versione nuova.

1) Edita il file bin/config-include/GridCommon.ini
reimposta i dati per la connessione al database:
se usi SqLite semplicemente leva il commento (il
punto e virgola) all’inizio della riga:

Include-Storage = “config-include/storage/SQLiteStandalone.ini”;

e copia OpenSim.db dalla vecchia versione.

Se invece usi MySql leva il commento alle seguenti
righe:

StorageProvider = “OpenSim.Data.MySQL.dll”
ConnectionString = “Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;”

e imposta i dati di connessione (nome database, user,
password).
2) Edita il file bin/OpenSim.ini
il valore di async_call_method è ottimizzato per
linux, se invece stai usando Windows commenta la
riga:

;async_call_method = SmartThreadPool

e leva il commento alla riga:

async_call_method = UnsafeQueueUserWorkItem

3) Scegli un valore appropriato per MaxPoolThreads
MaxPoolThreads = 15 è buono per single core PC
MaxPoolThreads = 30 è buono per dual core PC
MaxPoolThreads = 45 è buono per quad core PC
4) Se la tua istanza lavora su una porta diversa dalla
9000, modifica il valore di http_listener_port con
il numero di porta usato.

5) Copia il vecchio file .ini in bin/Regions nella stessa
directory della nuova versione.

6) Se utilizzi scripts che hanno necessità di conservare
dati di variabili (come scripts per breedable pets o
scripts che conservano liste di dati in memoria)
allora devi copiare il contenuto della vecchia
directory bin/ScriptEngines nella stessa directory
della nuova versione.

7) Se hai un account Vivox per il voice, imposta i tuoi
dati nella sezione Vivox.
Per ulteriori informazioni riguardo a voice e moneta
chiedi inworld a Licu Rau.

Sperando che tutto questo possa aiutare molti.

Salahzar

Annunci

Componiamo una rivista professionale con Scribus (OpenSource)

17 giugno 2012 3 commenti

Si è molto discusso anche su queste pagine su come fare editoria nel nuovo monto del web e del virtuale. Molti si sono cimentati e hanno prodotto libri digitali utilizzando tecniche varie, che però partivano quasi sempre dall’avere a disposizione un documento iniziale pdf ben composto.

Poco invece si sa di come produrre una rivista o un libro usando un formato appetitibile, colorato e professionale. Recentemente mi sono imbattuto come sapete nella pubblicazione di una serie di libri fotografici sulla “trasvolata di SL con la mongolfiera” di cui per inciso proprio ieri è uscito il VII volume dedicato a Corsica:

http://issuu.com/dahliasweet/docs/thegreatballoonadventurecorsica?mode=window&backgroundColor=%23222222

Come possiamo riuscire a produrre dei libri o delle brochure fatte con una qualità simile a questa?

Ho intervistato stanotte Dahlia che mi ha confessato di avere realizzato queste cose con QuickQuarkExXpress, un potente software professionale a pagamento che gira bene su Mac. Ho cercato di vedere se c’erano delle alternative a basso prezzo o gratuite e sono stato fortunato: ho scoperto che c’è un equivalente di Quick ExpressQuarkXpress che è opensource e che permette di fare cose analoghe. C’è ovviamente da impararlo, ma ci sono alcuni interessanti tutorial che ho cominciato a seguire.

Il software lo scaricate da qui:

http://www.scribus.net/canvas/Scribus

Mentre invece ci sono degli ottimi tutorial sul sito a partire dalla locandina di Rembrandt qui: (inglese) http://wiki.scribus.net/canvas/Help:Manual_Quickstart

Oppure potete scaricarvi questo manuale (di una versione precedente ma dovrebbe andare bene) da qui: http://www.paolettopn.it/download/4/

Per avere una ricchissima libreria di Templates da cui partire ecco un utile link: http://scribusstuff.org/index.php?xcontentmode=642

 

Sperando di avervi fatto cosa gradita… Pensate che sia necessario pubblicare fare corsi di impaginazione?

Salahzar

Corso di Blender di base 101-102-103 / Basic Blender Class 101-102-103

Per coloro interessati all’uso di blender per fare mesh, ecco una sequenza di 3 video che culminano con un video che insegna a fare una spada importata in SL. I video sono titolati in inglese ed italiano. Per seguirli basta scaricarsi la versione di blender 2.59 dal sito http://www.blender.org lanciarla ed eseguire passo passo i vari pezzi. Se avete un laptop o un mac è conveniente impostare nelle preferenze http://wiki.blender.org/index.php/Doc:Manual/Interface/Keyboard_and_Mouse come spiegato all’inizio del video 103.

For those interested in Blender usage to make mesh, here a sequence of 3 videos which terminates for now with a tutorial on how to build a Sword and import it in SL. Videso are titled in English and Italian. To follow them you just need to download blender 2.59 from http://www.blender.org run it and follow step by step various pieces. If you have a laptop or a mac it’s convenient to set up preferences as  http://wiki.blender.org/index.php/Doc:Manual/Interface/Keyboard_and_Mouse also explained at beginning of video 103.

Blender 101 le basi per muoversi:

Blender 102: le basi per editare i vertici:

Blender 103: costruiamo una spada con subsurf/crease e importiamo come mesh in SL:

Alta sartoria “virtuale” in SecondLife

3 settembre 2011 3 commenti

L’avevo promesso un tutorial sul cosiddetto “rigging” degli avatar con Blender entro fine agosto e sono leggermente in ritardo… Ma dovete perdonarmi: soltanto da poche ore sono stati risolti (pare) i problemi che impedivano il caricamento dei modelli creati con l’ultima versione di Blender.

Il “rigging”

Ma intanto vediamo di spiegare cosa significhi fare il “rigging” di un avatar o di un abito. Dall’inglese, rigging è una parola complessa che significa molte cose, fra cui il “sartiame”, l’insieme dei cordami che legano le vele agli alberi di una nave:

Sartiame: Immagine di pubblico dominio by-sa http://www.flickr.com/photos/jamesjin/

Quindi con questo termine intendiamo il complesso meccanismo di “fili” un po’ come nelle marionette che consentono all’avatar di muoversi e piegarsi seguendo le articolazioni e giunture di un corpo umano (joint). Gli abiti fatti con i prim attuali non hanno infatti coscienza dei muscoli e delle ossa che dovrebbero farli muovere (unica eccezione la gonna di default dell’avatar) e quindi quando l’avatar si muove gli abiti seguono una fisica distorta.

L’esempio più ovvio che viene in mente è la cravatta che “entra” dentro il petto dell’avatar. Oppure i capelli che entrano dentro il cranio 😦

Chi ha provato a fare animazioni per SecondLife usando il formato BVH ( http://en.wikipedia.org/wiki/Biovision_Hierarchy) dovrebbe avere un’idea di come funzionano le giunture in un avatar di SL (per un tutorial sull’uso di QAvimator vedete ad esempio questo video):

Quasi come un sarto

Immagine di pubblico dominio by-nc-sa http://www.flickr.com/photos/auntiep/

La cosa curiosa è che costruire un abito diventa molto simile al mestiere del sarto, la procedura è curiosa:

  • Si prende una sorta di manichino (un avatar di partenza)
  • Si costruisce l’abito aderente
  • Si associa l’abito allo “scheletro”
  • Si definisce bene come l’abito si “piega” al muoversi della parte di corpo corrispondente

Ma qual è’ la novità introdotta solo in Agosto con le meravigliose mesh? (cfr: https://virtualworldsmagazine.wordpress.com/2011/07/23/secondlife-luglio-2011-linvasione-delle-meshes/, e magari seguendo queste slide http://alisl.org/penguin/slide.php?file=content-it.txt&page=1 ). Per chi parla inglese c’è un’ottima serie di video tutorial qui: http://community.secondlife.com/t5/Mesh/Second-Life-Rigged-Clothing-Tutorial-Series-Blender/m-p/1027925#M4848 ma è ancora un pochino complicato (e vale solo per le versioni vecchie di Blender).

La guida per confezionare un abito (le basi)

Ecco allora che vi propongo una piccola guida per riuscire a fare una sorta di “tunica” con queste nuove tecnologie.

Ingredienti:

Questa guida userà avatar workbench per render il tutto più veloce:

Ricetta:

Dopo avere importato avatar workbench dal sito machinimatrix

Create una “tunica” usando (per semplicità espositiva, io non sono un sarto e vi faccio vedere le poche cose di creatività di cui sono capace) un semplice cilindro).

103. Andate sul layer 2 e selezionate testa, parte bassa e alta del corpo e fate CTRL-J per unificarle. Fate shift e selezionate il layer 10 per vedere lo scheletro

104. Create un cilindro e sovrapponetelo alla figura (aumentate di molto il numero di edgeloop orizzontali del cilindro in edit con CTRL-R)  in modo da avere il cilindro che incapsula esattamente l’avatar.

La "tunica" che incapsula l'avatar

105. Da object mode imparentate l’abito con lo scheletro (le linee nere) con seleziona cilindro, shift-seleziona scheletro,  ctrl-P  e indica with automatic weight per il momento (piegature automatiche).

Imparentiamo l'abito con lo scheletro

106. Poi dovete selezionare il cilindro (di nuovo) e poi con shift anche  l’avatar originale e quindi selezionare l’operazione di copia dei pesi delle ossa (script che vi ho fatto scaricare dal sito machinimatrix):

Copia dei pesi delle ossa.. Impiega qualche minuto, abbiate pazienza

Cliccando su “copy Bone weights” ci impiega un sacco di tempo anche 5-10 minuti se avete scelto come nell’esempio il livello di interpolazione 4. Per fare delle semplici prove, basta che mettiate 1. Il livello di interpolazione controlla quanto fedelmente associate le mesh del vostro vestito alle mesh dell’avatar base. Più è alto e più è fedele. A questo punto seguirebbero una serie di operazioni da superesperti, ma per beneficio di tutorial, passiamo subito all’export del nostro abito futuristico su SL.

PS. Nel mio esempio ho dovuto mettere il livello di interpolazione a 1 altrimenti non finiva più 😦 Probabilmente il cilindro è troppo staccato dal corpo e non viene gestito correttamente. Provando con vestiti più attillati dovrebbe funzionare meglio.

107. Con la pazienza dei santi avendo aspettato i vostri 10 minuti (speranzosamente meno) che lo script faccia il miracolo della creazione delle “giunture” giuste. Alla fine potete provare ad esportare selezionando la vostra “tunica” e poi export collada (ricordatevi di esportare ONLY SELECTION) altrimenti vi esporta tutto quello che avete e non andrebbe bene niente…

108. Ok, adesso dovete importare il vostro modello su SL (o su aditi se volete solo provare), usando il viewer 3.0, che se proprio non vi piace potete moddarlo come da me spiegato in questo articolo: https://virtualworldsmagazine.wordpress.com/2011/09/01/un-viewer-3-piu-accettabile-istruzioni-per-abbellirlo-con-le-skin-starlight/

109. Quando caricate l’immagine, oltre a cliccare sul tasto di verifica del prezzo, accertatevi di cliccare sul tab

NB: se non vi compare la possibilità di cliccare su SkinWeights e JointPositions allora avete fatto qualche passaggio sbagliato e il rigging non è riuscito 😦

110. Ecco la tunica indossata. Notate come la tunica segua i movimenti del corpo. Il risultato in questo caso non è eccezionale (io non sono un sarto), ma vi aiuta sicuramente a capire un pochino il processo con cui si fanno i vestiti con questa nuova modalità. P.es. si può fare una cravatta che segua il profilo del torace e non affondi quando ci muoviamo.

Attenzione

1. Se avete dei problemi per cui la vostra shape proprio bisticcia con l’abito (culi di fuori o altro), capirete il perchè il 99% dei venditori di abiti mesh distribuiscono anche un layer alpha che cancella la vostra shape in modo da evitare antiestetismi fastidiosi e imbarazzanti. 🙂

2. Ovviamente questo è solo l’inizio per fare veramente degli abiti occorre fare molte altre cose fra cui:

  • Texturizzazione (che non è detto che sia banale)
  • Piegatura e controllo dei pesi
  • Creazione dei vari livelli di LOD (visibilità da lontano).
Spero che in questo modo di avere soddisfatto la vostra curiosità su come si fanno rigged clothes.
Salahzar Stenvaag

OpenSim: Installiamo una grid. Parte III: la voce…

Rieccoci 🙂

Ed ecco finalmente la terza parte del nostro trittico su come costruire una grid opensim professionale. Dopo avere descritto nei due articoli precedenti:

Ecco le istruzioni per configurare la voce. Queste istruzioni sono il frutto di quelle pubblicate sul sito http://opensimulator.org (http://opensimulator.org/wiki/Freeswitch_Module) e delle istruzioni pubblicate da Carlos Roundel, creatore della grid italiana Cyberlandia  e riportate da Olivier Battini creatore della grid francese New World Grid  (http://wiki.osgrid.org/index.php/Freeswitch_HowTo2). Le istruzioni sono state ulteriormente ritoccate da AndreaPiero Arbizu che me le ha fornite dopo averle verificate in pratica su decine di grid e che ho verificato personalmente sulla grid creata con gli articoli precedenti.
Notate che questa operazione (la configurazione di freeswitch) è leggermente più complicata e lunga rispetto agli step precedenti e dovete allocare ALMENO 1 ora di tempo per eseguire questi passi…

Ecco la guida:

Voice su Opensim, configurazione di Freeswitch
Questa procedura è valida per UBUNTU con versione opensim 0.7.2 dev r. 16203 (NB: io l’ho provata con una 0.7.1 ufficiale)
e configurazione per usare freeswitch come servizio di grid .Luglio 15 , 2011 Andrea Arbizu ( contatto skype : andreapiero.hotmail.it )

PREPARAZIONE DELL’AMBIENTE

– Entrare con utente root ( su ubuntu desktop aprire il terminale , digitare il comando sudo su e inserire la password UTENTE) .

 apt-get update
 apt-get install -y autoconf automake libtool build-essential subversion libxml2
 apt-get install -y libxml2-dev libtiff4 libtiff4-dev php5 php5-cli
 apt-get install -y php5-common php5-mcrypt php5-mysql php5-gd php5-pgsql php-pear php-db
 apt-get install -y libmysqlclient16-dev curl sox libssl-dev libncurses5-dev bison
 apt-get install -y libaudiofile-dev libnewt-dev libcurl4-gnutls-dev
 apt-get install -y libnet-ssleay-perl openssl ssl-cert libauthen-pam-perl
 apt-get install -y libio-pty-perl
 apt-get install -y libpg-perl libdbd-pg-perl  sqlite3
 apt-get install -y libsqlite3-dev
 apt-get install -y libapache2-mod-php5 libmcrypt-dev

INSTALLAZIONE DI FREESWITCH

cd /usr/local/src

– download, compilazione e installazione del Git di freeswitch

 apt-get install -y git
 git clone git://git.freeswitch.org/freeswitch.git
 cd freeswitch
 cd build
 cp modules.conf.in modules.conf
 vi modules.conf

individuare la riga:

 #codecs/mod_siren

e levare il # (da me era già scommentata)
individuare la riga

 #xml_int/mod_xml_curl (OK)

e levare il #
 salvare il file (con vi esc:wq)

cd ..
 AUTOCONF=/usr/bin/autoconf ./bootstrap.sh

 attendere una decina di minuti sino al termine dell ‘ operazione. (a me meno di 5 minuti)
 ./configure --prefix=/usr/local/freeswitch
 attendere  il termine  (5 minuti pieni)
make
 attendere il termine. (20 minuti pieni)
 make install
 make mod_siren-install
 make mod_xml_curl-install

notare che i due comandi successivi vanno ripetuti due volte non e’ un errore!!
 make sounds-install
 make sounds-install
 make moh-install
 make moh-install

 make samples

CONFIGURAZIONE FREESWITCH

– Configurazione di Freeswitch per opensim
supponiamo che il nostro server sia connesso ad internet con un IP pubblico del tipo: 192.111.222.33

supponiamo che non esista alcun firewall che limita alcunche ne in ingresso ne in uscita.

cd /usr/local/freeswitch/conf/autoload_configs/
 vi modules.conf.xml
 individuare la riga:
 <!– <load module=”mod_xml_curl”/> –>
 e sostituirla con:
 <load module=”mod_xml_curl”/>
 individuare la riga:
 <!–<load module=”mod_siren”/>–> (a me non era commentata)
 e sostituirla con:
 <load module=”mod_siren”/>
 salvare il file (esc:wq)
 cd /usr/local/freeswitch/conf/autoload_configs
 vi xml_curl.conf.xml

 posizionarsi sotto la riga:
 <binding name=”example”>
 cancellare tutte le righe (premendo dd piu volte su vi) (dG cancella tutto se si è sulla prima riga)
 e sostituire con:
 <configuration name="xml_curl.conf" description="cURL XML Gateway">
 <bindings>
 <binding name="example">
 <param name="gateway-url" value="http://192.111.222.33:8004/fsapi/freeswitch-config" bindings="directory"/>
 <param name="disable-100-continue" value="true"/>
 </binding>
 <binding name="local">
 <param name="gateway-url" value="http://192.111.222.33:8004/fsapi/freeswitch-config" bindings="dialplan"/>
 <param name="disable-100-continue" value="true"/>
 </binding>
 </bindings>
 </configuration>

(al posto di 192.111.222.33 va messo l’ip pubblico del server dove gira opensim.).
salvare il file.

AVVIO  FREESWITCH IN UNO SCREEN

– Avvio di Freeswitch

 screen –S Voice
 screen –r Voice (????) da me questo da errore
 cd /usr/local/freeswitch/bin/
 ./freeswitch

ignorare qualunque messaggio o errore più o meno colorato

2011-08-07 06:34:03.782163 [NOTICE] switch_utils.c:248 Adding 192.0.2.0/24 (allow) [brian@78.47.22.111] to list domains 2011-08-07 06:34:03.782208 [CONSOLE] switch_core.c:1839 _____              ______        _____ _____ ____ _   _ |  ___| __ ___  ___/ ___\ \      / /_ _|_   _/ ___| | | | | |_ | '__/ _ \/ _ \___ \\ \ /\ / / | |  | || |   | |_| | |  _|| | |  __/  __/___) |\ V  V /  | |  | || |___|  _  | |_|  |_|  \___|\___|____/  \_/\_/  |___| |_| \____|_| |_| ************************************************************ * Anthony Minessale II, Michael Jerris, Brian West, Others * * FreeSWITCH (http://www.freeswitch.org)                   * * Paypal Donations Appreciated: paypal@freeswitch.org      * * Brought to you by ClueCon http://www.cluecon.com/        * ************************************************************ 2011-08-07 06:34:03.782215 [CONSOLE] switch_core.c:1842 FreeSWITCH Version 1.0.head (git-b952b2b 2011-08-04 19-53-18 +0200) Started. Max Sessions[1000] Session Rate[30] SQL [Enabled] freeswitch@opensim>
e detachare screen
 control+maiuscolo a
 control+maiuscolo d
CONFIGURAZIONE ROBUST e OPENSIM

Editare il file Robust.ini sezione Freeswitch :

[FreeswitchService] LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService" ;; The IP address of your FreeSWITCH server. ;; This address must be reachable by viewers. ServerAddress = 192.111.222.33
 (al posto di 192.111.222.33 va messo l’ip pubblico del server dove gira robust.).
 - Configurazione di Opensim
 editare il file OpenSim.ini
 nella sezione FreeSwitchVoice
 [FreeSwitchVoice] ;; In order for this to work you need a functioning FreeSWITCH PBX set up. ;; Configuration details at http://opensimulator.org/wiki/Freeswitch_Module Enabled = true ;; You need to load a local service for a standalone, and a remote service ;; for a grid region. Use one of the lines below, as appropriate ;; If you're using Freeswitch on a standalone then you will also need to configure the [FreeswitchService] section in config-include/StandaloneCommon.ini ;; LocalServiceModule = OpenSim.Services.FreeswitchService.dll:FreeswitchService LocalServiceModule = OpenSim.Services.Connectors.dll:RemoteFreeswitchConnector ;; If using a remote connector, specify the server URL FreeswitchServiceURL = http://192.111.222.33:8004/fsapi ( sostituire con ip del server )

>>>> Fine <<<<

avviare normalmente opensim, da questo momento in poi la sim ha il voice abilitato.
Verificare che nelle impostazioni della parcell il voice sia attivo

Ho seguito la configurazione ufficiale suggerita sul sito http://www.opensimulator.org
integrandola su come settare i moduli e con alcuni suggerimenti sia dai bug mantis
che dalle mailing list di opensimulator. Questo documento e’ rilasciato con licenza cc ( obbligo citazione della fonte)
Credo che possa essere utile a quanti stanno sbattendosi a far funzionare il voice in questo periodo.

PS: Ho seguito fedelmente questa guida e al termine ho poi invitato gli amici Pinowo, Rumegusc, Marcus73 a provare il voce, che dopo un iniziale momento in cui sembra che non funzionasse nulla, aggiustando i livelli del microfono, degli altoparlanti etc, alla fine siamo riusciti a fare una discreta conferenza a 3.

La resa, pur soddisfacente per alcuni versi, lamenta alcuni momenti di perdita di voce. La qualità complessiva non pare essere equivalente a quella di secondlife, ma tuttavia pare promettente e se avete un po’ di pazienza, anche usabile. Ad onore del vero nella grid Craft Rumegusc aveva cercato di usare il voice, ma dice che quando le persone erano più di 3-4 i problemi diventavano insormontabili.

Dal mio punto di vista, sono ragionevolmente soddisfatto, perchè fino a 2 anni fa i miei tentativi di installazione di freeswitch erano stati infruttuosi e frustranti 😦

 

Salahzar Stenvaag

Categorie:OpenSim2 Tag:, , ,

OpenSim: installiamo una grid. Parte Seconda: sito web e gruppi

17 luglio 2011 2 commenti

L'accesso wifi alla nostra grid

Come vi avevo promesso nel mio primo articolo https://virtualworldsmagazine.wordpress.com/2011/07/15/opensim-nuove-istruzioni-per-esperti-come-configurare-una-grid-0-7-1-1/ ora proviamo ad arricchire la nostra grid “nuda” con due caratteristiche secondo me essenziali per una grid ma che NON sono parte essenziali della installazione di base di OpenSim:

  • L’interfaccia web (anche detta wifi) “Web Interface for… I”, sviluppata da Diva Canto, che consente di fare le seguenti attività:
  • Creazione di utenti, controllati dall’amministratore
  • Possibilità di definire degli avatar di default per i nuovi account
  • Consente l’aggiornamento degli account sia agli utenti che all’amministratore
  • Consente la cancellazione di utenti
  • Consente il recupero della password via email
  • Consente un accesso limitato all’inventory dell’utente
  • Definisce una pagina web di benvenuto
  • La gestione dei gruppi (ottenuta usando un componente che si chiama XmlRpcGroup), che consente una elementare gestione dei gruppi e dei messaggi offline.
  • Vedremo in questo articolo le operazioni necessarie per installare questi due “add-on”.

    1. Parte Prima: installiamo Wifi.

    (101) Dobbiamo andare a questo link dal sito di Diva Canto: https://github.com/diva/d2/downloads e scarichiamo (102) lo zip corrispondente all’ultima versione di wifi 0.7.1.1. (103) Lo spacchettiamo e (104) sovrascriviamo (dopo averne fatto un opportuno backup i file ivi contenuti nel direttorio OpenSim dove avevamo spacchettato la versione di OpenSim della grid di cui all’articolo precedente.
    Wifi contiene le seguenti cartelle:
    • bin con alcune dll specifiche di wifi
    • doc con documentazione di wifi
    • wifipages con le pagine di gestione html
    Occorre a questo punto configurare (105)  Robust.ini in modo da lanciare anche il modulo wifi:
    [Startup]
    ServiceConnectors = "
    8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,
    8003/OpenSim.Server.Handlers.dll:XInventoryInConnector,
    8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector,
    8003/OpenSim.Server.Handlers.dll:GridServiceConnector,
    8002/OpenSim.Server.Handlers.dll:GridInfoServerInConnector,
    8003/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector,
    8002/OpenSim.Server.Handlers.dll:OpenIdServerConnector,
    8003/OpenSim.Server.Handlers.dll:AvatarServiceConnector,
    8002/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector,
    8003/OpenSim.Server.Handlers.dll:PresenceServiceConnector,
    8003/OpenSim.Server.Handlers.dll:UserAccountServiceConnector,
    8003/OpenSim.Server.Handlers.dll:GridUserServiceConnector,
    8003/OpenSim.Server.Handlers.dll:FriendsServiceConnector,
    8002/Diva.Wifi.dll:WifiServerConnector"
    Ricopiate una nuova sezione (106) [WifiService] in Robust.ini ricopiandola da Wifi.ini.example, ricordate di modificare localhost con il vostro ip:
    [WifiService]
        GridName = "My World"
        LoginURL = "http://<il tuo ip>:8002"
        WebAddress = "http://<il tuo ip>:8002"
        ....

    A questo punto dovete rilanciare (107)  il servizio Robust ed essere in grado di lanciare wifi (108) accedendo a http://<iltuoip&gt;:8002/wifi Al primo lancio dovete (109) cliccare su “INSTALL WIFI” in alto a dx della maschera dopo di che dovete inserire la pwd dell’amministratore per poter avere un avatar di gestione. (110) Create gli avatar “template” da amministratore chiamandoli “Male Avatar” “Female Avatar” “Neutral Avatar” in modo da offrire a chi entra degli inventory e delle apparenze già precostituite. E ok, avete installato wifi….

    2. Installazione dei gruppi

    La struttura dei gruppi con XmlRpc

    Per installare i gruppi dovete scaricarvi invece il seguente tar.gz da questo sito (201):

    https://github.com/mcortez/flotsam/tarball/master rinominate il file scaricato (se già non lo ha in modo da terminare con .tar.gz), (202) spacchettatelo.

    (203) E ricopiate nel server la cartella “mcortez-flotsam-963d99e\flotsam\Servers\XmlRpcGroupsServer” dentro la root del vostro server http (su ubuntu sotto /var/www) chiamandola ad esempio (204) “groups” accertatevi di modificare le permissions (204a)  chmod o il proprietario chown in modo che il server apache sia in grado di leggere e scrivere questi file.

    Create un database per gestire i gruppi e i messaggi offline:

    con la tecnica suggerita dall’articolo precedente, andate in (205) http://<vostroip>/phpmyadmin, specificate la pwd di root del db mysql e su privilegi (206) create un utente opensim_group con pwd opensim_group e creategli il db corrispondente.

    A questo punto dovete modificare due file:

    il file sotto /var/www/groups/config.php.example (copiatelo come config.php) in modo da essere (207):

    <?php
        $dbName = "opensim_group";
        $dbHost = "localhost";
        $dbPort = 3306;
        $dbUser = "opensim_group";
        $dbPassword ="opensim_group";
    
        // Set to 0 for no debugging, 1 for essential debugging, 2 for more information.
        $debugXMLRPC = 2;
        $debugXMLRPCFile = "xmlrpc.log";
    
            //////////////////////////////
            //// Group security
            /////////////////////
    
            // A xmlrpc client must have this key to commit changes to the Groups DB
            // Leave blank to allow all clients to make changes.
            $groupWriteKey = '1234';
            $groupReadKey  = '1234';

    Dove sostituite l’eventuale (208) database nome utente e password se per caso non avete usato questi… (209) E se volete anche le chiavi di accesso sostituendo il PIN ovvio 1234.

    Poi proseguite modificando il vostro file OpenSim.ini cancellando la impostazione vecchia della stanza [Groups] e mettendo invece la seguente (210):

    [Groups]
        ;# {Enabled} {} {Enable groups?} {true false} false
        ;; Enables the groups module
        Enabled = true
    
        ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {} Default
        ;; This is the current groups stub in Region.CoreModules.Avatar.Groups.
        ;; All the other settings below only really apply to the Flotsam/SimianGrid
        ;; GroupsModule.
        ;; This module can use a PHP XmlRpc server from the Flotsam project at
        ;; http://code.google.com/p/flotsam/
        ;; or from the SimianGrid project at http://code.google.com/p/openmetaverse
        Module = GroupsModule
    
        ;# {MessagingEnabled} {Module:GroupsModule} {Is groups messaging enabled?} {true false} true
        ;MessagingEnabled = true
    
        ;# {MessagingModule} {MessagingEnabled:true} {Module to use for groups messaging} {GroupsMessagingModule} GroupsMessagingModule
        MessagingModule = GroupsMessagingModule
    
        ;# {ServicesConnectorModule} {Module:GroupsModule} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector} XmlRpcGroupsServicesConnector
        ;; Service connectors to the Groups Service as used in the GroupsModule.  Select one depending on
        ;; whether you're using a Flotsam XmlRpc backend or a SimianGrid backend
        ServicesConnectorModule = XmlRpcGroupsServicesConnector
    
        ;# {GroupsServerURI} {Module:GroupsModule} {Groups Server URI} {}
        ;; URI for the groups services
        ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc
        ;; or http://mygridserver.com:82/Grid/ for SimianGrid
        GroupsServerURI = "http://localhost/groups/xmlrpc.php"
    
        ;# {NoticesEnabled} {Module:GroupsModule} {Enable group notices?} {true false} true
        ;; Enable Group Notices
        ; NoticesEnabled = true
    
        ;; This makes the Groups modules very chatty on the console.
        DebugEnabled = true
    
        ;; XmlRpc Security settings.  These must match those set on your backend
        ;; groups service if the service is using these keys
        XmlRpcServiceReadKey    = 1234
        XmlRpcServiceWriteKey   = 1234

    Attenzione a inserire esattamente questa configurazione: io ho perso un sacco di tempo cercando di modificare la versione di base di OpenSim.ini.

    Ora potete rilanciare il vostro OpenSim.exe ed entrando inworld avrete i vostri bravi gruppi funzionanti.

    Cosa c’è dopo?

    Come promesso, nel prossimo articolo illustreremo come configurare l’ultimo elemento per dare professionalità alla vostra grid: il voce. Ricordate che una grid si può installare in infiniti modi, usando differenti add-on, noi abbiamo usato quelli suggeriti dal sito opensim.org, in particolare seguendo le guide in inglese a queste pagine:

    http://opensimulator.org/wiki/Wifi

    http://opensimulator.org/wiki/Enabling_Groups

    Ma amministratori esperti possono caricare degli add-on integrati con i principali sistemi di gestione di contenuti CMS come ad esempio JOOMLA, XOOPS, MOODLE.

    Non vi spiego come configurare i moduli per questi CMS, per questo ci sono amministratori esperti.

    Vi aspettiamo alla prossima puntata dove installeremo FreeSwitch…

     

    Salahzar

    OpenSim Nuove istruzioni per “esperti”: come configurare una grid (0.7.1.1)…

    15 luglio 2011 2 commenti

    Abbiamo pubblicato ad inizio anno alcune guide per consentire a persone anche relativamente digiune di programmazione di configurare/installare 1/4 sim ed eventualmente collegarle al mondo esterno o ad altre grid. Queste guide erano caratterizzate dall’essere abbastanza veloci e consentire la creazione di una regione in pochi minuti.

    Perchè creare una grid invece di Sim Isolate?

    Per coloro di voi un pochino più coraggiosi, spieghiamo ora come installare una intera Grid, cosa che può essere necessaria ed utile se volete utilizzare OpenSim in una struttura commerciale o in una scuola o istituto, o in una Università dove sia necessario configurare più di 1-4 regioni. E dove magari è necessario evitare che intrusi possano entrare, oppure ancora se voleste proprio dare vita ad una struttura di hosting di sim indipendenti (pare che sia uno sport abbastanza diffuso negli ultimi tempi, anche se a me sembra che non ne valga la pena 🙂 ).

    Uno dei motivi seri per cui si costruisce una grid anzichè un insieme di sim standalone è il fatto di poter suddividere il carico su più computer distinti. Se ad esempio voleste creare una struttura con 50 sim, sarebbe un po’ un suicidio crearle e caricarle su un’unica macchina, molto meglio suddividere il carico su un gruppo di computer che cooperano in modo da avere ad esempio una macchina “Robust” che mantiene l’infrastruttura della grid (Inventory, Identity, ecc), e distribuire le sim ad esempio mettendone due per macchina. (D’altronde la stessa Linden Lab di solito ospita su una macchina fisica UNA SOLA sim, ad eccezione delle HomeStead che vengono ospitate non più di 4 per macchina fisica). Rispetto ad una architettura HG (Hypergrid) abbiamo anche il vantaggio che possiamo tenere sotto controllo l’identità di chi si registra ed usa le nostre sim, e di poter appoggiare un sito web per la gestione delle identità.

    La grid di solito riesce anche a garantire quei servizi professionali che oramai sono essenziali in un mondo virtuale che voglia poter essere utilizzato seriamente, come ad esempio il servizio di gestione dei gruppi, un modulo “Money” per gestire acquisti interni, e soprattutto il modulo “Voce”.

    Struttura di questi Tutorial.

    Per rendere meno ostico l’argomento separeremo i vari argomenti in diversi articoli, di cui questo è il primo:

    • Prima parte: la grid base (questo articolo)
    • Seconda parte: installiamo interfaccia web e i gruppi/profili
    • Terza parte: installiamo il voice (freeswitch)
    Queste operazioni non sono banalissime (ma neanche impossibili), se si seguono le guide “giuste”. Quindi seguitemi con calma ed attenzione.

    Ingredienti di base Hardware:

    Se vogliamo usare la grid al nostro interno abbiamo bisogno di una macchina Linux (le istruzioni sono state certificate per Ubuntu 11.04).
    Se non vogliamo comprare e gestire uno o più computer fisici  l’ideale è di “affittare” un server dedicato che oltretutto risolve in modo limpido i problemi di FireWall e di Routing. Esistono dei provider che consentono di affittare un server dedicato virtuale per circa 10 € al mese (Io ho provato http://www.sisvps.com/ bronze plane che fornisce 512 Megabyte di ram) oppure sui 25 € al mese presso http://www.ovh.it/vps/. Se avete qualche finanziamento potete prendere anche soluzioni con server dedicati “veri” che però costano decisamente di più, ma garantiscono maggiore sicurezza e velocità (ad esempio http://www.kimsufi.it/). In ogni caso il parametro più delicato è sicuramente la quantità di RAM, ricordate che con meno di 512 Megabytes non riuscite a fare nulla! Quindi non prendete l’entry level con 256 M su cui oramai non gira nemmeno un piccolo server php con database mysql (!).

    Installiamo il S.O. e gli strumenti prerequisiti (MYSQL, APACHE, MONO)

    Il mio suggerimento è di usare come Sistema Operativo Ubuntu 11.04, dove è facile installare i vari pacchetti.
    Ecco la sequenza da adottare con ubuntu. (se per caso siete già utente root non c’è bisogno di dare il sudo).
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install mono-complete
    sudo apt-get install mysql-server
    sudo apt-get install phpmyadmin

    Le prime due servono per avere il repository dei programmi di apt-get allineato, la 3a installa mono che è il motore che ci serve. Le altre due installano il gestore del database e l’interfaccia web (comprensiva di php, apache).

    Durante l’installazione di mysql-server vi viene chiesta la “pwd” di root del database. Ricordatevi di trascriverla da qualche parte.

    Durante l’installazione di phpmyadmin vi viene chiesto di installare apache2 (mettete con la barra spaziatrice il baffo sulla prima opzione e poi tab invio per confermare), poi vi viene chiesta la pwd di root che avete dato a mysql-server e infine una nuova pwd di amministrazione di phpmyadmin (io metto admin/admin). Per le altre eventuali richieste accettate il default.

    Quando avete terminato andate sul vostro server con phpmyadmin (http://<vostroip>/phpmyadmin), specificate root e pwd di root già definite. Andate su privileges e create un utente opensim accessibile localmente con pwd opensim (o altra) e specificate di creare un database con lo stesso nome dove l’utente ha tutti i privilegi.

    Installazione e configurazione di Robust

    A questo punto quello che vi rimane da fare è di scaricare la versione binaria di OpenSim da qui: http://opensimulator.org/wiki/Download, attualmente la 0.7.1.1, la scaricate con wget o dal browser e la scompattate.

    Poi dovete andare nella cartella bin da un terminale e copiate Robust.ini.example in Robust.ini e cambiate le impostazioni del db ed eventualmente la presentazione della vostra grid.

    [DatabaseService]
        StorageProvider = "OpenSim.Data.MySQL.dll"
        ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=opensim;Old Guids=true;"
    [GridInfoService]
        ; These settings are used to return information on a get_grid_info call.
        ; Client launcher scripts and third-party clients make use of this to
        ; autoconfigure the client and to provide a nice user experience. If you
        ; want to facilitate that, you should configure the settings here according
        ; to your grid or standalone setup.
        ;
        ; See http://opensimulator.org/wiki/GridInfo
    
        ; login uri: for grid this is the login server URI
        login = http://127.0.0.1:9000/
    
        ; long grid name: the long name of your grid
        gridname = "the lost continent of hippo"
    
        ; short grid name: the short name of your grid
        gridnick = "hippogrid"
    
        ; login page: optional: if it exists it will be used to tell the client to use
        ;                       this as splash page
        ;welcome = http://127.0.0.1/welcome
    
        ; helper uri: optional: if it exists if will be used to tell the client to use
        ;                       this for all economy related things
        ;economy = http://127.0.0.1:9000/
    
        ; web page of grid: optional: page providing further information about your grid
        ;about = http://127.0.0.1/about/
    
        ; account creation: optional: page providing further information about obtaining
        ;                             a user account on your grid
        ;register = http://127.0.0.1/register
    
        ; help: optional: page providing further assistance for users of your grid
        ;help = http://127.0.0.1/help
    
        ; password help: optional: page providing password assistance for users of your grid
        ;password = http://127.0.0.1/password

    A questo punto basta che lanciate “mono Robust.exe” e verifichiate che non ci siano errori…

    Ricordatevi di creare un utente con “create user” e registratevi i suoi dati che serviranno quando aggiungerete la PRIMA SIM.

    Lanciamo la nostra prima sim associata alla grid

    Da un altro terminale andate sempre nella cartella bin e modificate il file OpenSim.ini e cambiate l’architettura:

    [Architecture]
    
        ; Include-Architecture = "config-include/Standalone.ini"
        ; Include-Architecture = "config-include/StandaloneHypergrid.ini"
        Include-Architecture = "config-include/Grid.ini"
        ; Include-Architecture = "config-include/GridHypergrid.ini"
        ; Include-Architecture = "config-include/SimianGrid.ini"
        ; Include-Architecture = "config-include/HyperSimianGrid.ini"

    Deve rimanere senza il ; solo il pezzo che indica Grid.ini.

    Dopo di che andate su config-include/GridCommon.ini (ricopiatelo da GridCommon.ini.example se manca) cambiando tutti i riferimenti dove leggete :8003 in modo che si legga chiaramente l’IP di dove avete messo Robust. Attenzione che vi sono tanti di questi quindi cercate 8003 senza dimenticarvene nessuno.

    [AssetService]
    
        DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
        AssetLoaderArgs = "assets/AssetSets.xml"
    
        ;
        ; change this to your grid-wide asset server
        ;
        AssetServerURI = "http://78.47.22.111:8003"

    A questo punto basta che lanciate questa prima sim con “mono OpenSim.exe”. La prima volta che la lanciate vi chiede un insieme di domande a cui dovrete rispondere. Le uniche cose importanti sono:

    • Il nome della regione che create
    • L’IP esterno della regione che dovrà coincidere con quello dove sta la sim
    • L’estate manager user che deve coincidere per la prima sim con quello fornito a robust
    Una volta salito, bast che vi colleghiate con Imprudence creando una nuova grid con la seguente loginuri: http://<<gridIP>&gt;:8002/
    L’intero processo una volta che lo sapete fare partendo da Linux vergine richiede non più di mezz’ora andando anche tranquilli….
    Arrivederci al prossimo tutorial Parte II in cui vedremo come configurare l’interfaccia web e i gruppi. Se avete dei problemi contattatemi qui nei commenti, inworld come Salahzar Stenvaag o via email salahzar@gmail.com…
    Disclaimer: Questo articolo è ovviamente una introduzione funzionante. Maggiori informazioni si trovano nel sito ufficiale di opensim in inglese (http://opensimulator.org/wiki/Configuration e pagine connesse).
    Buona fortuna 🙂