Running OpenSim on a SliceHost VPS

Three years ago, I set up OpenSim on a few of my computers in my home network. OpenSim is an open source three dimensional virtual world, very similar to Second Life. I’m not sure what version I was running, but it was very early alpha code. Nonetheless, I managed to get it up and running and do some rudimentary activities on it. Other projects came along and I set the OpenSim project aside.

However, recent developments around Second Life caused me to take another look at OpenSim to see how it has developed. Opensim runs on Mono, a cross platform, open source .NET environment. I recently upgraded the server in my office, which I had installed OpenSim on years ago to run the latest long term support version of Ubuntu, Lucid Lynx. Since I already had Mono running on it, the upgrade brought me up to version 2.6.7 of Mono. Downloading and installing Opensim 0.7.0.2 proved trivial, and I ran the Hippo viewer and the Imprudence viewer against the server.

Since my office server is behind a firewall, it is currently inaccessible to anyone in the outside world. I considered making it accessible via IPv6, but OpenSim does not appear to support IPv6 yet. Either that or the viewers don’t support IPv6. My guess is that none of them do.

So, I thought I would see if I could set up OpenSim to run on the VPS that I have from SliceHost. This is a small VPS, only 512 Meg of RAM. At Slicehost’s current pricing, that is $38/month. I use it for many different projects, so OpenSim would be just one more process.

However, I am currently running the older Long Term Support version of Ubuntu, Hardy Heron. Hardy Heron has a fairly old version of Mono, not new enough to support OpenSim. So, I thought I would try compiling the latest version of Mono. I followed the instructions on the OpenSim Wiki.

Unfortunately, part way through, the make failed. Looking around, I found that there have been problems with newer versions of Mono with older Linux kernels. I had been running 2.6.24-23.48. Slicehost makes it fairly easy to update the kernel. After checking around to make sure there weren’t any warnings I needed to be aware of, I upgraded to 2.6.35.4-rscloud. As an aside, many of my other projects have seen noted performance improvements since upgrading the kernel.

I tried running make again, and this time it completed. With Mono running, I loaded the most recent OpenSim binary. Initially, it complained that I had too old of a version of sqlite. So, I switched over to use MySql, which I already had installed. Opensim got much further until it complained about not having libgdiplus. Instructions on the Wiki had said to configure Mono --with-libgdiplus=no. It looked like I would need to do another rebuild.

At the same time, version 2.8 of Mono came out and people on the OpenSim mailing list started asking if anyone had tried OpenSim with Mono 2.8. I considered doing this, but the builds take a very long time, so I figured I would instead take a different course.

Badgerports has a repository that includes Mono 2.4.4 which is sufficient for running OpenSim 0.7.0.2. I installed this version of Mono and started OpenSim.

I have firewalls on my Slicehost VPS server, so I poked the appropriate holes for a standalone installation of OpenSim. Then, I connected to the server from Hippo on one of my office Linux boxes. My linux client box is a fairly old box, and it was slow getting started. I’ve also been having some network connectivity problems and I had a couple of times when it timed out.

That said, I now have OpenSim running on a 512 Meg Slicehost VPS. When there is no traffic, it is currently taking up about 3-6% of the memory and using around 3% of the CPU. I don’t want to test it extensively out of concern for other projects I have running. However, I have built simple objects, logged out, shutdown the server, logged back in, restarted the server and everything seems to be persisting and running smoothly.

It is worth noting that on a 512 Meg Slicehost VPS, it does take close to 15 minutes for my region to fully start. I imagine that if I add more assets and more users, this may get worse. However, I am now comfortable that for around $40/month and a small amount of configuration work, I can have my own little adequately functioning three dimensional virtual world based on OpenSim. It doesn’t give the full Second Life experience, but for my purposes, it is more than sufficient.

(Categories: )