Configuration

Configuration files readed by nocheto executables are in INI format in the ~/.nocheto/configs/ directory. This page describes the file format and properties you can change in it.

About config files

First time you run nocheto it makes a copy of /usr/local/etc/nocheto/nocheto.ini.template into ~/.nocheto/configs/nocheto.ini file. This file is readed by nocheto's executables. Some executables can read other ini file by default (for example nochetoclient reads client.ini file after nocheto.ini). You can also use --config filename option to read yet another ini file. These othrer files (re)sets values for the same variables as set in nocheto.ini.

Many values which are set in config file can by changed "on the fly" by nocheto commands. But changes made by this commands are not permanent (are not stored anywhere aftrer nocheto ends). To make the change permanent, you must change value in the ini file.

Description of INI format

INI file is an ordinary text file, which has special format. You can edit it by any of your favourite text editor.

INI file is divided into several sections. Sections start by its name in [square brackets]. On rows below it 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/no and 1 for true/yes.

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

Default nocheto.ini content

Default nocheto.ini file looks like this:

Description of sections, properties and theirs values in configuration files

[nocheto]

Values in this section are related to nocheto executable.

checkforupdate

checkforupdate = 1

Download news from https://nocheto.sallyx.org/.

This might freeze nocheto at start if the page or your internet connection is down. In that case, turn this value to 0.

checkdayinterval

checkdayinterval = 1

How many days shoud be between checks for update.

[nocheng]

Values in this section are related to nochetoengine executable.

logfile2.4.0

logfile = ""

Path to a file where UCI communication will be logged. (See also --logfile option.)

[engine]

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

You can set any uci engine option in this section.2.3.0 For example, if you add Ponder="false", nocheto will send "setoption name Ponder value false" to the engine on start.

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. It is also used in nochetoclient in analyze mode to set the lenght of thinking about one move2.0.0. You can use -1 for infinite time in client.ini file.

You can add ! after the numeric value to force this value to be used by all configured engines2.4.0.

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.)

multipv1.1.0

multipv = 1

Set the count of best lines client in analyze mode shows.

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

[board]

This sections is about chess board in console configuration. You can change colors or what parts of the board will be shown.

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

boardtype

boardtype=utf8

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

autoboard

autoboard = 1

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

If autoboard is set to 0 (usefull for blindfold chess), you can always show board by 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.

colorvariants

colorvariants = 1

Whether to color moves in variants.

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 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.

analyzenotation

analyzenotation = "algebraic"

What notation to use for lines in nochetoclient analyze mode. Possible values are algebraic (i.e. Nf3) or german (i.e. g1f3). Unknown value is interpreted as german.

whiteisofield2.3.0

whiteisofield="."

Character used to fill empty white field in iso boards.

blackisofield2.3.0

blackisofield=""

Character used to fill empty black field in iso boards.

whiteutf8field2.3.0

whiteutf8field="."

Character used to fill empty white field in utf8 boards. If not set, whiteisofield is used.

blackutf8field2.3.0

blackutf8field="."

Character used to fill empty black field in utf8 boards. If not set, blackisofield is used.

stalemateisosign2.4.0

stalemateisosign="#="

String used to mark stalemate in moves tree in iso boards.

stalemateutf8sign2.4.0

String used to mark stalemate in moves tree in utf8 boards.

stalemateisosign
is used.

[console]

Colors used for console pieces, actual move 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).

playsounds1.1.0

playsounds = 1

Enable/disable sounds.

keepontop2.0.0

keepontop = 0

Clear the console before drawing board. That causes that the drawing always starts at the top of the console.

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 starting and landing chess board cells for last move was played.

onmovecolor2.0.0

onmovecolor = 34

Color used for star showing who is no move (Star is in top right or bottom right corner of the board depending on who is on move).

bestmovecolor2.0.0

bestmovecolor = 92

Color used for move evaluated as best.

okmovecolor2.0.0

okmovecolor = "37!"

Color used for move evaluated as ok (not best but not inaccurancy also).

inaccuracymovecolor2.0.0

inaccuracymovecolor = "35"

Color used for move evaluated as inaccuracy.

mistakemovecolor2.0.0

mistakemovecolor = 33

Color used for move evaluated as mistake.

blundermovecolor2.0.0

blundermovecolor = "31!"

Color used for move evaluated as blunder.

bestlinecolor2.0.0

bestlinecolor = "90!"

Color used for best line of moves.

whitefieldcolor2.3.0

whitefieldcolor = ""

Color used for character filling empty white board field.

blackfieldcolor2.3.0

blackfieldcolor = ""

Color used for character filling empty black board field.

[gui]2.0.0

boardtheme2.0.0

boardtheme = "default"

Where to search for board image. Images must be in nepix format and saved in ~/.nocheto/themes/<theme>/board.nepix or /usr/local/share/nocheto/themes/<theme>/board.nepix file.

Alternatively, you can use board.txt file to set board colors.2.3.0

For example, if you create ~/.nocheto/themes/poisonous/board.txt with this content: 10,255,10 0,33,0 255,255,0, then kitty board using poisonous boardtheme will looke like this:

Poisonous board theme

piecestheme2.0.0

piecestheme = "default"

As boardtheme, but for pieces images. If not set, it uses boardtheme value.

boardwhitecolor2.0.0

boardwhitecolor = ""

Color for white square of board. The value must be 3 numers (for red, green and blue value of the color) between 0 and 255 and separated by comma (for example boardwhitecolor = "255,255,255").

You have to set both boardwhitecolor and boardblackcolor, else image from boardtheme is used.

boardblackcolor2.0.0

boardblackcolor = ""

Color for black square of board. The value must be 3 numers (for red, green and blue value of the color) between 0 and 255 and separated by comma (for example boardblackcolor = "0,0,0").

You have to set both boardwhitecolor and boardblackcolor, else image from boardtheme is used.

movecolor2.3.0

movecolor = "155,0,0"

Color used for stroke around last move.

[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 restriction on variable name characters (for example variable can't start with !), so sometime you have to put the variable name inside alias[]. For example, alias[!] = "nag !" means, that you can use ! command to add ! annotation to an actual move.

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

[database]

Under this section is configured primary database used for analyze results.

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.

namespaces1.1.0

namespaces = primary

Namespace(s) used by explorer from which are selected games. You can use * for all existsing namespaces.

[explorer]2.2.0

Under this section is configured database used for games and moves explorer.

You can configure the same options as under [database] section.

if no [explorer] section is configured, games and moves explorers use [database] section.