Introduction to JDuplicate


Free, Java, multiplayer, client-server game based on a tourney-popular word game: Duplicate Scrabble

From the Scrabble FAQ:

In Duplicate Scrabble, players all play the same board, competing for high score on each move. Duplicate tournaments are held in France.

These rules completely remove any luck from the game, thus making the game completely balanced for all participants. It also allows for an unlimited number of human players to compete simultaneously.


JDuplicate is an online multiplayer word game. It was build to support several word games, and is language independent: games can be played in English, French, or any other occidental alphabet based language. New games modes are being added as development advances.

All you need to play is a JDuplicate client.

You can learn more about how the JDuplicate project came to be in the About page.


The official JDuplicate code branch is 100% Java. There are several reasons for this, the most important ones being that Java is a language we already knew, Java is cross-platform which we believe is really important for online games (we also use different development platforms at home), Java allows us to concentrate more on semantic issues than technical ones.
The most important drawback though, is that players will have to install a Java runtime environment for their machine.

JDuplicate consists in a server, and at least one client. A client connects to a server gets a list of the currently available games, and joins or spectates one. A game can be joined at any time, unless the game creator decides that all players are to start even (at the same time, because players joining a running game will have turns, thus points, missing).

JDuplicate is designed to be as open ended as possible. It is primarily programmed to handle Scrabble Duplicate games, but it will allow for other game modes to be added with little effort. The dictionaries and letters occurences/values are also easily loadable, so many languages and dictionaries can be used simultaneously.

The implementation is client/server. The official JDuplicate package is made up of two main parts:

The XML-based protocol specification used for communication between clients and the server is available on the website. and DTDs. Clients complying with this protocol should be able to connect to any JDuplicate server with ease. This way, clients can be written for various platforms, with various features, and in different languages.
The reference GUI implementation (JDSC) is available with the server for reference and implements the basic features available in the game. The source code for JDSC also provides a JDuplicate client API which client developers can reuse or port to other languages and platforms.


The main JDuplicate developers/project leaders are, in alphabetical order, Jeremy Grumbrach, Ahmad Imam and Luc Vo Van. We are located near Paris (France) and Brussels (Belgium).

We would like to thank the following persons, in no particular order: gn for various user feedbacks, Tobias Sargeant (developer of Quixotic for art and support, Dave Biggs for his 3D logo on the about page, Narishma for his user feedback and future Python client, Sylvain Forest for introducing us to Duplicate Scrabble in the first place, Rog and Nicolas Falduti for their translations.