libsecondlife is open source attempt at a full reimplementation of the Second Life networking protocol. This means it's fully independent from the official client, and it can construct and interpret any packet the official client can. In theory it gives developers access to the full power of the official client. Libsecondlife provides a networking (protocol) abstraction layer to Second Life originally using the Boost C++ libraries. Recent development has focused on the C# version, which offers greater Windows compatibility. The goal of the project is to build a robust, multi-threaded method of access to the Second Life world. In other words, create an SL API that can create NPCs and do other things. The library is designed for everything from low level packet construction to high level abstractions of avatars, simulators, and more.
libsecondlife is licenced under a modified BSD license [1]
The developers maintain an IRC channel on EFnet. They can be found in #libsl.
Applications Utilizing libsecondlife[]
SLProxy[]
SLProxy creates a proxy for Second Life by acting as a login server that relays login information to and from the actual grid login server, and then modifies the port and IP address in the login reply and in any packets that have IPADDR fields. A new port is opened for each sim connection, and all packet sequence numbers are tracked and modified. Zerocoding and packet construction and deconstruction are handled by libsecondlife.
CopyBot[]
In November 2006 the libsecondlife team released an application called CopyBot internally as a debugging aid, the application copies the avatar of anyone nearby who gives permission to the bot. Unfortunately before it could be stopped, several individuals started selling copies of this application as a general purpose IP theft tool. Linden Bans Copybot Users First official announcement by LL
SLChat[]
SLChat is an open source text-only SL client being developed in C# by Oz Spade and Baba Yamamoto.
SLIRC[]
SLIRC is a bridge using libsecondlife to connect SL and IRC. It currently supports ACL-based forwarding.
Example Applications[]
libsecondlife compiles with a few example implimentations included.
- name2key
name2Key logs into Second Life and returns the key of a specified user.
- Key2Name
This example retrieves the name of an avatar from an agent key
- slacountant
SL Accountant demonstrates a GUI application using libsecondlife. It is able to search for user names and transfer L$ funds between accounts.
- TestClient
A simple command line client with easy to modify command structure.
- PrimExport
This example dumps prim parameters to several formats including blender and XML.
- Teleport
A teleportation example.
Websites Utilizing libsecondlife[]
Zuild.net[]
Zuild.net uses libsecondlife to integrate in-world bios with users' blogging and profiles on their site. Second Life on Zuild.net
Links[]
- libsecondlife.org - Official home page.
- BerliOS Project Page and SVN.
- Documentation wiki