Messages from client to server:
Player Name
Client Type
Chatting
Whispering
Chat Actions
Disconnecting From Server
Creating A Game
Joining A Game
Starting A Game
Change Letters
Player's Moves
Manually Starting a Turn
Board Type Request
Kicking A Player
Leaving The Game

Back to index

Messages From Client To Server

   Player Name

General description
  This message provides the name of the player connecting to the server.
Usage
  This message is mandatory to log into the server.
  Once logged, a player cannot change his or her name; disconnection is necessary before changing name.
Field Description Possible values
playername Name of the player. Depending on server and protocol versions, some characters are not allowed in player names.
In protocol v0.2 the characters '&', '#' and '~' are not allowed in player name.
In protocol 1.0, characters greater-than and lesser-than '<' and '>' are forbidden.
Protocol 0.2
  PLAYERNAME|Judge Hedd
Protocol 1.0
 <?xml version="1.0" encoding="UTF-8"?>
 <playername>Judge Hedd</playername>


   Client Type

General Description
  This message provides information about the client software used to connect to the server.
Usage
  This message is mandatory to log into the server.
Field Description Possible values
name Name of the client. The name of one the numerous JDuplicate clients :)
version client software version.
protocol Communication protocol used by this client.
Protocol 0.2
  CLIENTTYPE|JDuplicate Swing Client#0.12#0.2
Protocol 1.0
 <?xml version="1.0" encoding="UTF-8"?>
 <clienttype>
   <name>JDuplicate Swing Client</name>
   <version>0.12</version>
   <protocolversion>1.0</protocolversion>
 </clienttype>


   Chatting

General Description
  This message contains chat text written by the player.
Usage
  In the current server version, there is no need to indicates the name of the player who chatting, as his or her identity is determined by the server. This avoids spoofind issues.
Field Description Possible values
chattext Chat text.
Protocol 0.2
  CHATREQUEST|Hello there
Protocol 1.0
 <?xml version="1.0" encoding="UTF-8"?>
 <chatrequest>Hello there</chatrequest>


   Whispering

General Description
  This message contains a whisper text and the player to whom this text is to be sent to.
Field Description Possible values
to Addressee player.
text Whisper text.
Protocol 0.2
  WHISPERREQUEST|O-Dog#it's getting tough!
Protocol 1.0
 <?xml version="1.0" encoding="UTF-8"?>
 <whisperrequest>
   <to>O-Dog</to>
   <text>it's getting tough!</text>
 </whisperrequest>


   Chat Action

General Description
  This message describes a 'chat action' similar to the popular IRC /me command.
Field Description Possible values
action Description of the action.
Protocol 0.2
  CHATACTIONREQUEST|believes JDuplicate is great!
Protocol 1.0
 <?xml version="1.0" encoding="UTF-8"?>
 <chatactionrequest>
   <action>believes JDuplicate is great!</action>
 </chatactionrequest>


   Disconnecting From Server

General Description
  This message indicates that the player is disconnecting from the server.
Usage
  This message has to be sent before leaving sever in order to quit cleanly. In case of a sudden disconnection (such as a connection reset), the server detects it and disconnects the player. This can sometime require a timeout, which is never really convenient for anyone.
Field Description Possible values
reason Text indicating the reason for which the player is disconnecting.
Protocol 0.2
  DISCONNECT|Good bye everyone!
Protocol 1.0
 <?xml version="1.0" encoding="UTF-8"?>
 <disconnect>Good bye everyone!</disconnect>


   Creating A Game

General Description
  This message provides information needed to create a game.
Usage
  In server versions 0.5 and 0.6, only games with predefined settings can be created.
Field Description Possible values
name Game name. Depending on the server's protocol version, some characters are not allowed.
In protocol v0.2 the characters '&', '#' and '~' are not allowed.
In protocol 1.0, characters greater-than and lesser-than '<' and '>' are forbidden.
timeperturn Time allowed to play a turn. It has to be a positive integer.
predefgame Code of a predefined game setting availableon server. One of those returned by Predefined Games Settings
maxplayers Maximum number of players that can simultaneously play in this game. It has to be at least 1.
description A short, personalized, game description set by game creator. Depending on the server's protocol version, some characters are not allowed.
In protocol v0.2 the characters '&', '#' and '~' are not allowed.
In protocol 1.0, characters greater-than and lesser-than '<' and '>' are forbidden.
Protocol 0.2
  CREATEGAMEREQUEST|ams's game#120#fr#8#No word stealing please
Protocol 1.0
 <?xml version="1.0" encoding="UTF-8"?>
 <creategamerequest>
   <name>Ahmad's game</name>
   <timeperturn>120</timeperturn>
   <predefgame>fr</predefgame>
   <maxplayers>8</maxplayers>
   <description>No word stealing please</description>
 </creategamerequest>


   Joining A Game

General Description
  This message is a request to join a game.
Usage
  The game should already exist otherwise an error will be returned by the server.
Field Description Possible values
joingamerequest Name of the game to join. Has to be a game available on server.
Protocol 0.2
  JOINGAMEREQUEST|Luc's game
Protocol 1.0
 <?xml version="1.0" encoding="UTF-8"?>
 <joingamerequest>Luc's game</joingamerequest>


   Starting A Game

General Description
  This message sends a start game signal.
  It does not use any parameter.
Usage
  In server v0.5 only game creator can start the game. In future game operators support might be added.
Protocol 0.2
  STARTGAMEREQUEST|
Protocol 1.0
 <?xml version="1.0" encoding="UTF-8"?>
 <startgamerequest/>


   Change Letters

General Description
  This message enables to change one or more letter of own hand.
Field Description Possible values
letter A letter to change. Has to be in player's.
Usage
  Change own letters can only be used when the player is in a game and each player has his own hand.
Protocol 0.2
  CHANGELETTERS|Z#G#
Protocol 1.0
 <?xml version="1.0" encoding="UTF-8"?>
 <changeletters>
   <letter>Z</letter>
   <letter>G</letter>
 </changeletters>


   Player's Moves

General Description
  This message contains the player's moves for the current turn.
Usage
  The player can send his moves before the time per turn runs out, or his moves are requested by server at the end of the time out.
Field Description Possible values
letter glyph(s) used (or * if blank glyphs is used).
  Field attributes Description
  x x axis Has to be a positive integer, in the range of the game board.
  y y axis Has to be a letter, in the range of the game board.
  blank (optional) glyph value given to blank glyphs. Has to be a glyph available in letterset.
Protocol 0.2
  MOVES|8&H&B#9&H&I#10&H&S#11&H&e#
Protocol 1.0
 <?xml version="1.0" encoding="UTF-8"?>
 <moves>
   <letter x="8" y="H">B</letter>
   <letter x="9" y="H">I</letter>
   <letter x="10" y="H">S</letter>
   <letter x="11" y="H" blank="E">*</letter>
 </moves>


   Manually Starting a Turn

General Description
  This message specifies that a turn should start when told by this message. This happens in Boggle where there is a forced pause between turns.
Usage
  Only game operators can issue this command, after receiving the WAITINGFORSTARTTURN message.
Field Description Possible values
letter glyph(s) used (or * if blank glyphs is used).
  Field attributes Description
  x x axis Has to be a positive integer, in the range of the game board.
  y y axis Has to be a letter, in the range of the game board.
  blank (optional) glyph value given to blank glyphs. Has to be a glyph available in letterset.
Protocol 0.2
  MOVES|8&H&B#9&H&I#10&H&S#11&H&e#
Protocol 1.0
 <?xml version="1.0" encoding="UTF-8"?>
 <moves>
   <letter x="8" y="H">B</letter>
   <letter x="9" y="H">I</letter>
   <letter x="10" y="H">S</letter>
   <letter x="11" y="H" blank="E">*</letter>
 </moves>


   Board Type Request

General Description
  This message requests the type of board used in this game (i.e. board dimension, locations of bonus squares).
Usage
  The player has to be in a game to request its the board type.
Protocol 0.2
  Not used.
Protocol 1.0
 <?xml version="1.0" encoding="UTF-8"?>
 <boardtyperequest/>


   Kicking A Player

General Description
  This message allows kicking a player out of the current game.
Usage
  Only game creators (and eventually game operators) can kick players from his game.
Field Description Possible values
kicked Name of the player to kick. One of the players in the current game.
reason Reason given by the kicker to kick the player defined in the kicked field.
Protocol 0.2
  KICKREQUEST|Ahmadeus#Because i want to :)
Protocol 1.0
 <?xml version="1.0" encoding="UTF-8"?>
 <kickrequest>
   <kicked>Ahmadeus</kicked>
   <reason>Because i want to :)</reason>
 </kickrequest>


   Leaving The Game

General Description
  This message indicates that the player is leaving the game.
Usage
  Anytime when connected to a game.
Field Description Possible values
leavegamerequest Reason for parting the game.
Protocol 0.2
  LEAVEGAMEREQUEST|I'm too bad to play with you
Protocol 1.0
 <?xml version="1.0" encoding="UTF-8"?>
 <leavegamerequest>I'm too bad to play with you</leavegamerequest>