KKFChess reads it's setup parameters from a configuration file (KKFChess.cfg) when the program begins. The settings in this file will take precedence over the default ones.
The configurations file must be located in the same directory as the program. KKFChess does not use Window's registry (a kind of key ring that lets you lose all your keys at once!).
The simplest way to change KKFChess' initial settings are by the use of the
GUI based configuration editor ("KKFChessConfig.exe"). It is
written in Visual Basic .NET and requires the .NET framework preinstalled.
Please use your favourite web search engine to locate the latest version.
Each line in the file controls the setting of a configurable item; unless the line begins with an '*' which denotes a comment. The general syntax for a line is:
[*] <Item name> <space> "=" <space> <values>
The spaces before the equal sign is required to separate the item and its value(s).
There is no order for the sequencing of items but the last values will be used for a duplicated item.
Configuration items and its values are not case sensitive.
Configurable Items are separated into these groups:
| "Knight" | "Bishop" | "Rook" | "Queen" | <N> <Z> <L> | Sets the piece value(s) in units of a pawn (1.00). <N> is for normal and wild games, <Z> is for crazyhouse and <L> is for losers chess. |
| MinBookSc | <N> | Sets the rejection score of an opening book move. <N> is usually less than 0.00. |
| RandFirst | "Yes" | "No" | "On" | "Off" | Allow/disallow the first move to be random when no book move is found. |
| BookBase | <dir> | Sets the base directory for opening books. |
| BookFile | <file> | Sets the book file to be used. |
| BookDetail | "High" | "Low" | Sets the details to be included when displaying a book line. |
| BookMinMoves | <N> | Sets the minimum number of moves that a game should have before it is included for opening book generation. |
| BookMinGames | <N> | Sets the minimum number of games that a position should appear in before considering the move that leads to this position as a book move. |
| Book | "On" | "Off" | "Yes" | "No" | Enables or disables the use of the opening book. |
| BookLimit | <N> | Sets the maximum number of moves to include for a game when generating an opening book. |
| UseWinRatio | "Yes" | "No" | "On" | "Off" | Enables or disables the use of won game ratio (instead of popularity) when choosing a book move. |
| Reload | "Yes" | "No" | "On" | "Off" | Enables or disables the reloading of the opening book for every new game. Note that the opening book will be reloaded if a new game type is requested. |
| EGTBBase | <dirs> | Sets the directories of the Nalimov EGTBs. Directories must be separated by semicolons. |
| KKFEGTBBase | <dir> | Sets the base directory of KKFChess format EGTBs. |
| EGTB | "On" | "Off" | "Yes" | "No" | Enables or disables the use of EGTBs or shows the current setting. |
| Nalimov | "Yes" | "No" | "On" | "Off" | Selects Nalimov or KKFChess formatted EGTBs for regular chess. |
| NalimovCache | <N> | Sets the cache size for Nalimov based EGTBs. <N> is in MBs. |
| UseTempFile | "Yes" | "No" | "On" | "Off" | Force the use of temporary files when generating EGTBs instead of working in memory. 5-man EGTBs will always use temporary files. The temporary file is cached in 32MB blocks. EGTB generation with temporary files are slower than working in memory. |
| EGTBCacheSize | <N> ["KB" | "MB"] | Sets the file cache size when generating EGTBs using temporary files. |
| CacheEGTBFiles | "Yes" | "No" | "On" | "Off" | Enables or disabled the caching of recently used EGTB files
during EGTB generation. This option can use a lot of memory.
Maximum amount of memory used for caching is 64MB, typical is 32MB. Enabling this option will speed up EGTB generation if you have the memory. Both compressed and uncompressed EGTB files are cacheable. It can also speed up EGTB probes on compressed files. |
| LearnBase | <dir> | Sets the base directory for the learning files. |
| Learning | "Yes" | "No" | "On" | "Off" | Enables or disables learning. |
| LearnDiff | <N> | Sets the score differences before a move will be learned. |
| LearnHashSize | <N> ["KB" | "MB"] | Sets the total memory to be used for the learning hash table. |
| Verbose | "On" | "Off" | "Yes" | "No" | Enables or disables verbose mode. |
| Logging | "On" | "Off" | "Yes" | "No" | Enables or disables logging. |
| Notation | "SAN" | "XBoard" | "Short" | "Long" | Selects the moves' displaying notation type. |
| Time | <cs> | Sets the think time. <cs> is in centiseconds. |
| Depth | <N> | Sets the maximum search depth. |
| Bell | "On" | "Off" | "Yes" | "No" | Enables or disables the beep after the engine has made a move in console mode. |
| Hilite | "On" | "Off" | "Yes" | "No" | Enables or disables the use of colour highlighting when in console mode. |
| EPDMatches | <N> | Sets the number of consecutive best move matches that is required before an EPD position is considered solved. |
| CheckCastling | "On" | "Off" | "Yes" | "No" | Enables or disables the checking of castling rights when reading a FEN position. |
| PosHashSize | <N> ["MB" | "KB"] | Sets the total memory to be used for the positional hash tables. |
| PawnHashSize | <N> ["MB" | "KB"] | Sets the total memory to be used for the pawn structure hash table. |
| ABWindow | <N> | Sets the alpha-beta search window to ± <N>. |
| BookUse% | <N> | Sets the probability of selecting an move from the opening book. |
| IntIterate | "On" | "Off" | "Yes" | "No" | Enables or disables internal iterative deepening during search. Only works for normal chess. |
| Razoring | "On" | "Off" | "Yes" | "No" | Enables or disables razoring/futility pruning during search. Only works for normal chess. |
| ProbeBook | "On" | "Off" | "Yes" | "No" | Enables or disables opening book probing during search. If enabled, marked book moves ("!" or "?" postfixed moves) can cause the search to consider these moves to have extreme values of +100.00 and -100.00 respectively without searching deeper down the tree. |
Search extensions only affect normal chess games.
| MateThreatExt | <N> | Sets the search extension when a mate threat is detected. <N> equals to 1.00 means extend one ply. <N> can be fractional. |
| PromoteExt | <N> | Sets the search extension when a pawn is promoted. |
| PawnPushExt | <N> | Sets the search extension when a passed pawn is pushed and is close to promotion. |
| RecaptureExt | <N> | Sets the search extension when a recapturing move is detected. |
| ForcedExt | <N> | Sets the search extension when a forced move is detected. |
| NonPVExt | <N> | Sets the search extension (retraction actually) when searching a non-PV line. This value should be negative. |
| SacrificeExt | <N> | Sets the search extension when sacrificing a piece next to the enemy king. |
| ExtLimit | <N> | Sets the maximum search extension allowed. |
| BlankChar | <L> <D> | Sets the characters to be used for the light <L> and dark <D> blank square. |
| "PawnChar" | "KnightChar" | "BishopChar" | "RookChar" | "QueenChar" | "KingChar" | <WL> <WD> <BL> <BD> | Sets the characters be used for display the pieces. <WL> => white piece on light square, <WD> => white piece on dark square, etc. |
| CanResign | "Yes" | "No" | "On" | "Off" | Enables or disables the engine's ability to resign a regular chess game. |
| CanOfferDraw | "Yes" | "No" | "On" | "Off" | Enables or disables the engine's ability to offer draws. |
| NoDraws | "Yes" | "No" | "On" | "Off" | Enables or disables the engine's preference on draw positions. |
| AutoSave | "On" | "Off" | "Yes" | "No" | Enables or disables the automatic saving of played games. |
| SaveScores | "On" | "Off" | "Yes" | "No" | Enables or disables the recording of move scores when a game is saved. |
| SaveBase | <dir> | Sets the base directory where saved games go. |
| ICS_A | <ICS command> | Sets the 1st ICS command (usually a 'seek') to be sent to the ICS after the end of a game. |
| ICS_B | <ICS command> | Sets the 2nd ICS command. |
| ICS_C | <ICS command> | Sets the 3rd ICS command. |
| ICS_D | <ICS command> | Sets the 4th ICS command. |
| Adaptive | "Yes" | "No" | "On" | "Off" | Enables or disables the adaptive play mode. |
| AnnounceECO | "Yes" | "No" | "On" | "Off" | Enables or disables the announcement of ECO codes when playing a game. |
| AutoMarkMoves | "Yes" | "No" | "On" | "Off" | Enables or disables the marking (postfixing) mating moves with an "!" when the game is saved. |
| FlushLog | "Yes" | "No" | "On" | "Off" | Enables or disables the automatic flushing of the log file after every log line. |
| CompIndexing | "Yes" | "No" | "On" | "Off" | Enables or disables the creation / use of an indexing block for compressed files. |
| CompBlkSize | <N> | Sets the blocking size for compressing files. |