RascalAddons API

Supported Addon Types

RascalRent & RascalVend currently support the following types of addons:

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.