Home / LinuxUser / 2003 / 08 / Grafische Frontends für Internet-Schach-Server

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(243 Punkte bei 15 Stimmen)
Re: War doch klar...
(179 Punkte bei 5 Stimmen)
Re: Skype für 64-Bit-Prozessor u. Suse 12.1
(161 Punkte bei 4 Stimmen)
Kubuntu verliert Finanzierung
(130 Punkte bei 4 Stimmen)
Offen fürs Geschäft
(80 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Schach, nicht matt

Grafische Frontends für Internet-Schach-Server

01.08.2003 Internet-Schach-Server bieten Schachspielern vom Anfänger bis zum Vereinsspieler seit Jahren die Möglichkeit, rasch Spielpraxis zu erwerben. Auch Linuxer profitieren davon, denn die grafischen Client-Programme werden immer besser.

Egal zu welcher Uhrzeit der Wunsch nach einer Partie Schach auftaucht – auf den zahlreichen Schach-Servern des Internet finden sich schnell Spielpartner. Nicht überall sind Linuxer jedoch gleich gern gesehen: So darf man eine der bekanntesten Online-Spielstätten, den Internet Chess Club (ICC, [2]), vor der gebührenpflichtigen Anmeldung zwar sieben Tage lang kostenlos testen, jedoch nur mit dem Windows-Schachbrettprogramm Blitzin. Gebührenfrei bleibt lediglich das Spielen wertungsfreier Partien als Gast, und das geht auch unter Linux. Andere Server wie der der Zeitschrift "Schach-Magazin 64" [4] arbeiten grundsätzlich nur mit Windows-Clients zusammen.

Der wohl berühmteste nichtkommerzielle Schach-Server ist der "Free Internet Chess Server" (FICS, [3]). Neben schnell zu findenden menschlichen Spielpartnern gibt es hier auch Computergegner und spezielle Automaten-Programme, die in regelmäßigen Zeitabständen Schachlektionen erteilen. Als entfernter Abkömmling des 1992 ins Leben gerufenen Internet Chess Server (ICS) ist er zu diesem kompatibel.

Auf so manch anderem ICS-kompatiblen Server (siehe [1]) findet man allerdings kaum menschliche Gegner vor. Hinweise auf sonstige Schach-Server und ihre Qualität geben Schach-Newsgruppen wie [5] und [6].

Die meisten Server erlauben den Zugriff über das Kommandozeilenprogramm telnet. Das ist zwar Linux-freundlich, heißt aber auch Textmodus: Das Schachbrett besteht aus Textzeichen, Kommandos gibt man grundsätzlich per Tastatur ein (Abbildung 1).

Abbildung 1: Eine telnet-Partie auf dem FICS

Man mag über diese "altertümliche" Bedienmethode lächeln – die dabei verwendeten Kommandos bleiben aber auch dann nützlich, wenn man per grafischem Client auf den Server zugreift: Nicht alle der durch die Kommandos bereit gestellten Funktionen haben auf der grafischen Schnittstelle eine Entsprechung; eine integrierte Kommandozeile bieten die GUI-Programme jedoch in jedem Fall. Für die meisten Kommandos (Tabelle 1 und Kasten 1) reicht es übrigens, eine Abkürzung zu tippen: statt variables zum Beispiel var oder sogar nur v.

Kasten 1: Gezielte Nutzung von Schach-Servern

Wer sein Schachspiel verbessern möchte, braucht vor allem starke Gegner. Um Spielangebote entsprechend zu filtern, weist man der Variablen formula auf der Kommandozeile eine entsprechende "Formel" zu. Das kann so einfach aussehen wie

set formula ratingdiff > 0

was dem Wunsch nach einem Gegner mit höherer Spielstärke Rechnung trägt. (Die Variable ratingdiff steht für die Differenz zwischen dem Rating des Gegners und dem eigenen.) Alle anderen Angebote lehnt der Server automatisch ab. Weitere Filterkriterien können zum Beispiel Bedenkzeit oder Wertung sein. Ausführliche Informationen zu diesen Möglichkeiten gibt der Server-Befehl help formula.

Wer des öfteren seine Vorlieben wechselt, legt sich mit den Variablen f1 bis f9 Shortcuts für verschiedene Filterregeln an. Abbildung 1 zeigt ein Beispiel. Seit der dort gezeigte Spieler den Befehl set formula f5 & f3 eingab, sucht der Server für ihn nach Spielen, bei dem der Gegner ein höheres Rating hat (Shortcut f5) und (&) die Bedenkzeit in einem gewissen Wertebereich liegt (Shortcut f3). Dabei gibt die Variable maxtime(40) die maximale Zeit an, die beide Spieler gemeinsam für 40 Züge verbrauchen dürfen. Vergisst man hier das Wort minutes, wird sie in Sekunden gezählt. Kasten 2 beschreibt die Bedenkzeiten näher.

Der Shortcut f7 in Abbildung 1 erlaubt ein Filtern nach Partien mit schwarzen Steinen (black). Sucht der Spieler unbewertete (unrated) Blitzschach-Partien mit Schwarz, legt er das mit set formula f1 & f7 fest. Dieses Kriterium filtert jedoch so stark, dass wahrscheinlich keine Spielangebote übrig bleiben. Hier ist es sinnvoller, mit dem Kommando seek ein Gesuch abzusenden:

seek 4 8 unrated black

bietet eine nicht in die Wertung aufzunehmende Partie an, bei der die Startzeit vier Minuten beträgt, jeder Spieler acht Sekunden Zeitzuschlag pro Zug bekommt (vgl. Kasten 2) und der Anfragende die schwarzen Steine führt. Lässt man die beiden Zeitangaben weg, so gelten die Werte der Server-Variablen time und inc, die man mit dem Kommando set ändert (siehe auch Tabelle 1).

Auch die Antworten auf ein seek-Gesuch lassen sich mit der eingestellten Filter-Formel auf passende Angebote abklopfen:

seek formula

Gemäß Default-Einstellung startet ein Spiel automatisch, sobald jemand auf das Gesuch antwortet. Will man das nicht, gibt man dem seek-Kommando den zusätzlichen Parameter manual mit auf den Weg. Dann obliegt es dem suchenden Spieler, eine Antwort mit decline abzulehnen oder mit accept anzunehmen.

Tabelle 1: Eine Auswahl wichtiger Kommandos beim FICS

Parameter in eckigen Klammern [ ] sind optional und dürfen (ohne Klammern, durch Leerzeichen getrennt) in beliebiger Reihenfolge eingegeben werden.

Zu verschiedenen Kommandos gibt es weitere, hier nicht gelistete Parameter, die der Online-Hilfe des Schach-Servers zu entnehmen sind. Manche Befehle sind nur für registrierte Benutzer verfügbar.

Online-Hilfe

Hilfe-Text aufrufen: help [Befehl]

Spielpartner finden (siehe auch Kasten 1)

Gesuche auflisten: sought

Während der Partie

Dem Gegner etwas mitteilen: say Text
Vertagung der Partie anbieten: adjourn
Abbruch der Partie anbieten: abort
Sieg wegen Bedenkzeit-Überschreitung fordern: flag
Remis anbieten: draw

Wiederaufnahme vertagter Partien

Einem Spieler die Fortsetzung einer Partie anbieten: match Spieler
Fortsetzung einer vertagten Partie bei allen verfügbaren Benutzern anfragen: resume

Laden und Abspeichern von Partien

Vertagte Partien auflisten: stored [Spieler] [Nummer]
Eigene, auf dem Server gespeicherte Partien oder die eines anderen Spielers auflisten (maximal zehn Stück, ältere werden überschrieben): history [Spieler]
Endposition einer gespeicherten Partie anschauen: sposition Spieler [Spieler2] [Nummer]
Eine Partie per E-Mail zusenden lassen (nicht für Gäste): mailstored Spieler [Nummer] [Spieler2]
Gespielte Partien automatisch per E-Mail zusenden lassen: set automail 1

Nachspielen und Beobachten von Partien

Ein laufendes Spiel beobachten: observe [Nummer] [Spieler]
Beobachtung aller Spiele beenden: unobserve
Beobachtung eines Spiels beenden: unobserve [Spieler] [Nummer]

Spieler-Informationen

Informationen über einen Spieler anzeigen (ohne Parameter sieht man die eigenen Informationen): finger [Spieler]
Spieler auflisten: who
Verfügbare Spieler auflisten: players

Einstellungen (Server-Variablen)

Eigene Variablen oder die eines anderen Spielers auflisten: variables [Spieler]
Eine Variable ändern: set Variable Wert
Filter für Spielangebote einstellen (siehe Kasten 1): set formula Formel
Filter wieder ausschalten: set formula

Kommunikation

Einem Spieler etwas mitteilen: tell Spieler Text
Allen Spielern etwas mitteilen: shout Text
Schachbezogene Mitteilungen an alle: cshout Text

Schach mit Java

Wer seinem Web-Browser eine Java-Laufzeit-Umgebung spendiert, kommt mit den Applets JavaBoard 1.04 auf der FICS-Website [3] (Abbildung 2) oder ChessPlayer 1.22 auf dem französischen Schach-Server jeu.echecs.com nach einer gewissen Ladezeit in den Genuss einer farbig gestalteten Schachpartie. Über JavaBoards intuitiv bedienbares GUI lässt sich schon über eine Modem-Verbindung gut Schach spielen. Doch nicht alle Linux-Browser machen hier in jeder Version mit. Unter SuSE 8.1 verweigerten Opera 6.03, Mozilla 1.01 und Netscape 4.8 die Mitarbeit, nur Konqueror machte bei dieser Distribution keine Probleme.

Abbildung 2: Im Applet "JavaBoard" gibt man Kommandozeilenbefehle am unteren Rand des oberen Fensters ein

Weniger Reibungsverluste entstehen, greift man auf ein auf dem lokalen Rechner laufendes Frontend-Programm für ICS-kompatible Server zurück. Ist der Rechner mit einer Java-2-Laufzeitumgebung ausgestattet, bietet sich das Java-Programm Jin 2.07 [7] an (Abbildung 3). Zur Inbetriebnahme reicht es, das Archiv jin-2.07rc1.tar.gz zu entpacken und den Java-Interpreter mit dem Kommando

java -jar Pfad/zu/
jin.jar

aufzurufen.

Abbildung 3: Das Java-Programm Jin ist erstaunlich komfortabel

Bislang bietet Jin nur die Auswahl zwischen dem Free Internet Chess Server und dem Internet Chess Club, übernimmt dort aber auch bei Bedarf die Registrierung als Dauernutzer.

Eine funktionierende Soundkarte vorausgesetzt, heißt einen der Server nach jedem Login mit freundlicher Stimme willkommen. Nicht immer trifft Jin jedoch den guten Ton: So untermalt es eine Rochade mit einem recht eigenwilligen Geräusch.

Das Schachspielen selbst gestaltet sich mit Jin recht angenehm. Im Pulldown-Menü Chess Board (Abbildung 3) finden sich verschiedene Optionen für die Zugeingabe, und wenn man einen Zug in der Tabelle rechts neben dem Brett anklickt, gelangt man direkt zur jeweiligen Stellung.

Das Aussehen des Schachbretts ändert man über Einträge im Hauptmenüs: Den Figurensatz wählt man bei Chess Board / Piece Sets, das Brett bei Chess Board / Boards, und die Farben der Figuren und Felder bei Preferences / Chess Board. Es empfiehlt sich, die schwarzen Felder etwas heller einzustellen, (Abbildung 4). Der Farbendialog erlaubt es nicht nur, vordefinierte Farben zu wählen; man kann sie auf den Reitern HSB oder RGB auch selber mischen. Der Haken an der Geschichte: Um all dies zu konfigurieren, muss man mit dem Schach-Server verbunden sein.

Abbildung 4: Die Farben der Figuren und Felder lassen sich bei Jin im Menü Preferences / Chess Board einstellen

Ähnlich wie das JavaBoard-Applet aus Abbildung 2 stellt Jin die Spielgesuche als Punkte in einem zweidimensionalen Graphen, dem Sought Games oder Seek Graph dar (Abbildung 3). Auf der x-Achse trägt das Programm die Dauer der Partie und auf der y-Achse das Rating des anfragenden Spielers auf. So symbolisiert ein Punkt oben links im Graphen ein Gesuch mit wenig Bedenkzeit und einem starken Gegner.

Zum Umschalten zwischen den Fenstern dienen bei Jin die Tastenkombinationen [Strg-Tab] oder [Strg-F6]. Andere Shortcuts erleichtern die Eingaben auf der Kommandozeile: Klickt man mit der rechten Maustaste auf einen Spielernamen in der Konsole, erscheint ein Kontextmenü mit Server-Kommandos wie match, finger, variables und anderen. Mit [Umschalt-Einfg] lässt sich Text aus der Zwischenablage in die Kommandozeile einfügen.

Viel Liebe zum Detail steckt auch in den Chat-Funktionen. Experten haben zudem die Möglichkeit, Skripte zu erstellen, um gewisse Vorgänge zu automatisieren, zum Beispiel das Antworten auf tell, die Suche nach Spielen und das Filtern von Chat-Themen.

Anders als die Java-Applets hat Jin den Vorteil, Partien direkt auf die lokale Festplatte abspeichern zu können. Dazu gibt man im Menü Preferences / Game Logger einen Dateinamen für den "Gamelogger" an, der von nun an sämtliche Partien in diese Datei speichert. Die Schachzüge liegen dort in der "Portable Game Notation" (PGN) vor, die alle Schach-Datenbanken verstehen.

Dies eröffnet die Möglichkeit, die Partien in ein Schach-Datenbankprogramm wie die "Chess Information Data Base" scid [14] einzulesen und dort zu analysieren. Hat man in scid eine Schach-Engine wie Crafty [16] integriert, kann das Programm die Partien automatisch auswerten und kommentieren.

Echte Linux-Clients

Sei es dem Ruf der Behäbigkeit wegen, der Java-Programmen anhaftet (im Falle von Jin zu Unrecht), sei es, weil der oft nötige Interpreter-Aufruf etwas mühselig ist – die meisten Linuxer bevorzugen fertig kompilierte C- oder C++-Programme. In dieser Kategorie trifft man zunächst auf den Urahn Xboard [8], dessen Bedienung schon allein deshalb recht gewöhnungsbedürftig ist, weil man die Größe des Programm-Fensters nicht mit der Maus verändern kann. Stattdessen legt man sie mit der Option -size beim Programmstart fest. Es gibt 18 verschiedene Werte für -size; bewährt haben sich small für ein 40x40 Pixel großes Brett, mediocre (45x45), average (54x54) und medium (64x64).

Während das Zeitkontrolle-Programm timeseal (Kasten 2) in Jin bereits integriert ist, nutzt Xboard es erst mit der Option -icshelper Pfad/zu/timeseal.Linux-i386. Zuvor macht man die von [13] heruntergeladene Datei ausführbar:

chmod u+x timeseal.Linux-i368

Zum Verbinden mit einem beliebigen ICS-kompatiblen Server dient der Kommandozeilenbefehl

xboard -size medium -colorize -ics -icshost jeu.echecs.com

Das Terminalfenster, in dem man Xboard aufgerufen hat, benötigt man im Weiteren zur Eingabe der Kommandos (Abbildung 5). Hier erscheinen auch die Meldungen des Servers und der anderen Benutzer. Das Pulldown-Menü des Programmfensters integriert einige FICS-Kommandos.

Xboard hat zwar sehr viele Funktionen, doch lassen sich die meisten nur über die Kommandozeile oder durch Einträge in der Datei ~/.Xdefaults einstellen. Passende Parameter pickt man sich aus der ausführlichen man- oder info-Seite heraus.

Xboard dient nicht nur als Schnittstelle zu Schach-Servern, sondern auch zu lokal installierten Schachprogrammen (auch Schach-Engines genannt). Mit der Option -fcp Schach-Engine kann man offline gegen eine Schach-Engine spielen. [15] listet viele davon auf; als spielstark gelten Crafty [16], Gnu Chess [17], Phalanx [18] und Sjeng [19].

Doch außer dem grafischen Schachbrett hat Xboard heutigen Ansprüchen gegenüber nicht mehr allzuviel zu bieten. Zu umständlich und nicht mehr ganz zeitgemäß ist die Bedienung, die zu einem großen Teil mittels Kommandozeilenparametern erfolgt.

Immerhin speichert das Programm, anders als ein Applet, Schachpartien auch auf der lokalen Festplatte ab. Außerdem funktioniert der Ton (bell), was wichtig ist, um bei knapper Bedenkzeit die Schachzüge des Gegners rechtzeitig zu bemerken.

Abbildung 5: Xboard 4.2.6 sieht ein wenig altbacken aus

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

733 Hits
Wertung: 110 Punkte (2 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 03/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

N24 Stick (Huawei E173) und Ubuntu 11.04
Patrick Obenauer, 11.02.2012 11:54, 1 Antworten
Hallo zusammen! Ich benutze einen alten Laptop, der mit Ubuntu 11.04 flott und problemlos läuft....
Wie kann man beim Einsatz von Compiz die Fenster-Dekoration einstellen?
GoaSkin , 10.02.2012 20:12, 0 Antworten
Hallo, ich nutze Linux Mint mit dem Gnome-Derivat Mate. Da die Distribution Compiz nicht autom...
rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...
Skype für 64-Bit-Prozessor u. Suse 12.1
Klaus Sigerist, 05.02.2012 11:39, 3 Antworten
Hallo Gemeinde! Ich bin nur ein einfacher Nutzer und habe Probleme mit der Installation von Skyp...
8! Anfängerfrage :) Wie finde ich in Ubuntu die Datenträger (Bild, Text)
samuel leusam, 04.02.2012 15:53, 2 Antworten
Ich habe neu Ubuntu. Wenn ich die SD Karte im Laptop einstecke, erkennt er sie und gibt ihr den N...