summaryrefslogtreecommitdiff
path: root/resources/uci/uci_min.txt
diff options
context:
space:
mode:
authorAargh Rai <aargh.rai+git@gmail.com>2026-07-10 16:01:57 +0530
committerAargh Rai <aargh.rai+git@gmail.com>2026-07-10 16:01:57 +0530
commita14da2fe3864712dab4e7c4cfb5c323026d668de (patch)
tree418c8c8ff44a611cbe1c1269b10926527046e232 /resources/uci/uci_min.txt
parent2761f8a533e2b025f209222a1e4ec70b91c7e8ee (diff)
moving header files to include directory & moving resources in it's own directory
i know currently there is race condition, but the code is getting too messy, i will continue to this after i make a vis tool to analyse how i should split up files & stuff the code rn needs intense restructing for it to make any more progress
Diffstat (limited to 'resources/uci/uci_min.txt')
-rw-r--r--resources/uci/uci_min.txt140
1 files changed, 140 insertions, 0 deletions
diff --git a/resources/uci/uci_min.txt b/resources/uci/uci_min.txt
new file mode 100644
index 0000000..58a85b6
--- /dev/null
+++ b/resources/uci/uci_min.txt
@@ -0,0 +1,140 @@
+GUI to engine:
+* uci
+* debug [ on | off ]
+* isready
+* setoption name <id> [value <x>]
+ Here are some strings for the example below:
+ "setoption name Nullmove value true\n"
+ "setoption name Selectivity value 3\n"
+ "setoption name Style value Risky\n"
+ "setoption name Clear Hash\n"
+ "setoption name NalimovPath value c:\chess\tb\4;c:\chess\tb\5\n"
+
+* register
+ The following tokens are allowed:
+ * later
+ the user doesn't want to register the engine now.
+ * name <x>
+ the engine should be registered with the name <x>
+ * code <y>
+ the engine should be registered with the code <y>
+ Example:
+ "register later"
+ "register name Stefan MK code 4359874324"
+
+* ucinewgame
+* position [fen <fenstring> | startpos ] moves <move1> .... <movei>
+* go
+ * searchmoves <move1> .... <movei>
+ Example: After "position startpos" and "go infinite searchmoves e2e4 d2d4"
+ the engine should only search the two moves e2e4 and d2d4 in the initial position.
+ * ponder
+ * wtime <x>
+ * btime <x>
+ * winc <x>
+ * binc <x>
+ * movestogo <x>
+ * depth <x>
+ * nodes <x>
+ * mate <x>
+ * movetime <x>
+ * infinite
+* stop
+* ponderhit
+* quit
+
+
+Engine to GUI:
+* id
+ * name <x>
+ e.g. "id name Shredder X.Y\n"
+ * author <x>
+ e.g. "id author Stefan MK\n"
+* uciok
+* readyok
+* bestmove <move1> [ ponder <move2> ]
+* copyprotection
+* registration
+* info
+ e.g. "info currmove e2e4 currmovenumber 1" or
+ "info depth 12 nodes 123456 nps 100000".
+ e.g. "info depth 2 score cp 214 time 1242 nodes 2124 nps 34928 pv e2e4 e7e5 g1f3"
+ Additional info:
+ * depth <x>
+ * seldepth <x>
+ * time <x>
+ * nodes <x>
+ * pv <move1> ... <movei>
+ * multipv <num>
+ * score
+ * cp <x>
+ * mate <y>
+ * lowerbound
+ * upperbound
+ * currmove <move>
+ * currmovenumber <x>
+ * hashfull <x>
+ * nps <x>
+ * tbhits <x>
+ * sbhits <x>
+ * cpuload <x>
+ * string <str>
+ * refutation <move1> <move2> ... <movei>
+ Example: after move d1h5 is searched, the engine can send
+ "info refutation d1h5 g6h5"
+ if g6h5 is the best answer after d1h5 or if g6h5 refutes the move d1h5.
+ if there is no refutation for d1h5 found, the engine should just send
+ "info refutation d1h5"
+ * currline <cpunr> <move1> ... <movei>
+
+
+* option
+ * name <id>
+ * <id> = Hash, type is spin
+ * <id> = NalimovPath, type string
+ * <id> = NalimovCache, type spin
+ * <id> = Ponder, type check
+ * <id> = OwnBook, type check
+ * <id> = MultiPV, type spin
+ * <id> = UCI_ShowCurrLine, type check, should be false by default,
+ * <id> = UCI_ShowRefutations, type check, should be false by default,
+ * <id> = UCI_LimitStrength, type check, should be false by default,
+ * <id> = UCI_Elo, type spin
+ * <id> = UCI_AnalyseMode, type check
+ * <id> = UCI_Opponent, type string
+ Examples:
+ "setoption name UCI_Opponent value GM 2800 human Gary Kasparov"
+ "setoption name UCI_Opponent value none none computer Shredder"
+ * <id> = UCI_EngineAbout, type string
+ Example:
+ "option name UCI_EngineAbout type string default Shredder by Stefan Meyer-Kahlen, see www.shredderchess.com"
+ * <id> = UCI_ShredderbasesPath, type string
+ * <id> = UCI_SetPositionValue, type string
+
+ * type <t>
+ * check
+ a checkbox that can either be true or false
+ * spin
+ a spin wheel that can be an integer in a certain range
+ * combo
+ a combo box that can have different predefined strings as a value
+ * button
+ a button that can be pressed to send a command to the engine
+ * string
+ a text field that has a string as a value,
+ an empty string has the value "<empty>"
+ * default <x>
+ the default value of this parameter is x
+ * min <x>
+ the minimum value of this parameter is x
+ * max <x>
+ the maximum value of this parameter is x
+ * var <x>
+ a predefined value of this parameter is x
+ Examples:
+ Here are 5 strings for each of the 5 possible types of options
+ "option name Nullmove type check default true\n"
+ "option name Selectivity type spin default 2 min 0 max 4\n"
+ "option name Style type combo default Normal var Solid var Normal var Risky\n"
+ "option name NalimovPath type string default c:\\n"
+ "option name Clear Hash type button\n"