-=[ Corrade ]=-

Corrade is a multi-purpose, multi-platform scripted agent (bot) that runs 
under Windows or Linux as a service or daemon whilst staying connected to
a Linden-based grid (either Second Life or OpenSim) and is controlled 
entirely by scripts.

The purpose of Corrade is to provide a bridge between The Linden Scripting 
Language (LSL) and an avatar in SecondLife. Usage scenarios include 
automating repetitive tasks such as land management, creating non-playable 
characters (NPCs) for roleplay or simulation scenarios or just serving as 
highly responsive and capable pets within the virtual world.

Contrasted to similar projects, Corrade strives to not implement any 
pre-defined behaviours letting the user implement whatever functionality 
is desired by providing an application programmer interface (API) and 
the Nucleus management control panel.

-=[ Instructions ]=-

Corrade can be installed as a service in both Windows and Linux by using 
the provided helper scripts in the "contrib/" directory.

To install on Windows, unzip the downloaded file to a new folder and then 
browse to the "contrib/windows/" subfolder and double-click the script:

install-corrade-service.bat

Once the service is installed, it can be controlled with the help of the
"services.msc" administrative tool under Windows that can be used to start,
stop the service or adjust parameters.

In order to run multiple bots, simply duplicate the folder and adjust the
"install-corrade-service.bat" script to give a new name to the bot to be
installed. Upon executing the script, a new service will be created for
the new bot.

To uninstall any bots that may have been installed, change directory to
"contrib/windows/" and execute the script:

uninstall-corrade-service.bat

On supported Unix platforms, Corrade can be installed as a service as well
by copying the "contrib/linux/corrade.service" into "/etc/systemd/system"
folder, editing the "corrade.service" script to make the necessary changes
and then starting the bot by issuing:

systemctl start corrade.service

Conversely, in order to stop the bot, issue:

systemctl stop corrade.service

To make the service start on system boot, the SystemD service file can be
enabled by issuing:

systemctl enable corrade.service

Conversely, the service can be disabled by issuing:

systemctl disable corrade.service

Similarly to Windows, multiple bots can be created just by duplicating the
extracted folder and then creating a service file and placing it inside
"/etc/systemd/system". The "corrade.service" file has to be then adjusted
in order to give the bot a new name and modify the various parameter to
point to the new instance of the bot.

Currently Corrade only targets Windows and Linux platforms. Running on a
Mac is still possible by using virtualization software such as Oracle
VirtualBox.

-=[ Configuring Corrade ]=-

To configure Corrade after it has been installed, first make sure that the 
Corrade service is started via the "services.msc" control panel or by 
using systemctl under Linux and then open a browser and browse to:

http://CORRADE_HOST:54377

where CORRADE_HOST is the IP or hostname of the machine on which Corrrade 
has been installed. The first step would be to load the configurator and 
set up the login details and add a group.

Since Corrade connects to an account, it is necessary to have created an
avatar on the grid that Corrade connects to and then fill in the name of
the avatar in the "Login" tab of the "Nucleus" web configurator. In case
the avatar is created without a last name, then the last name should be
"Resident".

The group configured in the "Groups" tab must exist on the grid for best
results and the password for the group is a made-up password. Both the
group and the password will be used as authentication tuple by scripts in
order to control the Corrade bot.

In case the bot does not log in, then the log files can be consulted by
using the "Nucleus" configurator and browsing to "Logs" or by opening up
the log files individually under the "Logs/" directory of the folder that
Corrade has been installed to.

If all else fails, the service can be shut down, the file 
"CorradeConfiguration.xml" should be delted from the installation folder
and then the service can be started again in order to enter the first
configuration stage.

If so desired, the Nucleus port, listening address and password may be
changed by copying "NucleusConfiguration.xml.default" to 
"NucleusConfiguration.xml" and then various changes can be made such as
the host pattern that Corrade is listening on and the Nucleus password.

-=[ Templates ] =-

Since Corrade does not include any pre-defined behaviours, users have to 
script the bot themselves. However, some templates are to be found in the 
Corrade store that include some of the more stereotypical tasks such as 
making the bot wander in a given area, reading simulator statistics, 
posing for clothing, greeting members and inviting them to groups, 
batch-restarting simulators or batch-setting estate covenants, etc...

All the templates are available on the SecondLife marketplace free of 
charge at: 
    https://marketplace.secondlife.com/stores/165275 
and also avaiable at:
    https://grimore.org/secondlife/scripted_agents/corrade/projects
as source code and build description.

-=[ Documentation & Development ]=-

Please see: https://corrade.grimore.org for more details on Corrade.

-=[ Bugs & Feature Requests ]=-

If you think you have found a bug or just would like some feature 
implemented, please use the reporting and tracking system at: 
https://bugs.grimore.org/

It is the only way to track and report bugs reliably. The tracker is 
private to the people using it and will not spill your data on the 
Internet. Furthermore, any bug tracker issue is shared between us and the
reporter such that sensitive information can be shared without being
read by others.

-=[ Licensing ]=-

Corrade is licensed to Wizardry and Steamworks under a custom license named: 

  * WAS PC & OD

For information on the usage terms and the license please see the website:
https://grimore.org/secondlife/scripted_agents/corrade
