Author Archives: Diva Canto

Wifi and Other Diva Addons

Hello everyone! OpenSim 0.8.1 brings a few minor bug fixes to core OpenSim and a significant change to how the web app Wifi is deployed in grids (no changes for D2 standalones). In general, this release introduces a mechanism for me and others to provide 3rd-party addons via mono addins, a mechanism that has been in OpenSim for a very long time, but that was severely underutilized. Let me explain how to deploy Wifi in your grid from here on, and then I’ll explain how to install additional Diva addons in either grids or standalones.

NOTE: mono addins works in both .NET and mono. If you run Wifi in Windows you do not need to install mono in order to run mono addins. Everything you need is already included in the OpenSim distribution.

Continue reading →

OnLook Viewer


As I’ve announced at OSCC’14, I am working with Liru on a Singularity-based viewer whose main goal is to make the viewer’s UI as programmable as possible server-side. You know, more like Web browsers.

The idea here is to allow OpenSim operators to have more control over the experience that their users will have; specifically, I want to be able to design much simpler user interfaces that are more appropriate for people who have no experience with Second Life and/or may be even uncomfortable with seeing themselves as avatars. But more importantly that any specific UI, I want to be able to provide those UI specifications dynamically as the user enters the simulator, rather than being hard-coded during the viewer’s build process. This way, we can change the UI without forcing users to install new versions of the viewer. And no one needs to agree on any specific UI.

I’m happy to announce that the very first alpha release of OnLook is now available for testing! Without the server-side UI specs, OnLook behaves exactly like Singularity, so you won’t see any difference when you login to your world. In order to help people test it, I have deployed a small test world that can be accessed via the Hypergrid. So here is a description of the steps that you can do to test this, along with pictures of what you’ll see.

Continue reading →

New in 0.8: Profiles and Variable-Sized Regions


OpenSimulator 0.8 brings one much requested feature, profiles, and a fantastic new feature, variable-sized regions (varregions for short), something we got from an offshoot of OpenSim with collaboration from viewer developers. Profiles and varregions both work out of the box for new installations of D2, so if you’re doing it from scratch, you don’t need to read this. But if you are upgrading your D2, there is some manual upgrading to do. Please read on!

Continue reading →

OSCC 2013 — Why You Should Care and How You Can Help

Load Test

As all of you probably already know, we are organizing the first OpenSimulator Community Conference on the first full weekend of September, 7-8. This event has been in the making since, roughly, March. But it took us a couple of years before that to actually convince ourselves that it was worth doing it. Here are all the reasons why I think this event a great thing, and why everyone who uses OpenSimulator should be involved in some way.

Continue reading →

D2 Addons: Groups, Offline IM, TOS module

The latest release of D2 (diva-r22043) includes a few new addons that are missing from the core of OpenSim, namely: Groups, Offline IM and a Terms of Service feature. I’ve waited this long to implement these, but it has finally come to a point that I can’t live without them. Groups are pretty important for access control and permissions, and it has been a battle to work without them; offline IM is convenient; and showing a Terms of Service agreement has become important to me, especially for foreign visitors.

D2 is meant to be a personal virtual world server, so some of these addons have limitations that reflect the spirit of a personal virtual world. For example, in D2 you can create at most 2 groups. I have an unlimited version of Groups, too, but that is meant for larger worlds.

Anyway, you can find all the information about these addons here. The Wifi web app has been extended with some minimal support for managing groups.

These addons are works in progress, and I will keep improving them. This is their first release to the public, so expect some hickups. Please report those issues here, but make sure to read the documentation first.

Have fun!


Updating D2 to r22043 in Linux

NOTE: This affects only Linux installations. D2 on Windows machines is fine.

If you are updating your D2 in Linux from r20232-b to the latest, you will very likely encounter the following problem:

$ mono Update.exe
Using download link
Your current release is diva-r20232-b. Available release is diva-r22043
New release available. Updating…
Downloading new release from to /tmp/ This may take a few minutes.
Extracting new release to /home/opensim
* Unable to unzip. Please try updating later. (Reason: Path is empty)
Your installation has been updated. The new release is in
>> /home/opensim/diva-r22043 <<
Your regions have been migrated.
Please read the RELEASENOTES to know what changed.
If you made changes to OpenSim.ini, please copy that file over
or change the new one.

<Press return to exit>

In other words, the Update tool fails to unzip the new package.

This is due to a bug in a library included in OpenSim 0.7.4, on which diva-r20232-b is based. The offending library is called Ionic.Zip.dll. Here is what you need to do in order to get past this issue.

1 – Download this version of that library and place it in your current d2 bin folder, diva-r20232-b/bin. You can overwrite  the one that’s there, or move it somewhere before placing the new version there. Note that some download tools (e.g. wget) don’t overwrite files and instead give them new names. Make sure the new version has the right name.

2 – Run the Update tool again.
$ mono Update.exe

Voila! Problem solved.

The latest D2 release has the correct version of Ionic.Zip.dll, so hopefully this won’t happen next time you need to update.

Bad Ubuntu!

$ less /etc/hosts localhost nile
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Yesterday, I spent a lot of time harassing just about everyone in my University’s Networking Support department because I couldn’t get an OpenSim server to serve clients anywhere. We know that OpenSim networking is hard. But, damn it, I’m one of the core devs of OpenSim, and I have a pretty good idea of what’s involved in the protocols between the server and the client. I’ve had lots of OpenSim servers running successfully in all sorts of networks, including my University’s. Well, the problem turned out to be… Ubuntu!

Continue reading →