Saturday, September 12, 2009

Getting a Standalone OpenSim up and running on a Linode VPS: A tutorial

Ok, I know there are several tutorials out there that detail how to do this in general, but there are none out there that are specific to Linode, and I have encountered enough speed bumps on the way to warrant a specific HOWTO. So here goes:
  1. Go to Linode.com and get the "Linode 540" VPS solution. It's $15 more per month than the cheapie Tektonic VPS, but I found OpenSim runs very smoothly on it.
  2. Deploy a Linux distro on your VPS. I prefer Ubuntu 9.04 "Jaunty", and for this tutorial that's what I'm going to assume you will use. Make sure your distro is at least over 10GB(I used almost the entire disk) and have a swap size of 512MB. Also set the root password on your deployed distro, as you will be using it to login to your VPS in the next step.
  3. Remotely login to your newly created VPS. You can use PuTTY, as referenced in this old tutorial or use the ssh command-line client like I did: [ssh root@my.ip.address]. Enter the root password for your VPS, and you'll be logged in with a standard shell prompt.

  4. Add the "universe" and "multiverse" repositories. First install the text editor nano so you can edit files: "apt-get install nano". Then do "nano /etc/apt/sources.list" to edit your APT sources. Here's what mine's looks like after editing:





    ## main & restricted repositories
    deb http://us.archive.ubuntu.com/ubuntu/ jaunty main restricted
    deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty main restricted

    deb http://security.ubuntu.com/ubuntu jaunty-security main restricted
    deb-src http://security.ubuntu.com/ubuntu jaunty-security main restricted

    ## universe repositories
    #deb http://us.archive.ubuntu.com/ubuntu/ jaunty universe
    #deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty universe
    #deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates universe
    #deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty-updates universe

    #deb http://security.ubuntu.com/ubuntu jaunty-security universe
    #deb-src http://security.ubuntu.com/ubuntu jaunty-security universe

    deb http://archive.ubuntu.com/ubuntu jaunty universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu jaunty universe multiverse

  5. Update your distro. Now do "apt-get update && apt-get dist-upgrade" to get the latest patches to keep secure.
  6. Install the packages needed to build and run OpenSim. The packages required are listed in this old tutorial(You can replace "mono-gmcs" with "mono" as it now includes the gmcs*). Also do "apt-get install git-core" to install the git distributed source code manager. You'll need it to download the latest stable OpenSim source code.
  7. Download the latest stable OpenSim source code. Follow the instructions on the OpenSim download page.
  8. Within the OpenSim directory, do these commands: "./runprebuild.sh && nant". If there are no prebuild or nant build errors, then OpenSim has been properly compiled.
  9. Follow the steps in this tutorial from Step 7 onwards, and then you can exit your ssh session and login to your shiny new OpenSim!
So now you ask, "What's next?". In the next few posts I'll show you how to administrate your OpenSim to do stuff like properly startup/shutdown your sim, add user accounts and even perform sim backups.

*Update: I just remembered about that nasty bug in Mono I blogged about earlier, where I described how I fixed it. Details about the bug and the patch for it are available here.

Monday, September 7, 2009

Struggling with Hypergrid

Now that the process of getting my sim up, running and add accounts for my friends from SL is done, I've attempted to Hypergrid my sim. But so far it's been mostly fruitless. First it was a "Region too far" type of error, caused by a bug in the Hypergrid protocol that only allows a jump up to 4096 coordinates in both dimensions. But after editing the [Network] section of OpenSim.ini and the coordinates in /bin/Regions/Regions.ini, I can link to most regions listed, but then I get an error like this when attempting to go there: "Destination is not allowing teleports. Failed to authenticate user Antonius Misfit@xx.xxx.xxx.xxx:9300".

I have tried every available Hypergrid address listed on gridhop.net, but with no luck. Am I missing something? I've been going a little nuts trying to figure out the problem. Help!