Differences

This shows you the differences between two versions of the page.


Previous revision
secondlife:scripted_agents:corrade [2025/05/28 00:02] (current) – [Retailers] office
Line 1: Line 1:
 +<WRAP info box>
 +====== Corrade ======
  
 +//en-verb//|corrades|corrading|corraded
 +
 +  - (//obsolete//) To gnaw into; to wear away; to fret; to consume.
 +  - (//geology//) To erode, as the bed of a stream.
 +  - **(//obsolete//) To scrape together or rake together; to accumulate laboriously.**
 +
 +</WRAP>
 +
 +
 +====== About ======
 +
 +Corrade is a multi-purpose, multi-platform scripted agent (bot) that runs under Windows or Unix natively, as a service or daemon whilst staying connected to a Linden-based grid (either Second Life or OpenSim) and controlled entirely by scripts. We like to think of Corrade as a bridge, that gives access to viewer-commands to LSL scripts. Corrade does not stop at providing viewer-commands to LSL scripts but reaches into the Internet of Things (IoT), Big Data and Artificial Intelligence (AI) by implementing the latest technologies and communication protocols. Corrade's target audience consists of programmers that will use Corrade as a building block and then create an end-product.
 +
 +Scripting //templates// are provided in the Corrade store that are closer to an end-product yet they are meant to provide a starting point for programmers by illustrating some of the aspects of programming with Corrade. The //templates// can be changed or created differently (or better) by a programmer that interfaces with Corrade. If a specific targeted application is desired that requires a scripted agent, then chances are that a programmer would be able create one using Corrade.
 +
 +
 +====== Requirements ======
 +
 +  * Corrade can run on the following platforms and architectures:
 +    * Linux (Linux users need to install the ''libgdiplus'' library and OpenSSL version 1.x otherwise the error //"No usable version of libssl was found"// will be reported when attempting to run Corrade)
 +      * Linux 64bit,
 +      * Linux ARM 32bit,
 +        * ARMv7 or more required (please check your hardware),
 +        * Raspberry Pi first generation (v1) are not compatible since they have ARMv6 which is not supported. The following will not work: Raspberry Pi v1, v2, Zero v1,
 +    * Windows
 +      * minimum Windows 7, or any Windows after Windows 7
 +  * 100-350 MB RAM with all options turned on.
 +  * DSL onward (Linden Lab recommends cable, not wireless).
 +  * Corrade uses the [[https://community.secondlife.com/knowledgebase/english/using-second-life-with-a-firewall-r599|exact same firewall ports as any other view in Second Life]]. Additionally, any Corrade feature that requires an additional port will have to be forwarded to the machine that Corrade runs on.
 +
 +====== Download ======
 +
 +The latest Corrade is available at:
 +
 +  * {{https://ci.grimore.org/buildStatus/icon?job=Corrade&.png?direct}} [[https://corrade.grimore.org/download/corrade|Corrade]]
 +
 +where higher version numbers, from left to right, represent the more recent versions (ie: a release with version number ''11.0.1.2'' would be newer than a release with version number ''11.0.1.0'').
 +
 +The latest Corrade RVMs (Referential Virtual Machines) are avaiable at:
 +  * {{https://ci.grimore.org/buildStatus/icon?job=Corrade%20RVM&.png?direct}} [[https://corrade.grimore.org/download/rvm|Corrade RVMs]]
 +
 +and offered in order to have a common point of reference when attempting to reproduce bugs.
 +
 +===== Docker =====
 +
 +Corrade [[/secondlife/scripted_agents/corrade/running_with_docker|can be ran via Docker]] using [[https://hub.docker.com/r/wizardrysteamworks/corrade|our official DockerHUB image]] that is automatically updated on every Corrade build.
 +
 +Then, using either [[/fuss/docker#automatically_update_container_images|watchtower or shepherd (for swarms) is recommended]] to keep Corrade updated.
 +
 +
 +====== Setup Instructions ======
 +
 +The Corrade binary can be executed from the extracted folder directly on all supported platforms. Linux will need the ''libgdi'' library to be installed in order to process images. Upon executing the Corrade binary, Corrade will most likely mention that no configuration has been found and that a webserver named Nucleus has been launched in order to perform an initial configuration.
 +
 +Redirect your browser at: ''<nowiki>http://127.0.0.1:54377/</nowiki>'' on the machine running Corrade - or, access the Nucleus web interface through the network by pointing the browser to ''<nowiki>http://TARGET_MACHINE:54377/</nowiki>'' where ''TARGET_MACHINE'' is the hostname or IP address of the machine on which Corrade has been launched. Upon accessing the Nucleus web interface, log-in using the password ''nucleus''.
 +
 +A configuration form should now load up and the minimal required fields to get the bot connected to the SecondLife grid are the following:
 +  * ''Login'' -> ''Firstname'', ''Lastname'' and ''Password'' - these are the credentials of an existing account in SecondLife that the bot will use to connect to the grid,
 +  * ''Groups'' -> ''Group name'' and ''Password'' - for best results, the group must exist in SecondLife and the password can be any made up string. Both the group name and the group password are used together as an authentication tuple in order to control Corrade via scripts. The "default" or "example" group ''[Wizardry and Steamworks]:Support'' can be edited or removed.
 +
 +Once the configuration is complete, click the ''Commit configuration'' and wait for the bot to connect to the grid. In case the bot is unable to connect, the errors logs can be consulted under ''Logs/Corrade.log'' in order to attempt to determine the cause.
 +
 +In case all else fails, shut down the bot and remove the ''CorradeConfiguration.xml'' file manually and then restart the bot in order to go through the initial configuration phase again. In order to make adjustments to the configuration, simply access the web interface again and use the ''Configurator'' tool to make any changes necessary - in most cases, Corrade does not need to be restarted after making configuration changes. In order to run multiple bots, ''NucleusConfiguration.xml.default'' can be renamed to ''NucleusConfiguration.xml'' and then edited in order to change the listening address and port for Nucleus - similarly, the ''nucleus'' password can be changed within the same file.
 +
 +Since Corrade is designed to be a long-running process and given power or Internet outages, the ''contrib'' folder contains sub-folders for every supported platform with instructions on how to demonize Corrade such that the bot will be able to run in the background.
 +
 +====== Communications Overview ======
 +
 +<ditaa>
 +           +----------------+ Notifications
 +           | TCP/UDP Server +<-----------+
 +           +----------------+   Commands |
 +                                         |
 +                                         |
 +            +-------------+              |                                    .
 +            | Web Service |              |                              +-------------+
 +            +-------------+              |                          +-->| Web Service |
 +            |   Node.js                |                          |   +-------------+
 +            |  HTML Form  |<-----------+ |       notifications   +--+-+        .
 +            | TCP Service | HTTP POST  | | +-------------------->+ OR |        .
 +            | AJAX/jQuery |   Reply    | | |       HTTP POST     +--+-+        .
 +            |    etc...              | | |                        |   +-------------+
 +            +------+------+            | | | +---------+            +-->| LSL Script  |
 +                    |                  | v | |  Group  |                +-------------+
 +         HTTP POST  |    Commands    +-+-+-+-+------+  |                       .
 +           Request  +--------------->             |  |                       .
 +                               +---->  Corrade    +--+                +-------------+
 +                                 +-+              |               +-->| Web Service |
 +    +------------+  Commands     | +-----+-----+--+                 +-------------+
 +    | WebSockets +<------------+         | ^ ^ |                  |          .
 +    +------------+ Notifications   | Group | | | | HTTP POST     +--+-+        .
 +                                   +-------+ | | +-------------->+ OR |        .
 +                                             | |                 +--+-+        .
 +                +-------------+              | |   callback                  .
 +                | MQTT Device |   Commands   | |                    |    +-------------+
 +                +-------------+<-------------+ |                    +--->            |
 +                | Publish     | Notifications  +-------------------------+ LSL Script  |
 +                |   Subscribe |                      command                         |
 +                +-------------+                                          +-------------+
 +                                                                               .
 +                                                                        .
 +</ditaa>
 +
 +
 +====== Documentation & Tutorials ======
 +
 +You can find basic tutorials on how to interact with Corrade on the [[http://grimore.org/secondlife/scripted_agents/corrade/tutorials|tutorials page]].
 +
 +===== 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.
 +
 +
 +  * [[secondlife:scripted_agents:corrade:api|Corrade application programming interface (API)]]
 +
 +
 +===== Scripting =====
 +
 +  * For tips and tricks on programming with Corrade, please see [[secondlife/scripted_agents/corrade/scripting considerations|the scripting considerations page]]
 +
 +====== Security ======
 +
 +  * Various attack vectors on Corrade and how to mitigate them are presented on [[secondlife/scripted_agents/corrade/security_considerations|the Corrade security page]].
 +
 +====== Performance ======
 +
 +  * For performance improvements please see the [[secondlife/scripted_agents/corrade/performance considerations|Corrade performance page]].
 +
 +
 +====== Frequently asked Questions (FAQ) ======
 +
 +  * Please see the [[secondlife/scripted_agents/corrade/faq|frequently asked questions page]].
 +
 +====== Template Store ======
 +
 +You can find scripting templates (that also function as test harnesses) in Corrade's store on the Second Life marketplace:
 +
 +  * [[https://marketplace.secondlife.com/stores/165275|Corrade Template Store]]
 +
 +they are demonstration scripts that could provide you with a starting base for programming with Corrade.
 +
 +===== HTTP Templates =====
 +
 +  * HTTP templates can be found on [[secondlife/scripted_agents/corrade/projects/external_services|the external services page]].
 +
 +====== Hosting Providers ======
 +
 +A list of general purpose providers or geared towards usage with Corrade is mentioned in this section. If you are running a Corrade server, please contact because we are interested to advertise for you. We do not offer any Corrade hosting ourselves, but there are people out there that do want to just run Corrade without having to bother about Docker or Linux setups, such that we are happy to provide a list of retailers. 
 +
 +
 +===== 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 [[https://www.docker.com/pricing|Docker pricing page]].
 +
 +==== Official Container ====
 +
 +  * https://hub.docker.com/repository/docker/wizardrysteamworks/corrade/general
 +
 +==== Unofficial Containers ====
 +
 +  * https://hub.docker.com/r/fixedbit/corrade by Coal Edge
 +
 +===== Self-Standing Servers =====
 +
 +These hosting providers are //known to work// with Corrade:
 +
 +  * [[http://www.kimsufi.com/uk/|Kimsufi]] has shared hosting and dedicated hosting and reports are that you can install your own OS onto the machine if you so wish.
 +  * [[https://www.digitalocean.com|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.
 +  * [[https://www.ovh.com/us/index.xml|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).
 +
 +
 +====== Contact and Support ======
 +
 +If you need help with Corrade (installing, setting up, general questions), we can be contacted by using [[wiki:contact|the contact page]].
 +
 +===== Submitting Bugs or Requesting Features =====
 +
 +If you would like to request a feature or report a bug, please use:
 +
 +  * [[http://bugs.grimore.org|The Corrade bug reporting system]].
 +
 +To create a bug report, please make sure to provide a **minimal**, **reproducible** and **complete example of the problem** you are experiencing. This roughly includes creating a test scenario with the following points in mind:
 +
 +    * include **minimal** code snippets, screenshots or a video that illustrates the problem without providing a large code listing that may have other problems that do not necessarily pertain to the software you are opening a bug for
 +    * all the required parts of your testing scenario are either provided or documented and thus **complete**, ie: "using the software this version, configured in this way, on this operating system, and running the following code, [... etc ...] the software does this and it should be doing that instead"
 +    * make sure that your testing scenario will produce the issue you are filing a bug report for illustrates the issue every time you run the scenario thereby being **reproducible** - if it is possible to check from different environments, ie: Windows, Linux, from different network locations, etc then please do include the extra testing
 +
 +Additionally, please be aware that we barely can provide any support for products that are not made by Wizardry and Steamworks - we cannot take upon ourselves the responsibility of other products and it would be wrong to do so; this includes various operating systems, such as Linux distributions, or "in-world brands" to which we may not even have access to or would require purchases on behalf of Wizardry and Steamworks.
 +
 +In case you are having a problem with a product that transgresses Corrade, please try to reduce and then reproduce the problem: for instance, in case of in-world products that you wish to interact with Corrade, reduce the problem to a set of primitives that can be re-created easily; conversely, in case of trouble with an operating system or Linux distribution, please refer to the [[secondlife/scripted_agents/corrade#download|Corrade Referential Virtual Machines (RVMs)]] for a common point of reference.
 +
 +
 +====== License and Terms ======
 +
 +[[/licenses/was-pc-od|Wizardry and Steamworks Project-Closed and Open-Derivatives License 1.0 (WAS PC & OD 1.0)]]
 +
 +Wizardry and Steamworks allows the use, commercial use, private use, copy, redistribution and sublicensing the Software without prior consent from Wizardry and Steamworks provided that attribution is granted in a visible and reasonable manner to Wizardry and Steamworks, no reverse-engineering is permitted of any distributed binaries or binaries of work licensed to Wizardry and Steamworks connected to the Software, no warranties are provided with the Corrade software nor with any other works related to the Software and that no warranties shall be implied whether in an action of contract, tort or otherwise, arising from, out of or in connection with the Software or the use of other dealings in the Software.
 +
 +Permission is hereby granted to extend the license (WAS PC & OD), including its restrictions, limitations as well as benefits, to any material licensed to Wizardry and Steamworks, when the intent is to re-use material published by Wizardry and Steamworks, for creations or derivate works, that interact with or include Corrade as a component of those creations or derivate works, regardless of any other license or terms (GNU GPL, MIT, BSD, etc.) that may apply to the material previously licensed to Wizardry and Steamworks.
 +
 +====== Logos and Vanity Items ======
 +
 +  * [[secondlife/scripted_agents/corrade/logos|Logos and Vanity Items]]
 +
 +====== Index ======
 +
 +{{indexmenu>secondlife:scripted_agents:corrade}}

secondlife/scripted_agents/corrade.1593472589.txt.gz · Last modified: 2020/06/29 23:16 (external edit)

Wizardry and Steamworks

© 2025 Wizardry and Steamworks

Access website using Tor Access website using i2p Wizardry and Steamworks PGP Key


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