LSL Protocol/Ganymedia OpenMAIP v1.0 Specification

From Second Life Wiki
Jump to navigation Jump to search

Introduction

Ganymedia OpenMAIP (Open Metaverse Application Internetworking Protocol) provides a common standard, first-class citizen handshaking datagram exchange protocol for script applications, each fulfilling their own respective functionality contracts to exchange interoperable messages by exposing query-discoverable command services and command syntax to external objects. In addition, at its higher implementation levels, it provides industry-standard cryptographic message exchange for secure script-script, script-viewer and viewer-viewer communications across the Second Life chat messaging system. (By secure, in the sense of scripts "talking" to one another, this is meant "secure" as in "with high immunity to interception by other residents"; any individual with access to the LSL script engine would, of course, be capable of eavesdropping.)

OpenMAIP is based around exchange of binary-encoded hexadecimal bytestream messages rather than ASCII characters; therefore it is better suited to script-to-viewer communications and, indeed, can be encapsulated directly within UDP and allows homogenous data representations to be encoded within it, and individual protocols operating within the framework. OpenMAIP supercedes the functionality provided by the Ganymedia Open Cryptographic Exchange Protocol, and is backwards-compatible with it. The basic notion of OpenMAIP is that it provides a common network discovery and service query framework; therefore, applications such as attachments may query for other OpenMAIP-supporting devices in their vicinity that support common functionality protocols, and also query those devices for acceptable command formats. The provision of challenge/response RC4 authentication allows conformance with closed protocols to be verified as well; it is expected that the RC4 challenge/response authentication keys will be published by architects of open protocols.

These notes are presently extremely poor, and will improve in the near future.

Level 0: Transport Layer

Constants

Template:Constant

Frame format