LetsLogic API

LetsLogic.com is a website dedicated to the Sokoban game.


You compete with fellow members with points being awarded when completing a puzzle. 

There are two leader boards, one based on least moves and one based on least pushes.


JSoko supports the API of LetsLogic.

You can send solutions directly from JSoko to LetsLogic.com


You can enable the LetsLogic functionality in the settings: Settings->LetsLogic

or by pressing the character "N" when the main GUI of JSoko has the keyboard focus.

This is the LetsLogic panel:

Set LetsLogic API key

For taking part in the the LetsLogic competition for best solutions it's first necessary to register a user at that website.
You have to visit the LetsLogic website and click "Register" in the top right area of that site.


After the registration is finished you can login and go to the preferences page.


There you find the LetsLogic API key which you have to set in JSoko using the "Set LetsLogic API key" button.

The API key is NOT your password on LetsLogic.com but a specific key only used for sending new solutions to LetsLogic.com

Submitting solutions

There are three buttons for sending new solutions to LetsLogic:


Current level: press this button to send in the best solutions of the currently loaded level.


All levels of current collection: press this button to send in the best solutions of all levels of the currently loaded collection.


Best solutions of all collections: press this button to send in the best solutions of all levels of several level collections. This opens a file chooser to select the files to be uploaded. 
You can mark one file, several files or even all files for uploading.



JSoko will show the result messages provided by LetsLogic.com in the text area.

This will include error messages in case of a failure.



LetsLogic identifies the levels by a unique ID. All levels downloaded from LetsLogic have such an ID. 

Solutions for levels without such an ID can't be send to LetsLogic.


LetsLogic can only handle one transmission at a time.
Therefore uploading many solutions takes some time.

You can however continue playing a level in JSoko while the solutions are uploaded.

If you try to send another solution while the process of sending is in process the current sending process is interrupted and the new solution is submitted instead.


JSoko saves the values for all uploaded solutions. 

This way uploading new solutions even for many level collections is quite fast since only better solutions need to be uploaded.