Wizardry and Steamworks

Corrade

Good day!


Corrade is a Second Life / OpenSim scripted agent licensed under GNU GPLv3 that can be controlled from in-world LSL scripts. You can download Corrade from its project page. This presentation page illustrates harvesting data from within Second Life using Corrade's HTTP interface. Most data is dynamic and updated in real-time using a Corrade bot on a simulator in Second Life. In order to spare resources, the data is updated once every few seconds. These do not represent the full extent of what Corrade is able to do, just some examples that are illustrative enough for what could possibly be achieved by using Corrade.


Two-Way Group Chat Shoutbox

A two-way group-chat enabling people to talk to groups in-world from a webpage. This is done by using the Corrade "group" notification to relay messages to a PHP script and "tell" Corrade command to speak a message in group chat.

The download is available on the project page.


Instant Messenger

This template allows you to send and receive instant messages in real time using Corrade. You can start a new message by pressing the "New Conversation" button. Any avatar that messages the bot will make this template create a new tab in real-time such that you can respond to them.

The download is available on the project page.


Measuring Male-to-Female Avatar Ratio on a Simulator

The "avatars" Corrade notification is used to send new arriving avatars on a region to a PHP script that, in turn, uses the "getavatardata" command to query the visual parameters of the arriving agent. The gender is extracted from the fields and stored in a log file which is then read through jQuery and displayed as a chart by using HighCharts.

The download is available on the project page.


Monitoring the Statistics of a Region in Real Time

Corrade benefits from data-related functions that can query a lot of parameters exposed by Second Life. In this example, we monitor a region's script time which is usually indicative of an overused region and can be taken as a good indicator of region stability.

The download is available on the project page.


Monitoring the Ages of Avatars on a Simulator

Perhaps one of the interesting statistic to factor in a region's traffic is also the age of the avatars that visit regions. Second Life makes no distinction, nor does it offer any means to get more "valuable" data and considers all the visits as a contribution to region traffic. It is in this case more useful to check, perhaps, the audience of your simulator or business.

The example plot is measured on a simulator where a lot of newbies come to earn L$ by fishing and that can be seen by the accumulation of dots towards the lower end of the avatar ages.

None yet.


Tracking Top Scripts on a Region

The region's top scripts can be fetched only if the avatar fetching the statistics is an estate manager - in this case, Corrade is an estate manager on the region it monitors. The regions top scripts, and top colliders, is perhaps the best way to determine which scripts lag the region the most and can be an excellent tool to track down the largest producers of lag on a simulator.

If you watch the top scripts data table enough, you will notice that the "Flapping Gull" seems to be one of the laggiest objects on the simulator. The object is, in fact, a seagull created by someone that uses non-physical movement to make a seagull wander around the sim. The effect of that is that the script takes a lot of processing time. One measure would be to remove the seagull and replace it by a more competent product.

The project is described and can be downloaded from the top scripts project page.


Download Texture

Corrade can download most assets from within the grid if their UUIDs are known. This example demonstrates downloading any texture by UUID using Corrade's "download" command.

The project is described and can be downloaded from the downloading textures project page.


Track Avatars in Real-Time on the Region Map

Corrade is pretty fast in serving-up certain types of data. In this case, a script continuously makes Corrade download the map texture and overlay the current positions of the avatars on the simulator. The demonstration updates the map silently every second and if you are on the simulator, you can watch yourself fly across the region.

The project is described and can be downloaded from the project page


Mass-Invite Avatars to a Group

Using PHP and Corrade's built-in HTTP server it is quite easy to send a bunch of invites. The snippet uses the "batchinvite" command to invite agents by UUID or by name to a group.

The project is described and can be downloaded from the project page


Tack users Joining and Parting from a Group

Using the "membership" notification we can track people joining and leaving the group.

The project is described and can be downloaded from the project page


Avatar Tracking in 3D

A 3D plot of the avatars on the region.

The project is described and can be downloaded from the project page


Add and Remove Groups Dynamically

Due to using XML as the configuration backend, Corrade is easily configurable from the web directory. Last and not least, Corrade re-reads the configuration file dynamically if it is changed which makes building interfaces for Corrade very convenient and easy.

None Yet


Browse and Manipulate the In-World Inventory

The following template relies heavily on Corrade's "inventory" command in order to dynamically display the in-world inventory of a Corrade bot connected to a grid. Based on the jstree project, the items have context menus allowing to send items, download notecards and textures, get information on the various items and even move the items in the inventory by drag & drop.

The project is described and can be downloaded from the project page


Credits