Feb 222011
 

What is it?
Cajeput’s the server end of a virtual world, written in C++ and intended to be vaguely compatible with OpenSim (which makes it a clone of a clone of Second Life). It’s actually surprisingly lightweight, especially compared to OpenSim!

What’s the catch?
Basically, it’s horribly unfinished. There’s a whole bunch of stuff that’s just not implemented yet or is incomplete. It’s also meant to be usable with the OpenSim grid servers (because on its own, it can only run as a standalone install running on a single server), but this doesn’t work anymore due to OpenSim changes. Finally, it’s horribly undocumented and a bit of a pain to set up.

I don’t care about that, how do I get it?
You can find the latest version in the Git repository. In order to compile and use it, you’ll need a Linux system with git, CMake, the usual compiler and toolchain bits, and a handful of libraries installed. (Specifically: glib, libxml2, libsoup, json-glib and SQlite3.) Compile it like any other program that uses CMake. Copy server.ini.standalone to server.ini, use uuidgen to generate a UUID and insert it in place of the question marks in the line beginning uuid=, and run ./cajeput_sim. Now you’re stuck, because there’s no easy way to create user accounts yet. Press Ctrl-C to shutdown gracefully, run sqlite3 standalone.sqlite to edit the database, and execute the following SQL (creates an account Test User with password “test”):

insert into users (first_name, last_name, id, passwd_salt, passwd_sha256, time_created) values ("Test", "User", "d3ffaf88-76ff-4ec8-bae8-9e771197eddd", "EhBu9dmrai", "f34595a0deb4d1250bd5a70bb7fc70569b5734f8e36fb0ebecabd7333df32486", 1297655000);

Now restart, fire up your favourite viewer with login URL http://localhost:9000/ and login. (I use Imprudence – select “localhost” from the drop-down list of grids.) Seriously, it’s not ready for use yet.

 Posted by at 6:35 pm

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)