wiki:OnlineCommandInterface

HTTPS and SSL

Users that have authenticated with the server over a secure network (using this portal) have elevated permissions and capabilities when using the server. Specifically this means that program source code can be entered and tasks initiated and run, as well as other world verb commands according to avatar spatial arrangement.

Usage Instructions

  • The /stream/interface portal command line interface. Enter a preceding '@' to interpret agent code.
  • Telnet or client session readline or command-line editing interface. Commands are entered as a list of words separated by spaces. The first word is used to search for a verb match on world objects associated with the user (avatar, room, avatar inventory and equipment, room contents, etc.) and the rest of the command following this first word (spaces included) is passed as a string to the player interpreter.
  • A command entered by a player starts a task with the permissions of the identity. This task calls the player/interpreter/command method in the library. This implementation may construct and operate the command instance, or enqueue it and start a player interpreter task.

Identities

The user authenticated with the secure web server can manage a collection of other separate but similar things called identities. An identity names privileges for accessing the Agent System library. They are also linked with a player entity in the world for exploration and virtual asset accrual. Instead of sharing the username registered with the site, players interact based on identity, which has a direct connection to operating permissions.

A user's Primary Identity is set through the main menu on the website, and is the default identity used to access the system when a verb is run by the user and no other identity is specified.

In the Main Menu you can add an identity to your registered account by logging in an existing player identity through the claim form. Click Create Player Identity to create and name a new identified character that you can at once claim and then activate in the world with a session connection.

REST Interface

Many client application components like script and data can be generated and downloaded using /page/ URLs. Interface documents and page emulations allow configuration of web resources so that data is returned and streamed and the client can easily handle it.

See: Writing a Web View.

Console Agent Interpreter

Executing @ scripts or create-pane blocks also features a return value, but because the Agent Interpreter is designed to more closely resemble a console REPL session, the string representation is displayed only. Interpreting this value is better done using a web view.

Programmable Login of Session Identity

Users logging into the /stream/interface portal have an associated session, which is initialized with custom code defined by the user for that player identity.

The following three functions invoke (and join with) individual tasks:

  trigger = structure('identities/' + session.avatar.name).topMatterGreeting
  html = act(trigger, [], mapping(['session', session])).outcome

  session.messages += session.messages.topMatterHtml(html)
  trigger = structure('identities/' + session.avatar.name).panelGreeting
  html = act(trigger, [], mapping(['session', session])).outcome

  session.messages += session.messages.panelHtml(html)
  trigger = structure('identities/' + session.avatar.name).enterGame
  code = act(trigger, [], mapping(['session', session])).outcome

  session.messages += session.messages.javascript(code)

Read the Programming Guide.

Last modified 8 days ago Last modified on 09/19/22 12:41:31
Note: See TracWiki for help on using the wiki.