Skip to content

Commit e217a3c

Browse files
committed
Add post on how to setup a corrade bot
1 parent 7268101 commit e217a3c

7 files changed

Lines changed: 203 additions & 1 deletion

_posts/2026-03-25-Getting-Started-with-BotControl.md renamed to _posts/2026-03-25-getting-started-with-botcontrol.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
---
22
title: Getting Started with BotControl
3+
description: How to install, configure, setup, deploy, and use the BotControl command line tools to control Corrade and LifeBots bots in Second Life
34
author: missyrestless
45
date: 2026-03-25 12:55:00 +0800
56
category: [BotControl]
6-
tag: [setup, botcontrol]
7+
tag: [setup, botcontrol, corrade, lifebots]
78
pin: true
89
img_path: "/posts/20260325"
910
---
Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
---
2+
layout: post
3+
author: missyrestless
4+
title: How to Set Up Your Corrade Bot
5+
description: Step-by-step setup instructions to get started with Corrade bots
6+
category: [Corrade]
7+
tag: [setup, corrade]
8+
date: 2026-03-26 15:42 -0700
9+
---
10+
11+
## Before You Begin
12+
13+
A `Corrade` bot is a Second Life account that logs in and runs as an automated scripted agent.
14+
15+
You'll need the following:
16+
17+
- A separate Second Life account — Do not use your main avatar. Use a name that fits your bot's purpose (e.g., "MyStore Greeter"). [Create one here](https://join.secondlife.com).
18+
- Scripted agent status — You must flag the bot account as a scripted agent in your Second Life account settings. This is required by Linden Lab's Terms of Service — without it, your bot account may be suspended. [See related article](https://slbotcontrol.github.io/posts/setup-your-bot-as-a-scripted-agent-in-second-life)
19+
- The bot account's username and password — The same credentials you'd use to log into the Second Life viewer.
20+
- The Second Life group name the Corrade bot will use
21+
22+
## Corrade Requirements
23+
24+
`Corrade` can run on the following platforms and architectures:
25+
26+
- Linux - the stable version "Standard Term Support" of .NET has to be installed
27+
- Linux 64bit,
28+
- Linux ARM 64bit or AARCH64,
29+
- ARMv7 or more required (please check your hardware),
30+
- 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, most of which are now outdated,
31+
- Windows 10 and up
32+
- MacOS (macOS 10.12 Sierra and up)
33+
- 100-350 MB RAM with all options turned on.
34+
- For the network, Linden Lab recommends cable and not wireless.
35+
- `Corrade` uses the exact same firewall ports as any other viewer in Second Life.
36+
- Any `Corrade` feature that requires an additional port such as the interfacing servers will have to be forwarded to the machine that `Corrade` runs on.
37+
38+
## Deploy Corrade
39+
40+
Download the latest `Corrade` release from
41+
[https://corrade.grimore.org/download/corrade](https://corrade.grimore.org/download/corrade)
42+
43+
See the `Corrade` website at
44+
[https://grimore.org/secondlife/scripted_agents/corrade](https://grimore.org/secondlife/scripted_agents/corrade)
45+
for instructions on deployment and configuration of a self-hosted `Corrade` service.
46+
47+
### Setup Corrade
48+
49+
Corrade can be downloaded from the `Corrade` releases page by selecting the correct platform and architecture or, alternatively, by using containerization like Docker and pulling the official image.
50+
51+
In case Docker is used with the official image, then no extra setup is required and Corrade can be run under Docker.
52+
53+
In case Corrade is downloaded and unpacked without Docker, then the executable binary should start and run Corrade in Windows. On Linux machines the latest .NET runtime is required to run Corrade (note that the SDK is not needed, just the runtime) and Microsoft provides
54+
[Linux distribution-compliant packages](https://dotnet.microsoft.com/en-us/download/dotnet)
55+
for most Linux distributions.
56+
57+
Regardless how Corrade is installed, upon starting Corrade, Corrade will mention that no configuration has been found and that the Nucleus web-server has been launched in order to perform an initial configuration.
58+
59+
Nucleus listens on all addresses so if Corrade is installed on the local machine then the Nucleus interface will be available at following URL:
60+
61+
http://127.0.0.1:54377/
62+
63+
If Corrade is running on a different machine, then the Nucleus web interface can be accessed through the network by pointing the browser to http://TARGET_MACHINE:54377/ where TARGET_MACHINE is the hostname or IP address of the machine on which Corrade has been launched.
64+
65+
Upon accessing the Nucleus web interface, log-in using the default password: `nucleus` (this can be changed later by copying NucleusConfiguration.xml.default' to NucleusConfiguration.xml and then changing the password) and a configuration form should now load up.
66+
67+
### Minimal Corrade Configuration
68+
69+
The minimal fields required to get the bot connected to the Second Life grid are the following:
70+
71+
- Login -> Firstname, Lastname and Password - these are the credentials of an existing account in Second Life that the bot will use to connect to the grid
72+
- Groups -> Group name and Password - the group corresponding to the group name must exist in Second Life and the password can be any made up string; the default [Wizardry and Steamworks]:Support group can be edited or removed
73+
74+
**[NOTE:]** The Corrade configuration requires an unsalted MD5 hash of the Corrade bot's account password.
75+
The following shell script can be used to generate this MD5 hash:
76+
77+
```sh
78+
#!/bin/bash
79+
#
80+
# mkmd5hash - generate an unsalted MD5 hash of the Corrade bot's password
81+
#
82+
# Prepend $1$ to the MD5 hash
83+
84+
PASS="$1"
85+
printf '%s' "${PASS}" | md5sum | awk '{print $1}'
86+
```
87+
88+
Prepend `$1$` to the generated MD5 hash. For example, the `CorradeConfiguration.xml` entry with full
89+
MD5 hash and prepended string for the password `foobarspam` would be:
90+
91+
```xml
92+
<Password>$1$3ae6bcbff35ee67854479ca55de6e228</Password>
93+
```
94+
95+
Once the configuration is complete, click `Commit configuration` and wait for the bot to connect to the grid.
96+
97+
## Configure Corrade for use with the BotControl command line tools
98+
99+
In order to use the `botctrl` command to manage your `Corrade` bot(s):
100+
101+
- The HTTP server must be enabled in the `Corrade` configuration
102+
- `ScriptLanguage` must be set to `JSON` in the `Corrade` configuration
103+
104+
Example snippet to enable the HTTP server in `CorradeConfiguration.xml`:
105+
106+
```xml
107+
<Servers>
108+
<HTTPServer>
109+
<Enable>1</Enable>
110+
<Prefixes>
111+
<Prefix>http://+:8082/</Prefix>
112+
</Prefixes>
113+
</HTTPServer>
114+
...
115+
</Servers>
116+
```
117+
118+
Set the port number in the `Prefix` configuration to an open unused port.
119+
If you have more than one `Corrade` bot then use a different port for each.
120+
121+
To set the `ScriptLanguage` to JSON in `CorradeConfiguration.xml`:
122+
123+
```xml
124+
<ScriptLanguage>JSON</ScriptLanguage>
125+
```
126+
127+
Note that each Corrade API request requires some permissions enabled in the Corrade
128+
Configuration. For example, balance inquiries and payments require the `economy`
129+
permission, inventory operations require the `inventory` permission, movement requires
130+
the `movement` permission. An example set of Corrade permissions that enable capabilities
131+
required by the `botctrl` command might look like:
132+
133+
```xml
134+
<Permissions>
135+
<Permission>movement</Permission>
136+
<Permission>grooming</Permission>
137+
<Permission>interact</Permission>
138+
<Permission>notifications</Permission>
139+
<Permission>talk</Permission>
140+
<Permission>group</Permission>
141+
<Permission>land</Permission>
142+
<Permission>inventory</Permission>
143+
<Permission>directory</Permission>
144+
<Permission>system</Permission>
145+
<Permission>bridge</Permission>
146+
<Permission>economy</Permission>
147+
<Permission>execute</Permission>
148+
</Permissions>
149+
```
150+
151+
### Configure BotControl
152+
153+
Configure `BotControl` by adding and editing the file `${HOME}/.botctrl`.
154+
155+
If you wish to control `Corrade` bots then you must configure your `Corrade`
156+
group, password, and server URL.
157+
158+
The following example entries in `$HOME/.botctrl` will allow you to control a
159+
`Corrade` bot named "Cory Bot":
160+
161+
```bash
162+
# Corrade Group, Password, and Server URL
163+
export CORRADE_GROUP="<your-corrade-bot-group-name>"
164+
export CORRADE_PASSW="<your-corrade-bot-group-password>"
165+
export CORRADE_URL="https://your.corrade.server"
166+
# The Corrade bot's API URL
167+
# This assumes a reverse proxy setup has been configured and this URL
168+
# path is passed by the web server to the appropriate Corrade HTTP port
169+
export API_URL_Cory_Bot="${CORRADE_URL}/cory/"
170+
```
171+
172+
Add an entry of the form `export API_URL_Firstname_Lastname="${CORRADE_URL}/path/"`
173+
to `$HOME/.botctrl` for each of your `Corrade` bots.

_posts/2026-03-26-how-to-set-up-your-lifebots-bot.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
layout: post
33
author: missyrestless
44
title: How to Set Up Your LifeBots Bot
5+
description: Step-by-step setup instructions to get started with LifeBots bots
56
category: [LifeBots]
67
tag: [setup, lifebots]
78
date: 2026-03-26 09:47 -0700

_posts/2026-03-26-lifebots-api-setup.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
layout: post
33
title: LifeBots API Setup
4+
description: Step-by-step instructions for using your LifeBots API key and bot secrets with the BotControl command line tools and the LifeBots Control Panel
45
author: missyrestless
56
category: [LifeBots]
67
tag: [setup, lifebots, api]

_posts/2026-03-26-lifebots-control-panel-setup.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
layout: post
33
title: LifeBots Control Panel Setup
4+
description: How to setup the LifeBots Control Panel with an API key and Bot secret
45
category: [ControlPanel]
56
tag: [setup, lifebots, controlpanel, api]
67
date: 2026-03-26 13:17 -0700

_posts/2026-03-26-setup-your-bot-as-a-scripted-agent-in-second-life.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
layout: post
33
author: missyrestless
44
title: Setup Your Bot as a Scripted Agent in Second Life
5+
description: How to set your bot's Second Life account as a scripted agent
56
category: [General]
67
tag: [setup, secondlife]
78
date: 2026-03-26 10:26 -0700

_tabs/botctrl.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,30 @@ To set the `ScriptLanguage` to JSON in `CorradeConfiguration.xml`:
181181
<ScriptLanguage>JSON</ScriptLanguage>
182182
```
183183

184+
Note that each Corrade API request requires some permissions enabled in the Corrade
185+
Configuration. For example, balance inquiries and payments require the `economy`
186+
permission, inventory operations require the `inventory` permission, movement requires
187+
the `movement` permission. An example set of Corrade permissions that enable capabilities
188+
required by the `botctrl` command might look like:
189+
190+
```xml
191+
<Permissions>
192+
<Permission>movement</Permission>
193+
<Permission>grooming</Permission>
194+
<Permission>interact</Permission>
195+
<Permission>notifications</Permission>
196+
<Permission>talk</Permission>
197+
<Permission>group</Permission>
198+
<Permission>land</Permission>
199+
<Permission>inventory</Permission>
200+
<Permission>directory</Permission>
201+
<Permission>system</Permission>
202+
<Permission>bridge</Permission>
203+
<Permission>economy</Permission>
204+
<Permission>execute</Permission>
205+
</Permissions>
206+
```
207+
184208
### Configure botctrl
185209

186210
The `botctrl` command is installed in `/usr/local/bin` along with some

0 commit comments

Comments
 (0)