Configuration

In the ~/.nocheto/configs/ directory you can find configuration files read by nocheto applications. This page describes its format and values you can set by it.

Config files

First time you run nocheto it makes a copy of /etc/nocheto/nocheto.ini.template into ~/.nocheto/configs/nocheto.ini file. This file is read by nocheto applications, but you can usally use --config filename option to read other ini file you create.

Many values in this config file are default values used in nocheto and can by changed "on the fly" by nocheto commands. But changes made by this commands are not stored aftrer nocheto ends, so if you wish make the changes permanent, you must change the ini file.

Description of INI format

INI file is ordinary text file, which has special formats. It is divided into several sections, which starts by its name in [square brackets]. After them you can set values to different variables in format variable = value, where value can be "string in quotes" (or without quotes if there is no white space in value, or number. For boolean values (which can be true or false) 0 is used for false and 1 for true.

Anything after # to the end of line is a comment (is ignored).

Default nocheto.ini file looks like this:

[engine] engine = stockfish level = 0 goseconds = 1 threads = 1 autoplay = 1 [board] boardtype=utf8 autoboard = 1 viewgraph = 0 viewtree = 1 viewtreeheight = -1 viewboard = 1 viewmoves = 0 viewvariants = 0 viewfen = 0 viewopening = 0 viewcoordinates = 1 viewexplorer = 0 viewtablebase = 0 #require internet access to tablebase.lichess.ovh expandtree = 0 actualmove_l = >> actualmove_r = << actualmove_color = 44 [console] speach = 0 whitecolor = 93 blackcolor = 31 boardcolor = 34 movecolor = 33 [aliases] c = O-O cc = O-O-O 0-0 = O-O 0-0-0 = O-O-O ? = "nag ?" ?? = "nag ??" alias[!] = "nag !" alias[!!] = "nag !!" alias[!?] = "nag !?" alias[?!] = "nag ?!" 1 = "r>" 2 = "r>>" 3 = "r>>>" 4 = "r>>>>" 5 = "r>>>>>" [explorer] player = dbname = data/explorer/

Example for blindfold

You might wish to create ~/.nocheto/configs/blind.ini file with this content:

[engine] engine = nocheto goseconds = 1 level = 0 autoplay = 1 [board] boardtype=utf8 autoboard = 0 viewgraph = 0 viewtree = 1 viewboard = 1 viewmoves = 0 viewvariants = 0 viewfen = 0 viewopening = 0 viewcoordinates = 1 viewexplorer = 0 [console] speach = 1

Run nocheto as nocheto -c blind.ini to use this configuration.

Sections and values in nocheto.ini

[engine]

Values in this sections are related to chess engine used for playing in nocheto, evaluating positions in nocheto, nochetodbeval or nochetoclient in analyze mode.

engine

engine = stockfish

This value is the UCI engine used by nocheto applications. You can change this value by command line option --engine. Use nocheng for nochetoengi.

level

level = 0

This value sets the strength of the engine. 0 = weakest, 20 = strongest. Level is used for playing the game. Analyzing moves always runs at level 20.

goseconds

goseconds = 1

The number of seconds engine thing about a move.

threads

threads = 1

Number of threads the engine should use.

Not every engine actually uses this value, but stockfish does.

autoplay

autoplay = 1

Use 1 or 0 to enable / disable autoplay. (Autoplay means that whenever you do a move, nocheto ask engine to do another move.)

[board]

This sections is about configuring chess board in console. You can change colors, or what parts of board you can see.

Keep in mind, that not all variables affects all board types.

boardtype

boardtype=utf8

Could be one of iso, utf8, ascii and compressed.
See nocheto option --board.

autoboard

autoboard = 1

Whether or not to show automatically bard. By "board" it means not only chess board, but also moves tree, graph etc.

If autoboard is set to 0 (usefull for blindfold chess), you can always see board "by hand" using board (b) command.

viewgraph

viewgraph = 0

Show the graph.

viewtree

viewtree = 1

Show moves tree.

viewtreeheight

viewtreeheight = -1

Maximum count of rows tree shoud take. -1 means unlimited.

viewboard

viewboard = 1

Whether to show chess board.

viewmoves

viewmoves = 0

Whether to show all possible moves.

viewvariants

viewvariants = 0

Whether to shows following moves from moves tree.

viewfen

viewfen = 0

Whether to show FEN of current position.

viewopening

viewopening = 0

Whether to show opening name.

viewcoordinates

viewcoordinates = 1

Whether to show coordinates around chess board.

viewexplorer

viewexplorer = 0

Whether to show opening explorer.

viewtablebase

viewtablebase = 0

Whether to show tablebase (require internet access to tablebase.lichess.ovh).

expandtree

expandtree = 0

Whether to expand moves tree.

Expanded vs not expanded tree

actualmove_l

actualmove_l = >>

Characters on the left side of actual move in moves tree.

actualmove_r

actualmove_r = <<

Characters on the right side of actual move in moves tree.

actualmove_color

actualmove_color = 44

Color of actual move in moves tree.

[console]

Colors used for console pieces or chess board could be:

39
Default console color
30
Black
31
Red
32
Green
33
Yellow
34
Blue
35
Magenta/Purple
36
Cyan
37
Light Gray
90
Dark Gray
91
Light Red
92
Light Green
93
Light Yellow
94
Light Blue
95
Light Magenta/Pink
96
Light Cyan
97
White

speach

speach = 0

Enable/disable text to speach. You need to have installed espak application (its part of most linux packages systems).

whitecolor

whitecolor = 93

White pieces color for console boards.

blackcolor

blackcolor = 31

Black pieces color for console board.

boardcolor

boardcolor = 34

Board color of console board.

movecolor

movecolor = 33

Color used to emphasize chess board cells where and from which last move was make.

[aliases]

You can use this section to add new names to nocheto commands. There are some aliases predefined, for example c = O-O means, that you can use c command to castle king side.

There is a limitiation on variable names (for example it can't start with !), so sometime you have to put the variable name inside alias[]. So, alias[!] = "nag !" means, that you can use ! command to add ! annotation to an actual move.

You can even change meaning of an existing command. For example, redo = "r<" changes redo causes the redo command (which is also called by ENTER) to go always in the main line of the moves tree (the default behavior is going through the last alternative line you were in).

[explorer]

player

player = 

Player name (for example your nickname you use to play online).

dbname

dbname = data/explorer/

Directory where to save (sqlite) database data. You need to have writte access to this directory.