Home page : Régis CATTENOZ


Le jeu d'échecs et l'Internet

Cette page vous présente mon intérêt pour les échecs et quelques exemples de mise en oeuvre que j'ai réalisé sur Internet.

Je ne suis pas un grand joueur d'échec, en fait j'en suis vraiment trés loin. Mais ceci ne m'empêche pas d'apprécier ce jeu à sa juste valeur. Je ne joue pas en club, mais seulement occasionnellement avec d'autres amis passionnés.

Récemment, j'ai également découvert la possibilité de jouer sur Internet avec d'autres gens à l'autre bout du monde. Etonnant non !

Cette page vous présente quelques informations pour vous aider à pratiquer les échecs sur Internet, et vous donner quelques tuyaux purement informatiques
J'ai remis cette page au gout du jour début septembre 1999..


Les Internet Chess Server (ICS)

Introduction

Un Internet Chess Server (ICS, ou FICS pour Free Internet Chess Server) et une machine sur laquelle se connectent des joueurs d'échec. Ceux-ci peuvent alors entrer en contact entre eux et pratiquer les échecs.

On se connecte, et ensuite, des commandes permettent de savoir qui est actuellement connecté sur le serveur, de savoir quels sont les joueurs qui recherchent des partenaires, de proposer une partie à d'autres, de trouver quels sont les parties en cours (pour en observer une), ... et le plus important, de jouer.

 Le chess serveur recoit le coup du joueur et le renvoie à l'autre. Il est chargé de la comptabilisation de temps de jeu (limite de temps dans le jeu à la pendule). Le chess serveur contrôle également la validité des coups, les mats, ...

 Différents mode de jeu sont pratiqués, il y a l'échec classique dans toute une panoplie de cadence de jeu (avec ou sans contrôle de temps). Et il y un certain nombre d'échec fantaisiste, comme le bughouse, ou le suicide.

Nota : les chess serveurs sont essentiellement anglophone. Mais que cela ne rebute pas les amateurs, une fois connecté, on ne cause pas beaucoup, on joue.
 

Cadence de jeu

Un temps de jeu est affecté à une partie. Le temps de reflexion du joueur est chronométré et s'il le dépasse alors il perd automatiquement la partie, même si celle-ci n'est pas terminée sur le plateau de jeu. Le joueur en à tous moment une horloge qui décompte le temps de jeu lui restant (ainsi que le temps restant à son adversaire). Si le compteur arrive à 00:00, alors dommage, vous avez perdu.

Ici une nouveauté par rapport au jeu à la pendule classique (non informatisé) est introduite, il s'agit du temps incrémental. En effet à chaque coup joué, un surplus de temps peut s'ajouter au temps de jeu restant. Par exemple, une cadence courante et le mode 2 12 qui signifie un budget de 2 minutes pour la partie auquel s'ajoute 12 secondes par coup joué.

Il y a quatre grande catégorie de cadence de jeu : "untimed", "lightning", "blitz" et "standard". La catégorie est fonction du temps associé à la partie. Pour les temps incrémentaux, une hypothèse du nombre de coup moyen de la partie est choisi à 40. Ce qui donne par exemple pour un mode 2' 12", un temps de 2'+40*12" = 2'+8' = 10'. La catégorie de cet exemple sera donc équivalente à une partie 10 0.

Untimed

(Mode non chronométré). Mode 0 0, pas de controle de temps actif, si vous n'êtes pas pressé, ou que la pendule vous stresse !

Lightning

(Mode éclair). C'est de la partie ultra- rapide,à moins de 3 minutes par joueur pour la partie. (pour les furieux du clic de souris).

Blitz

La partie rapide, entre 3 et 15 minutes par joueur pour la partie. (ce mode de jeu doit être le plus joué sur le serveur FICS).

Standard

La partie standard, à plus de 15 minutes par joueur pour la partie.

Echec fantaisiste

Bughouse

Le jeu par équipe de 2 (je connaissait l'appellation francaise d'échec à alimentation). On joue sur 2 plateaux (un pour chacun des 2 partenaires), un joue avec les blancs sur un plateau 1, l'autre avec les noirs sur le plateau 2. Une pièce noire capturée sur le plateau 1 est à disposition du partenaire qui pourra alors la parachuter sur son plateau (le 2) au lieu de jouer un coup classique.

Ce mode de jeu peut paraître délirant, mais le pire, c'est qu'il l'est vraiment. On peut vraiment se marrer à fond avec ce truc de fou. Ca surprend un max de se faire poser un mat directement avec un pièce qui n'était même pas là au coup précédent. Un conseil, faites attention au parachutage de cavalier, c'est mortel !

Suicide

Je n'ai jamais testé, j'ai cru comprendre que c'était un genre de qui perd gagne, ou quelque chose du genre. Si je teste un jour, alors je mettrai à jour cette page.

Rating

Au fur et à mesure que un joueur effectue des parties, le serveur calcule un classement pour le joueur. Le classement se modifie à chaque partie en fonction du résultat de la partie (gagnée, nulle ou perdue), du classement avant la partie et du classement de l'adversaire. Une partie gagnée contre un joueur plus fort fait monter beaucoup le classement, une partie gagnée contre un joueur plus faible ne fait monter que légèrement le classement. Une partie perdue contre un joueur plus faible fait chuter fortement le classement, une partie perdue contre un joueur plus fort ne fait chuter que légèrement le classement. Le détail repose sur quelque principe probabilistique et statistique dont le détail n'a que peu d'intérêt dans cette page. Les infos sont disponibles dans l'help du serveur.

Chaque joueur a un classement dans les différents modes de jeu (lightning, blitz, standard, bughouse, ...). Le mode untimed n'entre dans aucun classement (mode unrated).

Le truc génial dans l'histoire, c'est que avec cette notion de rating, on sait vraiment à qui on s'addresse sur le serveur. On peut trouver des joueurs de son niveau, se qui donne lieu à des parties acharnées (trés équilibrées). Le système est en fait hyper motivant, on peut se retrouver sur des parties où la pression est extrème !!!

Essayer donc, c'est extra !!!

Enregistrement

Pour se connecter, deux possibilités en se pré-enregistrant, ou en tant qu'invité (guest) sur le serveur. Un invité n'a pas de compte sur le serveur, donc pas de calcul de rating, mais l'invité a accès à toute les fonctionnalités de jeu, et peut donc découvrir ce nouveau monde qui s'offre à lui. Le joueur désirant tester le serveur pourra donc expérimenter en tant qu'invité.

Pour se faire enregistrer et jouer régulièrement, c'est très simple car la procèdure est en fait automatisé. L'enregistrement se fait en ligne sur le server du FICS. Sélectionnez la rubrique Register et entrer vos coordonnées par exemple :

handle : Regisc
e-mail address : regis.cattenoz@iname.com
Real name : Regis Cattenoz

(vous avez probablement compris qu'il faut remplacer mes coordonnées par les votres !)
Il suffit de conclure en cliquant sur le boutton "send registration".

Pour avoir les info exacte sur la procedure d'enregistrement du serveur, se logger en invité et tapper 'help register'. La procédure n'est pas forcément automatisée sur tous les serveurs.

Le serveur vous renvoie alors dans les quelques minutes qui suivent une confirmation de la création du compte par e-mail, avec le password du compte qui vient d'être créé.

Coordonnées des principaux Chess Server

Les coordonnées des Chess serveur que je connais sont les suivantes, sous la forme nom de machine, port telnet de connexion (je n'ai pas forcément tout testé, ...):

Je suis un joueur enregistré sur ics.onenet.net sous le nom RegisC. Don't be afraid,Come on and match me !


Les clients ICS

Pour vous connecter sur un serveur, vous utilisez votre micro favori (PC sous Windaube, Macintoch, station de travail unix, ...). On fait tourner sur celle-ci ce qu'on appellera un client ICS. C'est un logiciel qui propose une interface graphique conviviale sur le poste local et qui se charge du protocole de communication avec le serveur.

La communication avec le serveur se base sur une session telnet. On peut donc se connecter sur le serveur par une commande du genre 'telnet ics.onenet.net 5000' on se trouve alors en seesion avec le serveur, on peut se logger et interagir avec celui ci. Le problème est que l'affichage du plateau est une vague faite avec des caractères (bref ca craint un peu, sauf si vous jouez en aveugle, auquel cas vous n'avez pas d'affichage du tout). Donc on utilise de préférence une super interface graphique qui se charge d'afficher un joli plateau, avec de belles pièces, et qui contrôle les échanges avec le serveur (une fenêtre texte telnet filtrée s'affiche à coté du plateau, et on l'utilise pour le dialogue texte avec les autres joueurs, lancer les parties, ... Le plateau s'utilise de manière intuitive, à la souris, par simple clic & drag des pièces).

Le client optimal à mon gout est un bon xboard ou son portage sous wind... : winboard.

Sous windows (NT ou 95 (ou 98)) :

Utilisez winboard. Il est disponible sous forme source, si vous voulez le recompiler ou l'améliorer, c'est possible. Mais vous serez certainement soulagé de savoir que les executables sont disponibles et prêt à être utilisés.

Cherchez à rapatrier un fichier du genre  winboard-4_0_3.exe. Il doit être facilement trouvé sur le site de Tim Mann (developpeur/mainteneur) de Winboard ou sur
WEB de l'Internet Chess Library ou par FTP sur l'Internet chess library. Si ces liens ne marche pas, rien ne vaut une bonne recherche de winboard avec altavista.

Pour l'installation lancer le .exe, et un setup standard de windows s'occupe de tout (installe les executable dans le directory souhaité, création des raccourci dans le menu démarrer, ...)

Sous windows 3.1x :

Windows 95 est déja suffisament pourri pour ne plus chercher à collectionner les problèmes avec ces systèmes préhistoriques 16 bits. Débrouillez-vous avec ca tout seul, ou installez Linux, ca ne peut que marcher mieux !

Sous macintosh :

Je ne maîtrise pas actuellement, à suivre ...

Sous station unix :

Utilisez xboard. Il est disponible sous forme source. Vu la diversité des machines et des version de système d'exploitation possible, vous risquez fort de ne pas trouver les executable. Il faut donc recompiler. Il suffit d'un compilateur C, d'un make, d'un gzip et d'un tar. De préférence utiliser les outils GNU (GCC, GNU-make).

Le fichier à rapatrier est du genre xboard-4.0.3_tar.gz. Il est disponible par FTP sur le site GNU ou l'un de ses mirroirs (pensez à décharger les sites principaux aux heures de pointes) : ftp://prep.ai.mit.edu/pub/gnu/

Une fois le fichier magique sur la station locale, on lance les commandes du genre :

gzip -d xboard-4.0.3_tar.gz
tar xvf xboard-4.0.3_tar
cd xboard-4.0.3
./configure
make
make install

L'installation et l'utilisation ne nécessite pas d'être administrateur du système. Si vous ne voulez polluez le système (ou si vous n'avez pas les droits d'accès sur les répertoires systèmes, du genre /usr/local/...), alors il est facile de spécifier l'endroit ou l'installation se fera pendant le make install. Essayer un truc du genre :

./configure --prefix=/home/moncompteamoi/gnu --local-prefix=/home/moncompteamoi/gnu

Notez que si vous captez un minimum d'english, ca ne fait jamais de mal de regarder le fichier INSTALL ou les README.

La méthode doit marcher sans problème au moins sous Solaris 2.5 et AIX v4.?? Une liste des systèmes supportés m'a paru trés complète.

Note : les versions suivantes sont aujourd'hui disponible : XBoard 4.0.3 et Winboard 4.0.3. Vérifiez, ca bouge trés vite ces choses là.


Quelque soit le système, la page WEB de Tim Mann renverra sur les élements cherchés.

Quelques commandes de base d'un client ICS

Dès que vous êtes connectés au chess serveur avec votre client ICS, un dialogue de type ligne de commande est engagé. On tape une commande et le serveur execute cette commande. Voici quelque commande de base à utiliser. Cette liste regroupe les commandes que j'utilise le plus souvent (suffisant pour une utilisation de base).

Consulter directement l'aide pour plus d'info (unfortunately, this will not be available in French !).

Utilisation de TIMESEAL

TIMESEAL est un système qui permet de compenser les délais du réseau qui sont comptés sur votre temps de jeu.

En effet, c'est le serveur ICS qui gére les compteurs de temps (pendule). Le temps de jeu est mesuré entre le moment ou le serveur envoie le coup de l'adversaire et le moment où le coup du joueur arrive sur le serveur.Vu depuis le serveur, le temps de latence du transis du coup de l'adversaire depuis le serveur jusqu'à la machine locale, ainsi le temps de latence du transit du coup répondu depuis la machine locale, jusqu'au serveur sont comptés sur le temps de réflexion.

Dans le cas d'une partie à une cadence trés rapide, et d'un accès réseau ralentit (Internet saturé, abonnement chez France Telecom (mais si, vous savez, wanadoo !), ou autre problème réseau ...), alors vous partez avec un énorme handicap de temps.

Pour remédier au problème, Timeseal est un logiciel qui se met entre le Client ICS et le Serveur ICS. Timeseal tourne sur la station locale est se charge de mesurer le temps de réflexion effectif du joueur au niveau de la station locale. Timeseal s'occupe de fournir l'information correcte du temps de réflexion au serveur. Ceci permet d'éviter qu'un joueur connecté avec un lien perturbé ne soit défavorisé.

Timeseal repose sur un chiffrement dont la sécurité ne repose que sur la non divulgation de l'algorithme utilisé (d'après ce que j'ai compris et sauf erreur). On ne peut donc pas obtenir timeseal sous forme de source. Les petits malins qui voulaient tricher sur le temps de réflexion auront du mal !

Timeseal est donc disponible sous forme d'exécutable sous windows : tmsl20g.zip. (note inutile avec les version récente de winboard).
Pour la mise en oeuvre sous windows, après dézippage, je lance un script (.BAT) du genre :

echo connecting to ICS server ics.onenet.net across TIMESEAL
tmseal ics.onenet.net 5000
winboard -ics -icshost localhost -size small

Je ne l'ai pas mis en oeuvre sous unix. Cherchez les executables pour votre OS.

Note : Depuis la version 3.6.x, timeseal doit être intégré (et naturellement installé) dans les packages précompilés de Winboard (?).

... Magic, it works.


Les liens vers des sites ECHEC


Les outils et logiciels disponibles

De nombreux outils et logiciels sont disponibles :

Gnuchess, Crafty sont des logiciels jouant aux échecs.

Crafty : site ftp, help site.

Winboard est une interface graphique de jeu d'échec (et un client ICS pour windaube (NT ou 95). Dispo sous FTP sur l'Internet chess library.

Xboard est à la base de Winboard sous unix, en interface X, disponible sur les sites GNU ftp://prep.ai.mit.edu/pub/gnu/


n° Visite : 

Home page : Régis CATTENOZ