Nocheto Help (3.X.X)

This is the list of all nocheto commands. See also commands for setup mode.
Commands tagged with [s] are stoppable commands. They can be stopped by stop command.

To show help for commands in nocheto, use help command.

Help groups

File Commands: (file)

new [<level>]
start new game at level <level> (0-20)
new960 [<id>]1.1.0
start new Chess960 game with a random position or position given by <id> (0-959)
fen <fen>
start new game with <fen> position
fen960 <fen>1.1.0
start new Chess960 game with <fen> position
read game(s) given in PGN
open <file> [<file> ...3.0.0]
open PGN file(s)
mergelist <file, ...>2.4.0
create new list of games from all games in all given PGN files
mergelist+ <file, ...>2.4.0
as mergelist, but add games to existing list
merge <file, ...>2.4.0
create new game as combination of all lines of all games from all given PGN files
merge+ <file, ...>2.4.0
as merge, but add lines to existing game
show games' sheets
sheet [<id>]3.0.0
show current games' sheet or set <id> as current one
set next games' sheet as current one
set previous games' sheet as current one
list [[<limit>] <from>]
show list of games from current games' sheet
game <id>3.0.0
open game with ID <id> from current games' sheet
close [<id>]3.0.0
close games' sheet of given <id> or current one
close all games' sheets
printpgn [<file>], pp
print PGN from current game to console or to <file>
printpgn! [<file>], pp!
the same as printpgn, but rewrite <file> if exists
save [<file>]
save PGN to opened file (if any) or <file>
save! [<file>]1.1.1
the same as save, but rewrite <file> if exists
quit nocheto

Edit Commands: (edit)

[move] [<x>]
do move <x> (i.e. d7d5 or e7e8q or e8Q etc.), or go to next move if any
moves [<moves> [*]]2.1.0
add moves at current position
Must be in the same format as PGN file,
for example:
`moves 1.e4 (1.c4 c5) e5 2. Nf3 *`

If the moves are written as argument (on the same line like `moves`),
`*` is not required.

If the moves are not added as argument,
they need to be ended by `*`.
cut everything before current move
delete current move (with the rest of line)
move current branch of moves up
nag [<nag>]
add annotation glyphs (i.e. !, !?, +/- etc.) to a current move. If no nag is set, all nags from current move are removed
setnag [<nag>]2.2.0
replace annotation glyphs (i.e. !, !?, +/- etc.) If no nag is set, all nags from current move are removed
comment, cmt [<cmt>]
add comment after current move
bcomment, bcmt [<cmt>]
add comment before current move
tag <name> [<value>]
set tag <name> to <value>. If no value, erase tag
(<tagname> is case sensitive!)
list PGN tags

Puzzle Commands: (puzzle)

Navigate Commands: (navigate)

undo [<n>], u
undo halfmove n-times (default 1)
undo all moves
undo before first variants
undo to the beginning of current branch
undo back to the main line
redo [<n>], r
redo halfmove n-times (default 1)
redo halfmove, stay on the current branch
redo halfmove, go on first [second, ...] variation
replay [<s>], rr
[s] redo all moves, wait <s> second a move
(default 1)
goto <move>, g
go to <move>, where move is move number

Properties Commands: (properties)

level [<level>]
set or show engine level
seconds [<seconds>], s
set or show seconds engine can think
setoption <engine> option [value]2.3.0
set value of option for <engine> <engine> = engine name <engine> = * for all but main engine <engine> = - for main engine
setclock <timecontrol>3.0.0
set timecontrol for a new game
You can use as an argument timecontrol string or
a name of a configured timecontrol.

Configured timecontrols are timecontrols defined in configuration file
in [timecontrols] section.

Run `timecontrols` command to see configured timecontrols.

See Timecontrols
autoplay, ap
switch "automatic computer move" (default true)
autoboard, abo
switch "show board after move" (default true)
enable/disable sounds
namespaces <name(s)>1.1.0
set namespace names for game explorer you can use * for 'all namespaces' the default namespace is 'primary'

View Commands: (view)

board, b [<boardtype>2.0.0]
change board to <boardtype> and refresh board
(Refresh draws only enabled board components. See view* commands below to enable/disable them)
list available board types
See Board types
enable/disable clearing console before drawing
boardtheme <theme>
set the theme for graphics board (in kitty board)
piecestheme <theme>
set the theme for graphics pieces (in kitty board)
boardwhitecolor <r,g,b>
set red, green and blue color components for white field on graphics board
(i.e. boardwhitecolor 255,255,255)
(both boardwhitecolor and boardblackcolor must be set to take effect)
boardblackcolor <r,g,b>
set red, green and blue color components for black field on graphics board
(i.e. boardwhitecolor 0,0,0)
(both boardwhitecolor and boardblackcolor must be set to take effect)
movecolor <r,g,b>2.3.0
set red, green and blue color components for stroke around last move on graphics board
clear boardwhitecolor and boardblackcolor the boardtheme takes effect then
see also `help! listthemes`
flipboard, fb [w|b]
flip board
expandtree, et
switch expandtree (default false)
expandtabletree, ett3.0.0
switch expandtabletree (default false)
viewboard, vb
"show board" shows board (default true)
viewcoordinates, vc
"show board" shows coordinates (default true)
viewcpmeter, vcp
"show board" shows cpmeter (default true)
viewevaluation, veval2.3.0
show/hide evaluation in cpmeter, moves tree and variants.
show/hide evaluation for white moves in moves tree
show/hide evaluation for black moves in moves tree
viewgraph, vg
"show board" shows result graph
viewtree, vt
"show board" shows moves tree
viewtabletree, vtt3.0.0
"show board" shows moves table tree
viewtreeheight [<n>]2.5.0
Set or show max height of moves tree
(0 for unlimited)
viewtabletreeheight [<n>]3.0.0
Set or show max height of moves table tree
(-1 for unlimited, 0 for board height)
viewcomments [window|tree|all]3.0.0
enable/disable comments in a board window and/or in a moves tree
viewmoves, vm
"show board" shows possible moves
viewvariants, vv
"show board" shows next moves from tree
viewopening, vo
"show board" shows opening name
viewexplorer, ve
"show board" shows moves from database explorer
viewexplorerheight [<n>]2.5.0
set max height to moves explorer
(0 for unlimited)
viewgamesexplorer, vge
"show board" shows games from database explorer
vge+ <n>3.0.0
show next games in database explorer
(move <n> pages forward)
vge- <n>3.0.0
show previeous games in database explorer
(move <n> pages backward)
vgemode {asc|desc|both}3.0.0
set ascending, descending or both explorer mode
set dimension for database explorer view
vgemode <mode> - set ordering mode
<mode> can by asc, desc or both
vge+ [<p>] - list to next page
<p> is how many pages to list (default 1)
vge- [<p>] - list to previous page
<p> is how many pages to list (default 1)
vgedimension <c> <r> - set numer of colums <c> and rows <r>
<c> can be 1 or 2, <r> can be 0 for auto. size

See config
viewtablebase, vtb
"show board" shows tablebase
(works for <= 7 pieces on board - included kings)
(require internet access to
viewfen, vf
"show board" shows FEN (default false)

Analyze Commands: (analyze)

play, p
[s2.4.0] ask computer to move
play to end
[s] ask computer to play the rest of the game
play <eng> vs <eng>2.0.0
[s2.4.0] play two engines with each other First engine plays as white.
play vs <eng>2.0.0
[s2.4.0] set <eng> as engine for play command
(Note: new/new960 commands reset engines to the default one.)
loadresults, lr
load results from explorer into current game
hint [<seconds>]
[s2.4.0] hint a move for current position
analyze[!], a[!]
analyze current move If !, save result to explorer (takes 2x more time)
analyze+[!], a+[!]
[s] analyze all moves from current move forward If !, save result to explorer (takes 2x more time)

Tools Commands: (tools)

open setup board mode
See Setup mode
puzzle [<filename>]
enable puzzle mode (for games from <filename>)
explore [id ...2.2.0]
create games' sheet from explorer, for current position or for given id(s)
(enable viewgamesexplorer to see game id(s))
explore+ [id ...]
as explore, but games are added to a current sheet
search games in explorer database
search games in explorer database for current position You can use any of these criterias: [b|w]p="Euwe" (black/white/any player) vs="Capablanca" (opponent to player) {>|<|=}50 (number of moves) 1922(-1938) (year or year interval) 1-0|0-1|1/2 (result of a game) win|lose|draw3.0.0 (result of a player)
The search command is looking for up to 1000 games matching given criteria:

A) [b|w]p="PlayerName" will search games played by given player.

`wp="Euwe"` will search games player by Euwe by white pieces.
`bplayer="Euwe"` will search games player by Euwe by black pieces.

Instead ow wp=".." or bp=".." you can use white=".." or black=".."

B) vs="PlayerName" will search games where player opponent was `PlayerName`

`black="Euwe" vs="Capablanca"` search games where black player is Euwe and
his opponent (white player) is Capablanca.

`p="Euwe" vs="Capablanca"` search games where black or white player
is Euwe and his opponent is Capablanca.

C) {>|<|=}50 will search games of a given count of halfmoves.

`>50` search games with more than 50 moves
`<50` search games with less than 50 moves
`50` search games with 50 halfmoves

D) 1922(-1938) will search games played in given year (or year interval)

`1922` search games player in 1922
`1922-1938` search games played between 1922 nad 1938

E) 1-0|0-1|1/2 will search games with given result

`1-0` search games won by white
`0-1` search games won by black
`1/2` search draw games

F) win|lose|draw will search games won, lost or draw by player

`p="Euwe" win` search games played and won by Euwe
`wp="Euwe" lose` search games played and lost by Euwe as black
ipv4 [<port> [<address>]]
[s2.4.0] start server on <address>:<port>
ipv4 <address>:<port> [dummy]3.0.0
[s] start server on <address>:<port> if dummy is used, client cannot send commands.
<address> is IPv4 address, like
This is the address where client(s) are going to connect.

If you use as <address>, only clients running on the same computer
as nocheto will be able to connect to it.

If you use as <address>, clients can connect through any of your
computer's network card (if used <port> is not blocked by any firewall).

You can also use IP address for a specific card to allow connection only
through that card. On Linux, you can get IP adresses of your computer's
network cards by `ip -4 address` command.

<port> is a number between 1023 and 65535. It is used by client to connect to
the server. It must be unique on your computer (no other application can use
the same port at the same time).

If you want to connect to a given port from a different computer than
nocheto is running on, that port must not be blocked by any firewall.

WARNING: If you use any othrer than IP address and <port> is not
blocked by a firewall, anyone from the internet who runs nochetoclinet with
your IP address and correct <port> before you can connect to your nocheto
server and see your open game(s)!
list running ipv4 servers and connected clients
http [<port>] [<address>]2.4.0
start HTTP server on <address>:<port>
http <address>:<port>3.0.0
start HTTP server on <address>:<port>
http stop2.6.0
stop all HTTP servers
http command starts HTTP server on given IP <address> and <port>.
See `http! ipv4` command for more information about <address> and <port>.

WARNING: If you use any othrer than IP address and <port> is not
blocked by a firewall, anyone from the internet could connect to the HTTP
server and see all data managed by nocheto!

Configuration section for HTTP server:

port = 8080
address = ""
whitelist = "new;move;flipboard;uu;redo;r;r<;r<<;r>;goto;cut;delete;branchup;loadresults;lr;hint;analyze;nag;setnag;comment;bcomment;level;seconds;autoplay;setoption;board;b;undo;u;moves;play;p;switchsounds;fen;tag;quit;stop;speach;echo"

See Nocheto HTTP API
list all running HTTP servers
synchronize all clients
sync ipv4:<addr>:<port>3.0.0
synchronize given ipv4 client
sync http:<addr>:<port>3.0.0
synchronize given http stream
<addr> is IP address, like and <port> is a port number.
You can use * instead of <addr> and/or <port> to tareget all
Use listipv4 and listhttp commands to see clients addresses and ports.

Help Commands: (help)

list all configured engines
help, h
show help
`help` command lists groups of commands.

`help <group-key>`
After every group name there is a group-key you can use as argument with help
command to show help for commands in that group only. For example:

help help

- shows help for commands from the `Help Commands` group only.

`help!` command shows help for all commands at once.

`help! <key>` command shows (more detailed) help for the commands under
the given <key>.

`help!! [<group-key>]` command list commands with keys you can use with
`help! <key>` command.
It lists only commands which have an extra help text.

`help <group-key> <command>` works as `help! <command>` (as long as the
<command> is in the <group>).
list configured timecontrols
list aliases
list stoppable commands
info, i
show info
show table of supported annotations
listthemes [board|pieces]
list themes you can use for boardtheme and piecestheme commands
check if your version of nocheto is up to date
news [id]
show last (or <id>) news if any
(internet access required)
listnews [offset]
show last news' titles with date and id
Show licence / owner details

Extra Commands: (extra)

stops stoppable command if any is running
pause clients in analyze mode
unpause clients in analyze mode
switch text to speach
echo <text>
print the <text> (and read it if speach is on)
list namespaces
addnamespace <name> [<description>]1.1.0
add namespace for game explorer
(used by nochetodbload) name can consists from english lowercase letters and numbers only
(default namespace is 'primary')
dropnamespace <name>1.1.0
drop namespace it only works if no game is stored with a given namespace