Het heeft even wat gepuzzel gekost, maar de Second Life – IRC gateway die ik wilde bouwen is klaar. Tenminste versie 0.1, want ik heb nog een paar aanvullende wensen. In deze versie is het zo dat ik een verbinding heb gemaakt tussen een object (in dit geval een doos, maar het kan elke vorm hebben) in Second Life en een PHP-script op mijn eigen server hier thuis. Op die server draait een IRC-server. Het PHP-script is als een Bot ingelogd in het IRC-kanaal #SLChat. Alles wat binnen chatbereik van de doos in Second Life gezegd wordt, wordt via het PHP-script doorgegeven als chatberichten in het IRC-kanaal. Omgekeerd wordt alles wat in het IRC-kanaal gezegd wordt als chat-berichten doorgegeven in Second Life. Er kunnen in Second Life meerdere gebruikers aanwezig zijn, maar het is handiger om maar één bot in de chatruimte te hebben. Ik kan de bot namelijk wel vanuit Second Life laten starten, maar afsluiten ervan op afstand als bijvoorbeeld een chatter buiten bereik gaat is ingewikkelder. Daarom ziet een chatbericht van een Second Life gebruiker er in IRC zo uit:
<SLChat> [Peter McAllister] ik chat vanuit Second Life
De chatbot voegt automatisch de naam van de Avatar tussen [] toe voor het chatbericht.
Omgekeerd gebeurt dat in Second Life ook. Daar heet het object “IRC Gateway” en zien chatberichten er bijvoorbeeld zo uit:
IRC Gateway: [PierreGor] ik chat vanuit mIRC
Ik weet nog niet precies of en op welke manier ik het script beschikbaar ga stellen. Het is sowieso niet zomaar herbruikbaar omdat je je eigen IRC-server moet hebben of een IRC-server waar bots toegestaan zijn. Daarnaast heb ik de time-out voor het PHP-script op de server heel hoog moeten zetten, anders wordt de chat-bot na een paar minuten automatisch uitgelogd.
Daarnaast moet de server sockets ondersteunen, is niet vaak het geval bij gehoste oplossingen.
Zelf testen
De URLs voor de chatbox en de Java-versie zijn te achterhalen in de screenshots. Zolang het Fontys eiland nog niet geopend is voor iedereen, is het nog niet voor iedereen mogelijk om de SL-kant te bekijken. Nog even geduld daarvoor dus.
Als je al toegang hebt tot het eiland, dan kun je het zelf testen door naar deze SLURL te gaan en naar deze webpagina. Alles wat je op de ene plek “zegt”, verschijnt dan automatisch ook op de andere plek.
Hou er rekening mee dat ik nog aan het verder ontwikkelen ben, dus de server en de gateway kan er regelmatig uit liggen.
Wensenlijstje
Het is nu nog mogelijk voor Second Life chatters om op te vragen wie er in de IRC-chatruimte is en omgekeerd is het voor IRC-chatters nog niet mogelijk op te vragen wie er aan de andere kant zit.
Het script geeft op het moment alles door wat er binnen bereik gezegd wordt, zonder dat dat vooraf aangegeven wordt. Ik neem aan dat het wel zo netjes is om SL avatars ook de mogelijk te geven om niet “hoorbaar” te zijn. Ik ben er alleen nog niet uit of dat een opt-in of opt-out moet worden.
De time-out voor het script staat nu op één maand. Één keer per maand zal hij er dus automatisch mee stoppen. Ik heb daar nog geen nette oplossing voor.
Mooie tool. Ben zelf bezig met bouwen van een bibliotheek voor Amsterdam, oba.nl
We gaan op 5-5-2007 open
jan wei (sl)
Pierre, kunnen wij iets dergelijks ook inzetten voor onze (geplande) virtual reference desk? Zou uiteraard handig zijn als we van door jou ontwikkelde zaken gebruik kunnen maken…
Hoi Sybilla,
Lijkt me van mijn kant geen probleem. Praktisch zal het even de vraag zijn hoe zoiets binnen de Fontys voorzieningen te integreren.