Jags - The Java Game System

What is Jags ?

Jags is a multi-game, multi-machine, multi-client, multi-threaded game server (wow !). It is based on the server/client model. It allows a game developer to write a multiplayer game without having to deal with all the network problems or the players handling. Everything is done through Jags and the developer can concentrate on the game itself.

Jags server is meant to be launched as a daemon process running without interruption. Jags clients connect to a Jags server, retrieve the list of available games (new games or ongoing games) and then join one or several games. A client can connect to as many servers as wanted, all servers providing different games. The goal is to have only one client per user, even if the user wants to play several games at the same time.

The GameServer has been designed to be very extensible. A developer wanting to add his own game will only have to write a few classes.

Download it !

Compiled versions


Documentation for classes and interfaces is available in two formats :

The Team

The team is made up of six people :

Basic Concepts

Both the server and the client are written in Java. As of now, the client must be written in Java because Jags is using the Java Serialization mechanism.

Hu ! Write that in english !

Jags est composé de deux entités : le moteur et les jeux, pour bien dissocier le moteur serveur/client des jeux eux-mêmes. Les classes du moteur se trouvent dans le package game et les classes des jeux se trouvent dans des packages séparés. Par exemple, les classes du jeu de Scrabble(R) se trouvent dans le package scrobble.

The Engine of Jags

    Les deux classes tout en haut de la hiérarchie sont GameServer et GameClient. Le GameServer manipule des objets de type Game et de type Player. Ces deux dernières classes décrivent ce que tout jeu doit comporter et savoir faire pour pouvoir être intégré dans le serveur.
Scrabble for Jags : un exemple de jeu

    Pour le jeu du Scrabble en particulier, Game se dérive en ScrabbleGame qui contient tout le savoir-faire du jeu de Scrabble. Le ScrabbleGame comprend un plateau (Board), un sac de lettres (Bag), la définition du langage avec lequel on joue (Language).. La plupart des classes du jeu se déclinent en une version client et une version serveur. Les deux versions auront sans doute besoin de se communiquer à travers le réseau.

La documentation des classes et des interfaces est disponible en plusieurs format :

Last Word

This page is only the first step of what could be a cool nice page for this software. Description of the overall conception is more than short..

The Scrabble FAQ is available here.

SCRABBLE ® is a registered trademark of J.W. SPEAR & SONS P.L.C., Enfield, Middlesex, England.
Contact Me
If you have any question, suggestion or source patch to give me, send it to vmallet@enst.fr.

[home] [resume] [software] [ZNibbles] [ViMmail] [Jags]

Vincent Mallet
Last modified: Mon Apr 26 03:57:03 MET DST 1999