Out of game (OG) Atlas
Server is just some kind of meta world with meta characters (player
accounts) and 'gateways' to real worlds. So it's handled in many ways
similar than actual world.
Server differentiates messages meant to meta world from messages
meant to actual game from id: messages from player id or if id
is not specified are meant to meta world. Messages from
character id are for actual game world.
When you connect, standard xml starting tags and opening atlas tag
with version attribute.
Binary note: in binary this is more or less different! (Either
binary="yes" or completely different)
Example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE atlas protocol "atlas.dtd">
<atlas version="0.2">
In future there will be additional tags for setting binary and/or
compression flags.
When you disconnect, send closing atlas tag.
Binary note: in binary this is more or less different! And
participants needs to handle gracefully abrupt disconnection too
(somebody unplugged connection).
Example:
</atlas>
You can get list of games by sending this to server:
Server tells what games it contains:
- :
- id:"games"
- contains:
- id:"Medieval fantasy game"
- id:"Warcraft clone
Further request might require that you are logged in. Especially
getting list of players likely requires account with 'admin'
privileges. Creating characters too likely requires player
account.
If you don't have account, you need to create one. If you already
have account, then creating new one might be against server
policy. So usually there should only be one player account per
real human.
Creating account (this is likely to change somewhat, one
modification might be to require mail address where password is
then sent):
- :
- id:"create"
- :
- name:"JoeBlatz"
- password:"Rqv67.%"
In response server sends 'info' or 'error' operation back (with
includes player account id (might be same as account name). refno
-attribute helps you to spot right answer.
If you already have account then you log in using it:
- :
- id:"login"
- :
- name:"JoeBlatz"
- password:"Rqv67.%"
Usually new accounts might be allowed to create only one character
(part of time it might be controlled by player and other time it
might be controlled by AI script). Trusted accounts might be
allowed to create several characters (usually controlled by NPC AI
script).
Creating character:
- :
- no:3
- from:"JoeBlatz"
- id:"create"
- :
- type:"evoker"
- name:"Evoker the magnificent"
- INT:15
Server sends back character entity with id and additional
attributes like location, etc... or error message telling what is
wrong (like too big value for some attribute). Server might
assign other values for attributes than client has
specified. refno -attribute helps you to spot right answer.
If you have already created character then you just continue
playing where you left. In both cases it might be goo idea to
use look operation without arguments as starting point:
- :
- from:"character_id_23"
- id:"look"
Aloril
Last modified: Fri Dec 10 16:57:00 EET 1999