Saturday, March 31, 2012

Connecting Chess for Android to a Remote Server

I have received several questions on how to connect Chess for Android running on an Android device (e.g. a phone) as client to a remote chess server (e.g. a powerful desktop), so I decided to write a small document with detailed instructions.

What you will need:
  • The server software from Bernhard Wallner's chess utilities, suited for your server's operating system (if, say, your desktop runs Windows, you will need to download the Windows version). You do not need to download the client software in this case.
  • The network enabled version of Chess for Android.
On the server, start the engine server software, and construct a new row for every engine you want to run remotely. Assign a name, port number, and select the full path to each engine binary (an executable that runs on the server). You can also supply command line options for starting the engine. Check the active checkboxes and click start when done. This yields something similar to the screenshots below. Here, I have started BikJump on port 1048 and Stockfish on port 1049.


Next, you will have to find the IP address of your server. You can find this, for example, using the ipconfig utility. On a local network, you can also query the router for the IP addresses assigned to different computers. Note that running a globally accessible server behind a firewall requires a setup that is a bit outside the scope of this posting (for example, you may need DDNS if your IP address is assigned dynamically, and you may need to forward ports to your chess server in a router).

On the Android device, which will be your client, start Chess for Android, long press the notation window and then select "UCI and XBoard", followed by "Import Engine", followed by "Network Socket". In the pop-up window, enter the IP address or domain name in Hostname box, and the appropriate port in the Port box. Make sure you also make the correct UCI or XBoard selection. In the example below, my server was running on IP address 192.168.1.126 and I want to connect to stockfish on port 1049. If all has been done well, this pops up the engine setup window. Select the desired parameters (note that the endgame tablebases path name applies to your server, not the Android device) and press done.

 
That's it! In the screenshots below, you see stockfish running remotely at about 867 KNs. In contrast, a screenshot with stockfish running as native ARM binary on the device is shown as well, running at about 67 KNs.


Monday, March 26, 2012

Chess for Android 3.1.5

I just released version 3.1.5 of Chess for Android, available either at the Android market or as direct download. New features include:
  • Ability to filter PGN games (on player, event, ECO, ELO rating range, or result)
  • Automatically re-import last UCI/Xboard engine on exit-re-entry of application
  • Finger sweep left or right as alternative game navigation
  • Minor improvements in setup position feature



Saturday, March 24, 2012

Filtering on ELO

I got a useful suggestion at the talkchess forum for filtering the ELO rating of players. Rather than allowing individual ranges for white and black, I decided to provide a single range that applies to both the white and black player. In the example below, only games where both players have an ELO rating in the range "1200-1700" will be shown. Leaving the lower or upper field empty effectively makes that field unbounded (for "1200-" means all ELO rating 1200 and above, while "-1700" means all ELO ratings 1700 and below).



Friday, March 23, 2012

Filtering PGN Games

I have extended the game storage features of Chess for Android with the ability to filter PGN games, which is a useful feature when dealing with larger files. To use this feature, long press the notation window and select Game Storage. From there, you see the usual game storage choices, now extended with Filter Game from SD.


After a file has selected, a filter window pops up. Here, you can define a filter involving the white and/or back player, the event, an ECO code, and/or the result of the game.


After the file has been loaded, a window prompts all games that match the filter. The user can subsequently decide what game should be loaded into Chess for Android.


The new feature should be released very soon!

Wednesday, March 7, 2012

Arasan 14.0.1 for Android

Jon Dart released version 14.0.1 of Arasan and Jim Ablett kindly provided a binary for ARM-based Android devices. I did a 1 second per move match from both sides of the Nunn opening suite between version 13.4 and the new 14.0.1 using Chess for Android, which ended in 11-9 in favor of the older version (of course not enough games to say anything conclusive; the match was merely a quick sanity check on the new version).


Monday, March 5, 2012

Chess for Android 3.1.4

It has been quiet for a while, because I was really busy at work, but finally Chess for Android version 3.1.4 has been released, available at the Android market or as direct download. New features include:
  • Position setup improvements
  • Enhanced x-chess-pgn content viewing
  • Option to hide engine's principal variation (useful when playing a real game)
  • Simplified connection with remote UCI/XBoard engine (network version only