Atlas Protocol

From WorldForgeWiki
Jump to: navigation, search

It is assumed that current version of atlas is 1.0 as it is the first stabilized version of atlas. Please change the version number to more accurate value in case you know the exact number.

Atlas Object Types

Atlas objects are divided to categories as follows: root type (meta), root object (root), operation type (op_definition), operation instance (op), entity type (class) or entity instance (obj). This chapter describes the members of the root types. For detailed view to all type members see Atlas Entities and Atlas Operations. Generally atlas objects consist of containers (map, list) and primitive types (int, float, string). In addition operations and entities can contain other atlas objects.

Object Members

The following members are common to all objects.

objtype member (mandatory string)

Contains categorical type of the atlas protocol object.

  • meta: root type
  • root: root instance
  • op_definition: operation type
  • op: operation instance
  • class: object type
  • obj: object instance (entity)

parents member (mandatory list)

Contains inherited types when objtype is meta, class or op_definition. For entities this member contains class name and for operations the operation definition name.

  • operation examples:
    • get (gets server info)
    • login (logins the character)
  • entity examples:
    • account (the player account)
    • game_entity (in game thing)

stamp member (optional string)

Last time this object was modified.

stamp contained member (optional string)

Last time a contained object was modified.

Type Definition Members (meta,op_definition,class)

interface (optional string)

?

specification (optional string)

?

name (optional string)

User friendly name of the type.

Operation Members

args (mandatory list)

Defacto standard is that this member is a list containing map which has the named action parameters.

Entity Members

name (optional string)

User friendly name of the instace

Message Contract

Defacto standard is that all content transported over atlas protocol is enclosed in map object containing at least objtype and parents members. In other words only atlas objects are sent down the wire instead of sending plain primitives.

Contexts

Contexts mean different combinations of connected peer pairs and their states in which different sets of atlas objects are expected to be transmitted.

Master Server Context

Available when something is connected to the master server (server register).

  • List Servers
  • Register Server
  • Unregister Server
  • Keep Alive Server

Anonymous Context

Available when client is connected to a game server but not yet authenticated (account not logged in).

Info Query

  • Get Server Info
  • Get Type Info

Account Managment

Create Account

-> create[account]

<- info[account] or error

Delete Account

Change Account Password

Login Account

-> login[account]

<- info[account] or error

Logout Account

Out of Game Context

Available when client is connected and authenticated to a game server but not yet in game (avatar not logged in).

Avatar Management Conversation

  • List Avatars
  • List Available Avatar Templates
  • Create Avatar
  • Delete Avatar
  • Login Avatar
  • Logout Avatar

Chat Conversation

  • List Chat Rooms
  • Select Chat Room
  • Join Chat Room / Leave Chat Room
  • Send Chat Message To Server
  • Send Chat Message To Client

Game Context Medieval RPG

Game Context Science Fiction RPG

Game Context Current Day FPS