Skip to content


Update: polyglot 1.4.61b package upload to debian experimental

The new polyglot version 1.4.61b is packaged now and uploaded to the debian experimental distribution. Debian testing is frozen ATM, because of the upcoming release. Thanks to Michel Van den Bergh for the bugfixes and the result string after an illegal move should now show the actual attempted move.

Posted in this page.


Update: stockfish 1.9.1 debian package in experimental

The new stockfish 1.9.1 package for debian is now uploaded to the experimental distribution. This is, because debian testing is frozen due to the upcoming release. Don’t bother me. It will be released if its ready! have fun!

Posted in chess, chess engines, debian GNU/linux, linux.


Usability report of pychess 0.10~beta3-2

The comment of bill made me think, it would be nice to try out the newest pychess. It is a fairly new chess client and it won an award in “Les Trophées du Libre” in the category “hobby”.

What are my expectations:

  • Play against a chess engine
  • FICS Support

These are the basics of any usable chess GUI. But, how well does pychess solve those tasks? I tried out and took some screen-shots.FICS

So, connecting to FICS was no problem. And a new game was started easily. The seek-graph looks very nice and you can select your opponents there.

But I was at first not able to find the button to start a game-offer myself. The button was not at at a central place and mislabeled. Also you had to create a “use-profile” for any other game timing, which was not even saved by the GUI. Here is some optimization possible. You can have a look for your-self: Where is the right button in the “seek list tab”???

Another thing is, that I like to follow, or observe other games. pychess has support for this, but it is limited. You can “only” select the games from a long, long listing.

Also a console for the advanced user might be useful, I couldn’t find that activated at all. The chat-feature/windows are much too small for my taste.

But also I have seen some “unique” features here, that I didn’t see anywhere else.  What I liked very much was that you could see opening moves while playing at FICS. This might be an advantage to your opponent, but I do not consider it cheating. Its a really nice feature. Also there is a “graph”, which shows the white/black material balance. You can see it on the right side of the screenshot.

Even, when you play a game of chess on FICS pychess is running a chess-engine in the background. Maybe to work out the material balance, this is annoying, because all the fans on my system started cooling the CPU.

Something I really missed was, that you couldn’t choose from different chess sets or piece-styles or color sets, but this is surely in development and nothing functional.

After each game pychess asks you to save the game. What I missed here was, that it automatically adds it to a .pgn database. I didn’t try out the analysis, because the whole front-end seemed not to support this well from the start.

So far for my personal tests. Some things are working quite well:

Pro’s:

  • Move animation is nice
  • Sounds are nice too
  • You can “pre”-move, good for blitz, I didn’t try lightning
  • There seems to be timeseal-support included (I have looked at the code)
  • Unique feature: To see opening-book moves, while playing on FICS

And others don’t.

Con’s

  • Missing: automatically add games to a .pgn DB
  • Missing: FICS console- or commandline-support to work with all the FICS commands
  • Usability could be improved

Conclusion:

pychess is a good chess client to play chess against engines and FICS. It has all the necessary features to satisfy any normal user.  If you are an experienced user and want to use extended features of the FICS service, you will have to use a client with better console support.

Posted in chess, chess engines, computer chess, playing chess, this page.


Update: stockfish 1.7 – Open Source Chess Engine reaches for the crown

YES – The Team of Tord Romstad, Marco Costelba and Joona Kiiski just made it. They climbed the ladder and reached for the crown of all chess engines. This is a great day for all computer chess enthusiasts and Open Source developers: A team developed software, that everyone can copy, modify and learn from has the better ideas and performance than their closed source counterparts.

Its often talked about, but seldom proven in a more expressive way, that sharing of code, group work and not keeping the ideas secret can make it to the top.

Here is the prove of this news on CCRL 40/4 FRC. And you can find an interview with the team at this German chess news site.

There is also the announcement of a stockfish 1.7.1 on talkchess.com and it is said to be a bugfix release without ELO improvements. But this was said about 1.7 too. ;o) And another great news:  stockfish has a new home at this website run by Daylen Yang.

My own first impressions: “Stockfish 1.7 is very strong. It calculates moves very fast and the speed of it coming to great depth is impressive”

Of course there is a debian package ready in unstable and I am working on the update from 1.7 to 1.71 but thats not too urgent.

Congratulations to the team!

Posted in this page.


Update: scorpio 2.5 debian package (unofficial)

There is a new debian scorpio package of the famous chess engine scorpio. The engine is very high rated and the possibility to have OSS and free endgame tablebases make this engine special.  scorpio itself is started by a script wrapper. This script installs the scorpio.ini and personality files to $HOME/.scorpio. You should adjust the number of processors setting to your needs in scorpio.ini.

Thanks to Daniel Shawul for his great work and for making this engine Open Source. I asked him once to use a common license like GPL. If he would do that, I’d love to add the package to the official distribution.

Posted in chess, chess engines, computer chess, debian GNU/linux.

Tagged with .


New: scid-rating-data and scid-spell-data packages in debian

The system integration of scid in the debian GNU/Linux distribution is improving. The latest scid spell and rating datasets are now installable. The names of the packages are:

  • scid-rating-data
  • scid-spell-data

As the data is “free” in the sense of the debian guidelines, there was no problem of including it into the distribution. This data is used to make spell corrections in greater databases. With a spell corrected database users have a chance to identify duplicate games from different sources in their databases. The author of these files is Franz Nagl, thank you!

Posted in this page.


Update: scid 1.6.3 debian package

As most of the fixes were present in my package anyway, there was no hurry for me. Here is what the developers say, what has been done to the 1.6.3 maintenance release:

This is a quote of the talkchess forum:

This is a maintenance release of Stockfish 1.6.x series. It is 100% functionally and speed equivalent to 1.6.2 so there is NO ELO DIFFERENCE, so, as usual, testers do not need to redo anything. The aim of this release is to fix all the reported bugs that have been accumulated in these weeks.

So here are the fixes:

  • Extend maximum hash size to 8GB (it was 2 GB)
  • Fix a possible crash when using many threads (thanks to Bruno Causse for the fix)
  • Fix en-passant parsing from fen string
  • Fix various UCI interface issues so that now connection with GUI should be reliable with all the GUIs
  • Fix compatibility with gcc 4.4
  • Fixes a Chess960 bug when playing with more than one search thread
  • Add hardware POPCNT support for gcc: use ‘make gcc-popcnt’ to enable hardware POPCNT support, if you have an i7 / i5 CPU
  • Fix sending of best move during an infinite search
  • Optimized “Minimum Split Depth” for 8 cores and removed auto-limitation to 7 cores (thanks to Louis Zulli)

Download:
http://www.mediafire.com/?ywtum2tmwi5

Posted in this page.


How To: set up a TCP chess server in a minute

After rereading my recent post at this topic, there had to be a smarter solution. So I puzzled around with netcat. And it really turned out to be the TCP “swiss-army-knive”, as it is said in their manual. It is so much easier, then I first thought. And it might be a solution for other operating systems, that have a netcat available and can create device files.

The idea in general:

Just make netcat listen on a port. The only problem: How to do the communication over the same program back to the port. Solution: Just create a devicefile for “reading” the output back into it. (I do not know how to do this on another OS, but there has be something)

Step one: Create a FIFO (named pipe)

user@host:~$ mknod backpipe p

Step two: Just start the netcat as a service in a loop, this is the server side

user@host:~$ while [ 42 ] ; do nc -l -p 7777 0<backpipe | stockfish 1>backpipe; done

With this command you will setup netcat to listen for input at port 7777. Any input there is piped into the stockfish chess engine.  The backpipe special device file gets the output of the chess engine and this is re-read by the netcat and comes as output over the TCP/IP Port.

But beware: Firewall this service in your network, or you might also be hacked in a minute!

Step three: Communicate with the user-front-end scid, the client side

On the client side you have to install a netcat too. Here is a command to test if the server side is working.

user@host:~$ echo uci | nc 127.0.0.1 7777

Of cause this should work with the external IP of your Server from remote. Just specify this in your setup. Here is a screenshot:

Posted in chess, chess engines, computer chess, linux.

Tagged with , , , .


How To: make a chess engine listening on a tcp port as a chess server

What do we need to make a linux box act as a chess engine server. Not much.

  • bash scripting skills
  • root access
  • a firewall
  • the software packages of: “nc” “xinetd” “scid” and a chess engine

If you have all this: fine. You can read on and we will find out, how to easily turn your box into linux chess server.

What is it good for?

  • Easy solution to have a powerful chess engine at a client with little CPU Power or RAM
  • Connect your MAC OS X or Windows (VmWare) to an linux chess server box (Not described on this page, but there is a netcat.exe for MS Windows and nc for MAC)
  • I Use it to connect my VmWare Windows to a serverside chess engine.

But BEWARE do NOT enable this service without being firewalled. If anybody has access to it via the internet, they will attack you with a denial of service or worse hack your server in no time.

Solution

I myself use a debian GNU/linux, but this will work on any other linux distribution as well. In my example I work with the UCI engine stockfish, but this is your choice also. My example is generally based on the article of Steve Litt on bash socket programming. You can find lots of useful hints for trouble shooting there.

Step 1: First we need to have a server script.

#!/bin/bash

LOG="/tmp/chess-server.log"

/bin/echo "Start $(/bin/date)" > $LOG
/bin/echo >> $LOG

/usr/games/stockfish

/bin/echo  | /usr/bin/tee -a $LOG
/bin/echo "Stop $(/bin/date)" | /usr/bin/tee -a $LOG

We do the logging just for debugging purpose. This is what you should see, if you call the script:

user@server:~/bin$ ./chess_server.sh
Stockfish 1.6.2 64bit. By Tord Romstad, Marco Costalba, Joona Kiiski.
quit

Stop Do 28. Jan 12:43:28 CET 2010

So this is just a wrapper around the stockfish binary. Be sure to set full paths in the script, they may not be avaylable, if this is run by xinetd.

The next two steps need to be done as root:

Step 2: Put a service stanza to your /etc/services file.

# Local services

chess           3333/tcp                        # chess engine server disable, when unneeded

Step 3: enable your server script with xinetd.

The next step is to enable your server script with xinetd to listen at a specified port. I did that in the file /etc/xinetd.d/chess:

# default: on
# description: An RFC 863 discard server.
# This is the tcp version.
service chess
{
 disable         = no
 server          = /home/user/bin/chess_server.sh
 socket_type     = stream
 protocol        = tcp
 user            = user
 wait            = no
 port            = 3333

}

To verify this is working, do a

user@server:~/bin$ echo uci | nc 127.0.0.1 3333

You will then get a lot of engine output and at last the reply “uciok” If you do not get this output, verify to have a #!/bin/bash in your server script. The logfile /tmp/chess-server.log can be of help. If you don’t find a solution, you can refer to the article of Steve Litt on bash socket programming, it has a lot of trouble shooting hints.

Step 4: Point the Engine GUI to the network-engine-script

If everything is OK, you are nearly done. Just write yourself a connect script, that is a wrapper for the scid engine interface. Here is what I did:

 #!/bin/bash
/bin/nc 172.26.14.65 3333 

You can then point your “scid” or any other chess engine front end or GUI to this like to any other UCI engine. If you have a Winboard engine as server, this will work too.

Make sure your service is firewalled until you use it.

Posted in chess engines, computer chess, linux.


OpenSuSE: lots of chess software available

As “oldcpu” stated in a forum post: OpenSuSE has a lot of packages ready to use. This software is covering almost all needs of the ambitious chess player. The wiki pages of the project have a category, that deals with OpenSuSE and chess. A lot of useful information can be found there. One topic is: running native windows chess software under linux, with the help of wine. And a nice amount of of additional and up to date packages are done by developers of the german packman-team. Here is their repository listing for chess software.

Thanks for the hints “oldcpu”.

Posted in chess, chess engines, computer chess, linux, this page.