Agent == Smith

Group Project Page - Chat Server

Message Specification

Announcement

Due to the fact that our message spec is not XML compliant, we are wanting to make some changes, please read the front page, and let us know if this won't work for your group.

Introduction

We invision that you (matchup server, game server, or player) would be the object to create the chat room. You would do this by sending a request for us to make a room for you. You can specify the room's ID if you wish, if no ID is specified then we will assign one to you. Then you will send requests to add players to that room. When it is time to quit you will be the one to tell us when to kill the room. The chat server will know how to route messages to players in your room based on the room ID. After creation, the room ID will be passed in the ACLMessage conversationID field

Sample ACLMessage Format

<?xml version="1.0">
<fipa-message act="INFORM" conversation-id="*">
<reply-with>not used</reply-with>
<in-reply-to>not used</in-reply-to>
<content>**</content>
</fipa-message>

* Conversation-id used to route messages to a given room, and will be determined upon room creation
** See below for content tag format

Instruction Syntax Summary

  • makeroom: <instr="makeroom" room="room ID"/>
    • You are allowed to try and specify a room ID if you wish, if no roomID is specified, a room ID will automatically be assigned by the chat server
    • Response Messages:
      • <instr="chat" msg="(your room ID) created" html="(your room ID) created (with html tags)"/>
      • <instr="chat" msg="room already created" html="room already created (with html tags)"/>
  • killroom: <instr="killroom" room="room ID"/>
    • Destroys a room object (when it contains no players) so that the room name can be available to other users.
  • addplayer: <instr="addplayer" player="player AID"/>
    • Places a player agent's agentIdentifier into a room object for forwarding of chat messages.
  • kickplayer: <instr="kickplayer" player="player AID"/>
    • Removes a player agent's agentIdentifier from a room so that messages are not forwarded to the player.
  • chat: <instr="chat" msg="your text message" html="your text message with html tags"/>

More error messages will be defined as integration and design progress, but the basic idea of using chat messages is to provide uniformity, so that if player agents are allowed to add others to a chat room, or create private rooms (currently unsupported), then they have an easy way to deal with responses. A game server or match server should have no trouble with this since the only time they receive chat messages it to inform them of a successful/unsuccessful command to the chat server.

More Stuff

Last Updated: April 16, 2005

If you have any questions, don't hesitate to contact us via email from the links on the homepage.