Main Page

From libsecondlife

Jump to: navigation, search
Project Info
  • Getting Started
    Instructions on how to download and/or compile libsecondlife.
  • Developer Portal
    Tutorials and helpful tips to get you writing code with libsecondlife.
  • Resources
    Documentation, mailing lists, and more.
  • Roadmap
    libsecondlife feature roadmap.
Get
Give
  • Bounties
    Need something done now? Coders need to eat. Place a bounty on it.
  • Servers provided by
    Test

What is libsecondlife?

The libsecondlife project is an effort directed at understanding how Second Life works from a technical perspective, and extending and integrating the metaverse with the rest of the web. This includes understanding how the official Second Life client operates and how it communicates with the Second Life simulator servers, as well as development of independent third party clients and tools.

  • See libsecondlife:License for a copy of the source license used by libsecondlife.
  • The collective authors make no guarantee as to the reliability of this documentation and it is formally considered alpha status.
  • This research and documentation is protected under the exceptions granted in the Second Life Terms of Service section 4.1 and DMCA section 1201(f), and is formally endorsed by Linden Labs.

Latest News


0.4.1 Released

created 2008-05-07 by Baba

I'm lazy so I'll just paste jradford's libsl-dev release notice.


Greetings,

The libsecondlife team is proud to announce the release of the latest version of the award winning libsecondlife library

This is a maintenance release that contains over 50 new features and bug fixes since our previous release 2 months ago!

Some of the highlights included in this release:

  • Our own WebClient Class (CapsClient) which fixes a number of outstanding bugs and improves performance and reliability
  • Once again works with mono 1.2.5
  • An updated OpenJpeg library which has several performance improvements over the previous version.

A full list of new features added and bugs fixed is available here: http://bug.openmv.org/changelog_page.php

You can download this release from our Downloads page: Getting the code

Thanks to all the Testers, bug reporters, patch submitters and developers who contributed to this release


Read More

New servers usher in a new high-technology era

created 2008-04-22 by Baba

OpenMetaverse is gettting some new servers to handle all the cool stuff we want to do. Recently we've run into some performance problems with the current server and that required us to turn off ViewVC until we move to some better hardware.

After the move we'll be setting up some new services including a Jira issue tracker and TeamCity continuous integration(automated builds and testing).

This should happen within the next two to three weeks.

Read More

Reverse-engineering the CRC function for UpdateInventoryItem

created 2008-04-01 by Baba

This article was written in September of 2006 by libsecondlife developer bushing. It has been salvaged from an old database and presented here for your reading pleasure

I've always been a big fan of IDA Pro, and have often just

disassembled random binaries with the thing to see what it could come up with. When I saw the bounty posted, I sprung at the chance to actually do something useful with it.

As you may have guessed, I do my primary development on a

PowerPC Mac, which means I end up running IDA under VirtualPC (which sucks) or on a x86 Linux box running VMWare (which sucks a little less). I ended up having to borrow a Windows-running laptop to do this, though.

Part 1: CRC table

IDA 5.0 took a while to load up "Second Life.exe" (v1.10.5.1), but it lets you start playing while it continues to process in the background. I gave it a 20-minute head start before I started to poke around.

One nice thing about trying to take apart CRC or hash functions

(MD5, SHA, etc), is that they all use tables (of various sizes) which you are guaranteed to find in a binary that uses that function (assuming there's no packing or encryption -- which is the case here). CRC32's table is contained in libsecondlife in SecondLife.cs:

private readonly static uint[] crcLookup = new uint[] {
0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,
0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,


Read More

News Archive