Friday, February 25, 2011

Chess for Android as Client of a Chess Server

User PJ+ at the OpenChess forum implemented a nifty client utility that converts Chess for Android to a client for a remote chess server. To make this work (assuming you already have a remote chess server running at some hostname and port), simply do the following steps.
  1. Download the version of Chess for Android that grants network permission to its UCI clients (the default version at the market does not do this for obvious security reasons).
  2. Download PJ+'s client-android-cli utility.
  3. Construct a file, for example uci_client, that contains the single line ./client-android-cli <hostname> <port> for the hostname and port of the remote chess server.
  4. Copy 2. and 3. to SD card, then install these from SD just like the first-time install of UCI engines.
  5. Finally, the single line file uci_client can now be imported as any other UCI engine, and will connect to the remote chess server.
I tried this method myself connecting Chess for Android as client to a remote chess server with a 64-bit BikJump engine on a Linux desktop, and this yielded over 1,000KNs. PJ+ used his utility to connect to a remote chess server with Houdini, yielding over 25,000KNs. Pretty neat to run a 25 million nodes per second search on a phone, right? Thanks PJ+!