Exchange file format

Introduction

In order to transfer the relevant data from the shard to the Untìl Uru Locator, there was specified the following file format, sometimes also called „tiana4“. If you are going to create your own interface for your shard, the output of your script has to match these specifications as shown below.

The whole file is separated in 3 levels beginning with level 3. Elements on level x are separated with x UNIX-compatible linefeeds (0x0a)1). Only elements on level 1 may contain data, elements of higher levels may only contain elements of the next lower level.

Specifications

Level 3

Parent: File

  1. Header (required once)
  2. PlayerList (required once if StatusCode = „LST“; prohibited else)

Level 2

Parent: Header

  1. Status (required once)

Parent: PlayerList

  1. PlayerInfo (required once, optional up to 32766 times)

Level 1

Parent: Status

  1. StatusCode (required once)
  2. StatusMessage (required once if StatusCode = „LST“; optional else)

Parent: PlayerInfo

  1. PlayerAvatarName (required once)
  2. PlayerAvatarID (required once)
  3. PlayerLocation (required once)

Descriptions

StatusCode

A string of exactly 3 8-bit characters, representing the shard status. The supported stati are:

StatusMessage

If the StatusCode is „LST“ this is a string containing the number of players currently on the shard. Otherwise it is a string containing a user-defined message, for example the reason of the error.

PlayerAvatarName

A string containing the avatar name of the player.

PlayerAvatarID

A string containing the identification number of an avatar, also called the KI number.

PlayerAvatarLocation

A string containing the age name of the current location of the player.

Expamples

Example 1: An error occured on your server. The output should be like this:

ERR
Cannot connect to the database.

Example 2: There is currently no one on the shard. The output should be like this:

NUL
There is no one in the caverns.

Example 3: There are currently Katran and Atrus on the shard. The output should be like this:

LST
2


Katran
4982839
cleft

Atrus
4947763
personal
1)
This is the regular linefeed under UNIX, Linux and MacOS X. Regular Windows (0x0d 0x0a) and MacOS 9 (0x0d) linefeeds are not compatible and you should create them via ASCII-Codes.