JSoko is a Java program for playing the Sokoban game. It features path finding, auto push, auto solving, undo/redo, deadlock detection, and more. Sokoban is a classic puzzle game invented in Japan. The original game of SOKOBAN was written by Hiroyuki Imabayashi. Today Sokoban is one of the most popular thought and logic games. The name comes from Japan and means "warehouse keeper". As simple as that name is, so is the idea of this game: A level represents a store room, where boxes appear to be randomly placed. You help the warehouse keeper to push the boxes around the maze of the room so that, in the end, all boxes are on marked fields. The only restrictions are that the warehouse keeper can only push a box, never pull, and that just one box may be pushed at a time.

System requirements
  • Minimum JRE version is 1.6
  • Enough memory

JSoko on an eComStation machine with Open JDK

Installing JSoko
Download the file JSoko_1.74_no_installer.zip. Create a folder(directory) "jsoko" or something similar which fits your needs. Unzip the zip file to the new created folder(directory). You can delete the files "Start_JSoko_Linux.sh" and "Start_JSoko_Windows.bat", they are for other OS systems. On my system sound is present with mouse, but absent with keys. Also the connection with internet is not found and will give an error in the "jsokobugs.txt" file. That's all! Version JSoko_1.75_no_installer.zip needs a higher version of Java.

The used jsoko.cmd file
JSoko works with Open JDK in OS/2-eCS. I have made a "jsoko.cmd" file with the following contents;
@echo off
set BEGINLIBPATH=[drive: java]\JAVA160ga5\bin
set path=[drive: java]\JAVA160ga5\bin
[drive: jsoko]
cd [drive: jsoko]\jsoko
java -Duser.home=[drive: jsoko]\jsoko -Xmx768m -jar jsoko.jar 2>jsokobugs.txt
I use 2 separate folders (directories), one for Java and one for JSoko with the files created by this program. The references used in the cmd file;

  • [drive: java] = drive with Java
  • [drive: jsoko] = drive with JSoko

should be replaced by real drive letters. Adjust the file from the distribution below, ie. different drive and directories. Save "jsoko.cmd" and copy it to the "jsoko" folder (directory).

Create a new program object. Specify the path and file name: "[drive: jsoko]\jsoko\jsoko.cmd". In the tabpage Session check the boxes "OS/2 window", "Running as an icon" and "Close Window to end program". In the tabpage General you can enter the name "JSoko". The download also has an OS/2 icon.

JSoko on an eComStation machine with Open JDK
There are more than enough levels! It goes from simple to very difficult and from small warehouses to very big warehouses if you play with this kind of skin.

Parameters / options explained
  • The specification "-Duser.home=[drive: jsoko]\jsoko" will ensure that JSoko will save all necessary files in own directory instead of saving them in the home directory.
  • The specification "-Xmx768m" indicates the maximum limit of the used memory. The file "Start_JSoko_Linux.sh" specifies even a higher value, in the online manual its much less. If the program is short in free memory it will complain.
  • The addition "2>jsokobugs.txt" ensures that errors are saved in the file "jsokobugs.txt". The 2 in "2>" is not a typo!

In the file you can find the above command file (all drive letters are on set to C:) and an OS/2 JSoko icon: jsoko-ecs.zip.

revision December 18, 2016