Corrade

en-verb|corrades|corrading|corraded

  1. (obsolete) To gnaw into; to wear away; to fret; to consume.
  2. (geology) To erode, as the bed of a stream.
  3. (obsolete) To scrape together or rake together; to accumulate laboriously.

Change Log

Please see the full changelog for a complete list of changes, the the upgrade instructions for upgrading from a previous release or the the TODO list for upcoming changes and feature addtions.

30 November 2017

  • Release 9.172 - implemented Corrade auto-update via Stitch 2.0.
  • This release adds updating Corrade to any version past the current version (9.172), including future “latest” releases, via the newly added Corrade command “stitch” (requiring “system” group permissions). Unfortunately, stitching to versions below the current version (9.172) will be possible but due to the lack of a “stitch” Corrade command in the past releases, the update will be a one way trip. Stitching from Corrade requires a Stitch version 2.0 or above, installed as a service on a Windows machine, and requires Corrade to be setup as a service. Given the Stitch 2.0 features, and the “stitch” Corrade command, Corrade will be able to update itself or any other Corrade installation on the machine that the Stitch 2.0 service runs. The Corrade configuration has been updated to allow specifying a Stitch 2.0 server base URL. For further details and clarifications, please consult the Stitch documentation.

Introduction

Corrade Configurator.

Console.

Corrade LSL travelling zeppelin.

Corrade is a multi-purpose scripted agent (bot) that runs under Windows as a service without any graphical interface and stays connected to a Linden-based grid (either Second Life or OpenSim) while being controlled entirely from in-world LSL scripts or external scripts that can perform HTTP requests (such as PHP, Perl, Node.JS etc...). We like to think of Corrade as a bridge, that gives access to viewer-commands to LSL scripts that would not normally be able to perform advanced actions. Corrade does not stop at providing viewer-commands to LSL scripts but bundles a whole load of tools that can be used to enhance the Second Life experience:

  • You can use Corrade to create a pet that will follow you around the grid and perform various tasks!
  • You can use Corrade to automate management tasks - be it estate/land, groups or general scripts!
  • You can use Corrade to extract raw data from SecondLife and then use external tools to perform data analysis.
  • You can use Corrade to create your own SecondLife marketplace delivery system with advanced features such as copyright protection, seamless product updates or access control!
  • You can use Corrade to create a command-line group wiki!
  • You can use Corrade to create Non Playable Characters (NPCs) for roleplaying and combat simulators!
  • You can use Corrade as a permanent storage system via its built-in database!
  • You can use Corrade as a store modelling agent for customers to be able to preview outfits before purchasing!
  • You can use Corrade as a helpdesk system to help out other avatars via its built-in artificial intelligence subsystem.
  • ... and many more!

Whilst LSL scripts offer a more convenient language to deal with in-world assets Corrade bundles functionality that is not available to LSL. Corrade could be compared to LSL's RLV extension, where Corrade provides additional viewer-side, or out-of-world features (artificial intelligence) to LSL scripts that are inaccessible or difficult to implement in pure LSL.

Corrade assumes an LSL part and a C# client which makes the bot flexible and easily configured for multiple users and groups. Each group configured in Corrade is identified by a password and has a certain processing quota. In Corrade, all actions are quantified and restricted by limits such that you can provide hosting to other people by adding their group in Corrade's configuration file.

However, Corrade is not restricted to manipulating groups. Corrade can retrieve region statistics, query primitives for information, grab particles from any primitive, get the UUID of textures on a primitive, teleport around to other regions, change the estate covenant, sit down and trigger an animation, talk in a group, in local chat, send instant messages, post to Twitter and Facebook, use its artificial intelligence module to converse with other avatars and many, many more functions to explore. Due to the notification feature, Corrade can also act as an asynchronous event catcher, sending events such as group chat, instant messages, money balance changes over HTTP POST to either web-servers or in-world LSL scripts listening to requests via http_request.

Why Corrade?

Some people claim Corrade is the “best bot on the grid” - however, we beg to differ because we see Corrade as a different approach to scripted agents (bots). Here is a comparison of what we consider a “different approach” to other players in the industry:

  • TestClient - TestClient distributed with libopenmetaverse and it was created by the developers as a test application to check that library functions implemented in libopenmetaverse work properly. Whilst TestClient implements a large subset of functionality from libopenmetaverse, Corrade implements a larger set - even from the libopenmetaverse library itself. Corrade does not even have a console that can accept commands - instead, Corrade can be interfaced with from LSL or via its HTTP interface.
  • Radegast, MetaBolt (& co.) - these are actually viewers (contrasted to bots) that attempt an implementation of a fully featured viewer (with a graphical interface, etc...). Corrade does not aim to be a viewer but rather a toolbox that can be used for automation. It is possible to create an interface to Corrade if you so desire - some example HTTP templates are created by us and pretty ready to be used and Corrade now implements Nucleus that is an implementation of a graphical viewer using web-technologies inside Corrade.
  • PikkuBot - PikkuBots are very close to a “pet” bot or an NPC that accepts commands using chat functions and performs tasks. Corrade on the other hand is geared towards being controlled entirely by user scripts; passing an instant message or a local chat message to Corrade will at best have the effect of Corrade passing on that message to a script via its notification system. PikkuBots by comparison adopt a monolithic construct, benefiting from a graphical interface that is very useful as an end-product. PikkuBots also implement a lot of meta-commands and default behaviours that Corrade aims purposefully to not implement: PikkuBots has a cool vampire bite command that Corrade will never have! If you want Corrade to bite someone using the third-party Bloodlines product, then Corrade will provide you with all the necessary feedback and control elements to create such a device. However, that will never be in the Corrade core.
  • SmartBots (& co.) - These bots are a long standing corporate solution that are geared towards group management. They are closed source and can only be interfaced with given a HUD that is provided by the same company. SmartBots also offer a bundled solution where hosting is included in the service. Corrade does not provide any hosting but instead works through retailers: if you need hosting, you can check lower on this page for retailers, send an e-mail to us and we will recommend you a few retailers or you can join our group in Second Life and find some retailers.

Why not Corrade?

It is important to understand that Corrade is not an end-product - you cannot expect to walk in a shop that sells car components and ask to buy a car: we will tell you to go to a car dealer instead! Following the analogy, Corrade's target audience consists of programmers (whether in-world LSL or others). Programmers will take Corrade as a component and will create an end-product for you.

We do provide some scripting templates in the Corrade store, as well as HTTP templates, that are closer to an end-product - for instance, the Corrade HUD is a pretty functional tool if you want a pet in a Linden-based grid (yet it only implements a fraction of Corrade's capabilities); similarly, we also develop Vassal that is a land / estate manager. Nevertheless, all of these tools can be changed or created differently (or better) by a programmer that interfaces with Corrade. As for coverage, if you want a particular targeted application that would require a scripted agent, then chances are that a programmer could create one for you using Corrade.

Retailers

If you do not care about setting up a bot, or if you do not have the means to run one, there are some in-world retailers that we know about that provide Corrade bots:

  • N7 Media, LLC offers Corrade services at 1000 Linden Dollars per month with a 500 Linden Dollars setup fee along with tertiary scripting services such as group invites and running on secure Linux servers. For more details, please contact Keldo.
  • Av2Bot offers Corrade tailored services - you can go as low as 40 / week (and 960 per 6 months) for group inviting services. However, in the store you can also find full hosting of Corrade bots where you get the entire Corrade functionality. Prices start at 350 / week and 8400 for 6 months. The services are hosted by our beloved Butters that also hosts the av2 stitch mirror. Their websites also list the offered services as well as ways to get in touch.

Feature Requests and Bug Reports

The Corrade project uses trac as a project managing tool - if you have a feature request or would like to file a bug please use the Corrade ticket system - it does not even require you to sign-up, but if you provide a valid E-Mail address, progress on your request will be mailed to the address you provided.

Requirements

  • Unix (Linux, BSD) or Windows (Corrade is unsupported on mono/Unix)
    • On Unix you will need mono - you have to install from the mono project download page and get the latest release:
      • You will need at least version 4.8.1 of mono - note that Corrade does not perform well under mono and you are advised to use Windows instead.
    • On Windows:
  • x86 or ARM CPU - both Corrade releases benefit a lot from multiple cores if available, however:
    • You will need at least 2 CPUs (either virtual or physical).
  • 100-250 MB RAM with all options turned on.
  • DSL onward (Linden Lab recommends cable, not wireless).
  • Corrade uses the exact same firewall ports as any other view in Second Life. Additionally, any Corrade feature that requires a new port will have to be forwarded to the machien that Corrade runs on.

Recommendations

Given the benchmarks and out of experience, the best operating system to run Corrade on is a stripped-down version of Windows typically created for embedded devices:

  • Windows Thin PC - Windows Thin PC is a stripped-down version of Windows 7, carrying only the interface and the necessary tools to run daemons such as Corrade. Microsoft announced other similar replacement for newer versions of Windows which you can obtain. However, Windows Thin PC can still be found on TPB.
  • Lite Windows - Light versions of Windows are made by slip-streaming service packs on a base Windows system and can usually be found on enthusiast websites. They are usually created with tools such as nLite which can disassemble a Windows install, strip out unwanted components and slip-stream service packs resulting in an operating system targeted at a specific audience.

Download Binaries

For previous version please see the archived binaries page.

  • Corrade 9.172 (SHA1SUM: 9735040f333f4df7325385a1270c134e4fccc75f)
  • Stitch 2.1 (SHA1SUM: 80167c2a00b06c19ece7f80e9d6c2029109d071f)
  • Vassal 1.5 (SHA1SUM: c4663922049151a0d3dbbaa9ffc30774c943e00c)

Source Downloads

The Corrade source is hosted using Subversion.

Additional Software

  • Vassal is a land manager built on top of Corrade.
  • Stitch is an update tool for Corrade.
  • Corrade Bash Manager is a tool to deploy Stitch, Corrade and to start and stop a Corrade bot.

Third-Party Support

This section tracks third-party developments that include Corrade as part of their system.

CasperTech

Since version 0.91, Corrade is supported by CasperTech as an OpenSource alternative. You can find details about setting up Corrade with CasperTech on their official website.

People On Corrade

chakkichakki has developed a controller HUD for Corrade and with the help of Bintang Stromfield, she created a website documenting their work. The controller HUD and scripts are free of charge and can be obtained in-world.

Template Store

You can find scripting templates (that also function as test harnesses) in Corrade's store on the Second Life marketplace:

they are demonstration scripts that could provide you with a starting base for programming with Corrade.

HTTP Templates

By using Corrade's HTTP interface you can pull data from outside of SL without using LSL and by using any programming or scripting language you can think of. In this section you can find various template programs that are built on-top of Corrade which are free to use, adapt, share and even commercialise as part of your own projects under the GNU GPLv3 public license.

Demonstration Website

The following website contains some demonstrations that show how data can be pulled and processed outside of the grid by using Corrade's HTTP interface.

Template Archives

Setup Instructions

  • Download Corrade and unzip the files.
  • You can use the bundled Configurator.exe to configure Corrade. If this is the first time using the Configurator, then press the Load... button and load the provided Corrade.ini. Then you can just change the configuration. For Corrade to be able to interact with scripts, you will need to set-up a group (this can be done both in the Configurator.exe program, or by hand) that exists in the grid (ie: SecondLife) you are connecting to. The UUID, group name and group password are essential to getting Corrade to respond to scripts.
    • On Windows you can just double-click Configurator.exe in the main folder and then the Configurator should load up.
    • On Linux you can open a terminal, change to Corrade's directory and then issue the command: mono Configurator.exe in order to load the configurator.
    • On Mac OSX, you can open Utilities->Terminal and change directory to Corrade's directory and then issue the command: mono Configurator.exe in order to load the configurator.
  • For Windows:
    • double-click the Corrade.exe file and the bot starts in interactive mode
  • For Linux:
    • you can run Corrade by issuing: mono-service -l:Corrade.exe.lock Corrade.exe
  • For Mac OSX:
    • you can open Utilities->Terminal, then change directory to the Corrade folder and issue: mono-service -l:Corrade.exe.lock Corrade.exe.
  • Check that the bot logs-on properly (Corrade logs to Corrade.log in the logs sub-directory).
  • Join or invite the bot to the group you want it to process commands for.
  • Create a primitive and start scripting with Corrade!
  • You can find more information for running Corrade as a service (Windows) or daemon (Unix) on the auto restart page.

Windows Quickstart Video

Communications Overview

Flow

  • Corrade connects as a client to Second Life.
  • An LSL script is used from within Second Life to send commands to Corrade.
  • Corrade processes these commands and executes them.
  • Optionally, an LSL script can have a callback installed such that Corrade will connect via HTTP POST to the LSL script or a different web-server and print the outcome of the command.
  • Optionally, Corrade can send notifications to a different (or the same) URL.
  • Optionally, Corrade also bundles an integrated web-server to which you can submit commands from outside of SecondLife via PHP, perl, python, ruby, etc...

Application Programmer Interface

The application programming interface can be found on a separate page and describes all the commands that can be sent to Corrade along with examples.

Scripting Considerations

Security

We present the various attack vectors on Corrade as well as mitigating them on the Corrade security page. Please revise this en-large to make sure that Corrade is secured properly.

Performance

For performance improvements please see the Corrade performance page.

Benchmarks and Referential Performance

Frequently asked Questions (FAQ)

Hosting Providers

Since Corrade needs a server to run on, there are multiple online services providing the means to do so. You can of course run Corrade on your own computer at no cost - since that is what the Corrade project aimed at, but there are online services that can take away the pain of administrating a server by yourself. We list some of these services: some free, some commercial, some affiliated with SL, etc... In case you know other hosting providers, or if you are a hosting provider that offers Corrade hosting (we are particularly looking for a hosting provider that is aware of SL and offers Corrade bots for leasing), please contact us and we will add you.

Docker

Docker is a free service for one private repository (root-jail), and up to USD7 per month for 5 private repositories (you can find more information on the Docker pricing page.

Progressive (Current Corrade)

Corrade progressive is maintained by Cari Tedeschi and hosted in the disorganic/corrade Docker registry to be found at:

Conservative (Retired Corrade)

The Corrade conservative branch is available on Docker and kindly provided as a project by Kovu Kumel. Corrade is hosted in the iconmeta/corrade Docker registry and can be found at:

and the Corrade conservative docker project can be found on github at:

Self-Standing Servers

These hosting providers are known to work with Corrade:

  • Kimsufi has shared hosting and dedicated hosting and reports are that you can install your own OS onto the machine if you so wish. More information on installing Windows on Kimsufi servers can be found around on the Internet (such as creating you own template or using an already created template).
  • Digital Ocean has Unix servers (Ubuntu, FreeBSD, Fedora, Debian, CoreOS, CentOS) starting from USD5 per month. The servers are located in San Francisco and pretty close to Linden Lab's servers. Several customers are running Corrade on their servers and they seem to be stable.
  • OVH has shared hosting and dedicated hosting (Unix and Windows) with data-centres in Canada and Europe. The pricing starts at USD2.99 or 2.40 EUROs per month. You have to pay for the Windows license separately (you pay to OVH and they pay a Windows license subscription for you).

Logos and Vanity Items

Most of these are acceptable to be used for websites, advertising or compliance purposes.

Item Description
Corrade Coat of Arms The Corrade Coat of Arms
Corrade Zeppelin The Corrade Zeppelin 1).
You can also download the Corrade banner PSD.
Wallpaper - great for servers running Corrade.

Contact and Support

If you would like to request a feature or report a bug, please use:

If you need help with Corrade (installing, setting up, general questions), we can be contacted in the following ways, in order of preference:

please note that regardless whether the Earth is a disc or a sphere, the deceptive simulation, respectively the Earth's revolution around its axis, makes it unlikely for your request to be answered immediately.

The best choice, in emergency situations, is to attempt to ask your question in-world in the SecondLife Corrade support group. Otherwise, E-Mailing us would be best.

Thanks

  • Former Corrade versions used an ASCII logo signed by jgs aka Joan G. Stark.
  • The Zeppelin logo that Corrade uses is a derivate work of Mattahan's (Paul Davey) buff icon set.
  • Tatiana Lapis @ FunGames Central for the many suggestions during Corrade's development - she runs a large business using Corrade.
  • AlphaVille Residential owners for using Corrade and offering suggestions and reports - they manage their rentals using Corrade.
  • Second Life Shelter is one of the oldest newcomer friendly help and hangout region run by FireEyes Fauna and they currently use Corrade to process group invites, send event notices, manage land settings, etc...
  • Jarosław Maciejewski (nitro.bystrzyca@gmail.com) for hosting an SL MOOC on Corrade as well as assembling various crucial documentation for Corrade.

and...

  • all the other people that submitted a bug report even once which allowed us to fix important bugs.

Historical Contributors

We would like to thank the following people (in no relevant order) for their extended testing of Corrade and patience with us:

  • Tatiana Lapis
  • MsLarah Resident
  • United Actor
  • Andru Beverly
  • Desdemona Enfield
  • Renae Daines
  • Evie Moriguchi
  • Sidius Core
  • Jarosław Maciejewski (nitro.bystrzyca@gmail.com)
  • Ĵyм Ѡҩℓƒ (Jym Resident) starring as Butters!
  • Catalinahunter Resident
  • Duck Seoung (also running the UnityStreams Stitch mirror)
  • Ghost Menjou
  • Roouli Korro for running a Canadian and French mirror.]
  • Aphrodite Atlas

along with the contributors on the Corrade ticket page.

Press

You can find various materials on Corrade published on our press page.

Index

1)
Corrade feels insulted if you call him a blimp! Corrade is a zeppelin!

secondlife/scripted_agents/corrade.txt · Last modified: 2017/12/01 10:15 by Wizardry and Steamworks

Access website using Tor


For the copyright, license, warranty and privacy terms for the usage of this website please see the license and privacy pages.