by on Jan.15, 2010, under Uncategorized

So how do I go about writing my own Second Life client. It seems like quite a daunting task! After all, the Second Life protocol is huge…

A bit of searching had me stumble upon LibOpenMetaVerse. These clever guys have reverse engineered the protocol and wrapped it up in a nice little library. Great! Wait… it’s C#! Well, that just won’t do for me as I’m a Mac user. However, C# code can run under UNIX via the use of Mono.

This lead me to form a plan of writing the client in two components: A transport and a front-end. The great thing about this architecture is that anyone can then use the transport to write their own client for any platform and not have to worry about implementing the nitty-gritty bits of the Second Life protocol! I’m not going to fool myself into thinking that I can write the best Second Life client in the world, but if I can provide a way to make it more accessible for others to write clients, then maybe someone else can write a better one than me.

To make things as easy as possible, I decided that communication between the transport and the client should be done via the use of very simple XML transactions. Anything coming from Second Life is termed a “Response” message. Anything coming from the client is termed a “Request” message.

The transport can communicate using unencrypted or encrypted network streams and it doesn’t require you to send an un-hashed password from the client in order to log-in to Second Life (it supports MD5 hashed passwords). This means you can be sure that if you’re connecting to an WhisperTransport, you won’t need to compromise the security of your password! Best of all, using encryption means that no one will be able to decrypt your Second Life session.

With this architecture in mind, it would be easy to implement the transport.

Comments are closed.

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!


A few highly recommended websites...


    All entries, chronologically...