Messages from server to client | Messages from client to server | Messages behaviour | Errors |
The JDuplicate Protocol Specification v1.0
Low level communication | |
JDuplicate's lower level network protocol is TCP. Data is sent back and forth between the client and the server using Java's modified UTF-8 protocol implemented in the DataIntput.readUTF and DataOutput.writeUTF methods. The Java API documentation contains all the information you will need to implement this protocol using the language of your choice. | |
Glossary | |
TERM | MEANING |
HALL |
The hall is the main room where players can only chat, create and join games. When a player connects to server or when he leaves a game, his state in 'in hall' |
GAME |
A game is a 'room' which players can join, and where they can play a game or chat. A game is over (terminated) when all players connected to part from it or disconnect |
CLIENT |
A client is the application used by a player to connect to a JDuplicate server |
PLAYER |
A player is a person that wants to have fun playing JDuplicate :) |
GAME PLAYERS |
All players connected to a specific game. |
ALL GAME PLAYERS |
All players connected to a game (ie: players not in the hall). |
HALL USERS |
The users in the hall |
LETTERSETS |
Describes the glyphs (usually the alphabet) of a particular language, as well as the occurences and values
of each one of these glyphs in the beanbag. On the server, this information is stored in
.jdup files and is transferred to all game players upon them joining a game. Lettersets
are game specific.
|
GAMETYPE |
A gametype describes the general settings (rules) to be used for games using that gametype. As of version 0.6, the settings are: description, rules [duplicate, scrabble, anagram], dictionary, letterset |
Game State | |
WAITING |
The game has not yet started, it is waiting for a game operator to send a start message |
IN GAME |
The game has started, and people are currently playing. |
GAME OVER |
The game is over but there are still players connected to the game (most probably chatting about the game that has ended a while ago) |
Client State | |
LOGGED |
The client is connected to server |
IN HALL |
The client is in the hall, not connected to any game |
IN GAME |
The client is connected to the server, and has joined a game |
Copyright Notice
Copyright (c) 2004 Ahmad Imam, Luc Vo Van, Jeremy GrumbachThis document was originally written by Ahmad Imam.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is available on the Free Software Foundation Website at http://www.fsf.org.