RascalAddons API
Supported Addon Types
RascalRent & RascalVend currently support the following types of addons:
- Database Drivers
- Bot Plugins
Database Drivers
RascalRent and RascalVend were built to operate 100% within Second Life without outside supporting services, so they always function as long as Second Life exists. The methods used to accomplish this goal may not meet the needs of some merchants or land providers who wish to use RascalRent or RascalVend. The primary issue some users have with the 100% in-SL approach is the requirement for the system owner to have a Premium subscription. This requirement is due to the standard included database driver making use of the experience system's key-value database. This API was created to allow RascalRent or RascalVend to use other data-storage systems, allowing the option to Bring Your Own Database. Giving the system owner complete control over their data if they so desire it.
Driver to Core script communication
Database Drivers and the Core product scripts communicate with each other by making use of llMessageLinked() after completing an initial handshake using HTTPS-IN URL's
Linked Message Format
llMessageLinked() accepts the following arguments:
llMessageLinked( integer link, integer num, string str, key id );
The RascalAddons API maps to the function arguments like so:
| Argument | API Use |
|---|---|
| integer link | Only LINK_THIS should be used when interacting with the core script |
| integer num | The operation value of the API operation being called |
| string str | Operation payload |
| key id | Operation payload signature |
Received Operations
These operations are sent by the RascalRent or RascalVend core script and are intended to be received by the database driver.
The RascalRent & RascalVend core scripts expect all of these operations to be handled by database drivers.
| Operation Name | Operation Value | Description |
|---|---|---|
| RA_DB_INIT | 100 | Initialize the Database Driver and prepare for use. |
| RA_DB_WRITE | 101 | Perform a database write. |
Sendable Operations
These operations are available to the database driver when calling to the RascalRent or RascalVend core script.
| Operation Name | Operation Value | Description |
|---|---|---|
| RA_DB_INIT | 100 | Initialize the Database Driver and prepare for use. |
| RA_DB_WRITE | 101 | Perform a database write. |