====== 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)((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.)). 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 === - Header (//required once//) - PlayerList (//required once if StatusCode = "LST"; prohibited else//) ==== Level 2 ==== === Parent: Header === - Status (//required once//) === Parent: PlayerList === - PlayerInfo (//required once, optional up to 32766 times//) ==== Level 1 ==== === Parent: Status === - StatusCode (//required once//) - StatusMessage (//required once if StatusCode = "LST"; optional else//) === Parent: PlayerInfo === - PlayerAvatarName (//required once//) - PlayerAvatarID (//required once//) - PlayerLocation (//required once//) ==== Descriptions ==== === StatusCode === A string of exactly 3 8-bit characters, representing the shard status. The supported stati are: * **ERR**: An error occured while creating the output-file. * **NUL**: There is currently no player on the shard. * **LST**: There are currently players on the shard. === 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