Questions tagged [uci]

Universal Chess Interface (UCI) is the interface protocol used by most of the major chess engines.

Filter by
Sorted by
Tagged with
14
votes
3answers
3k views

How can I know the Elo rating of my chess engine?

I built an uci compatible chess engine, and I would like to know its Elo rating. What is the easiest way to get it? I would like something that works both on Linux and Windows.
9
votes
1answer
3k views

Returning scores for all possible moves from a chess engine

I am looking for a way to return scores for all possible moves from a chess engine (preferably, Stockfish). The UCI protocol does not seem to require it, but is seems like a useful feature to include....
9
votes
2answers
6k views

What are good UCI-compatible GUIs for Mac?

Is anyone running a UCI-compatible GUI on a Mac? Preferably something native and modern, so WINE and Rosetta (etc) are not needed. My goal is to simply set up chess positions and let Stockfish ...
9
votes
1answer
4k views

How do I use the analysis output of a UCI engine?

I'm trying to analyze some of my games with the Stockfish UCI engine. I'd like to make sure I'm interpreting the output correctly. Using this screenshot as an example. Can someone explain to me all ...
8
votes
4answers
2k views

How to connect a UCI chess engine play on FICS?

I see that there are several chess bots playing on FICS. I would like to have my own chess engine running on FICS (guest mode is ok), but so far I haven't found any bot source code. I tried eboard and ...
6
votes
1answer
9k views

Working with UCI protocol (coding)

I'm currently writing small application for a chess interested friend. The application is supposed to automatically annotate his chess games. When giving the engine a position to analyze, and a depth (...
6
votes
1answer
1k views

Why does Stockfish give a negative score in a theoretical win for white?

8/3k4/8/3K4/3P4/8/8/8 b - - 0 1 (Black to move) This is a theoretical win since White has the opposition and the king is in front of the pawn. I have downloaded the Windows version for Stockfish 9 ...
6
votes
3answers
2k views

Piping Stockfish input

I'm trying to write a Linux command line UCI interface for Stockfish. My program writes a bunch of commands to a text file and then tries to pipe them to Stockfish via the command line. My problem is, ...
6
votes
2answers
6k views

How to get position evaluation with UCI?

I am trying to get score about current position directly with UCI (I am using latest stockfish). After reading the protocol I see that these commands ask engine to analyse the position: uci ...
6
votes
1answer
3k views

UCI engine command white giving the same move

I need help from someone who knows about UCI engines. I am giving the command by double clicking on stockfishengine.exe and manually entering commands. I wanted to play white and I am running arena to ...
5
votes
2answers
4k views

I'm confused by UCI Pondering and Time Control

I'm trying to talk to a UCI engine (right now Stockfish, but more generally to all UCI engines) to write my own computer-vs-computer program (I could use Fritz, but I really want to learn more about ...
5
votes
1answer
414 views

how does a uci engine draw or resign?

I am writing a UCI chess AI/engine. It has the ability to draw and resign. How do I communicate this to the uci chess interface? what string shoud i send back to the GUI?
5
votes
2answers
649 views

How do UCI chess engines handle the 50-move or threefold repetition rules when playing against other engines?

I'm working on an engine that implements the UCI protocol that is intended to play against other engines. Since the UCI protocol has no commands for offering or accepting draws, how does this work ...
5
votes
1answer
134 views

Obtain information about a a position from Stockfish

I want to know from Stockfish: All possible moves in a position, a.k.a. a depth 1 analysis with no score. If the king is in check, is checkmated, or if there is a draw. The current FEN string, after ...
5
votes
2answers
3k views

Why does Stockfish give “score mate -7” for this position?

I'm running Stockfish with MultiPV=7: script: setoption name MultiPV value 7 script: ucinewgame script: position startpos moves d2d4 g8f6 c2c4 g7g6 b1c3 d7d5 c1f4 f8g7 f4e5 d5c4 e2e3 b8c6 d1a4 e8g8 ...
4
votes
4answers
4k views

Reading PGN files using thr Stockfish engine

Is there a way to read a PGN file using the Stockfish engine? If so, please give a sample command.
4
votes
5answers
1k views

Reasonable engines to test against (Not StockFish)

I've built a chess engine in Python which I've been testing against StockFish through the use of the Python-Chess package. Testing against StockFish seems/is problematic, and as a result I'm ...
4
votes
1answer
774 views

Python script to let stockfish selfplay 10 games from a given position

I would like to have Stockfish to selfplay 10 games starting from a given position. Game should end after 10 moves. From the python-chess documentation there is an example of playing only one such ...
4
votes
2answers
1k views

Python and UCI engine

I'm working with Stockfish in Python 3. And when I do something like this: I get just "bestmove e2e4". How can I retrieve full information? Like this:
4
votes
2answers
1k views

Syzygy tablebases in xboard

I'm trying to set up the five-men syzygy tablebases for use in xboard 4.8. Stockfish 6 and Komodo 9 are both supposed to support Syzygy, but in Xboard, their SyzygyPath option is missing from the UCI ...
4
votes
1answer
223 views

How does “go mate <x>” work in UCI

In the UCI documentation, it says mate x search for a mate in x moves However, I believe this should say "search for mate in x plies", as plies are used in most of the protocol. I can ...
4
votes
1answer
133 views

What is the idea of 'ponder' in the UCI protocol?

I've created my own chess engine and now I'm trying to connect it into the Chess Arena. Everything is actually working fine when I play them together (Demo). But I tried to play with it and didn't ...
4
votes
1answer
571 views

How to use ending evaluation in UCI interaction with Stockfish

Playing around with the Stockfish 8 UCI from the terminal, I've managed to make it compute moves, and set the position and load Syzygy tables. But how I can know if an endgame, one that corresponds ...
4
votes
1answer
494 views

Why am I getting different behaviour between using stockfish as a child node process and a CLI called process?

Copied this question from stackoverflow. Not 100% sure it belongs here but we'll see... I am building a web interface for the stockfish chess engine using Node, and I noticed that the behaviour of ...
3
votes
5answers
4k views

How do I check if a move is legal using Stockfish?

Let us say that I input a wrong move in Stockfish. What answer will Stockfish send me back? Or is there a function to check if a move is bad? People, I found a solution by myself.
3
votes
2answers
3k views

Is there a list of hidden/deleted Stockfish commands?

I have downloaded the latest version of Stockfish, and I am running it on the command line. There is a hidden command 'd' which displays the current board. Also, the "debug on" command is not ...
3
votes
4answers
9k views

Chess engine with an ELO of less than 1800

I am looking for an UCI compatible engine with an ELO of less than 1800. Not a version of Houdini or Stockfish with an ELO of 1800. I want a engine with a real ELO rating of 1800 or less. If you can ...
3
votes
1answer
239 views

Can all UCI engines output a FEN for the current position or is it just StockFish?

I know in StockFish if you type "d" you get an ascii view of the board and a FEN string for the current state. Is there any command in other UCI engines such as Rybka 4 that will output a ...
3
votes
1answer
1k views

How to use the Ponder option in stockfish / UCI

I'm trying to understand stockfish Ponder functionality. I'm very interested to let stockfish think when the opponent is thinking. From what I understand you can do it as follows $> uci $> ...
3
votes
1answer
871 views

Reading UCI Engine output in Arena Chess

So for the most part I understand what I am looking at, but i have two questions about the first piece of data. Here is an example that I am looking at. Firstly, the first column has values 1/4, 1/8, ...
3
votes
1answer
846 views

UCI go with depth and movetime

Is it possible to perform analysis with stockfish for a given depth, but stop in case it is taking longer than a specified time? Something like this: go depth 17 max movetime 10000 or setoption ...
3
votes
1answer
346 views

Best way to use UCI engine to play against itself

So far I used UCI only to make analysis of particular positions, sending FEN, showing multipv, analysing fixed depth/time, clearing hash for every next position. Now I would like to make the same ...
2
votes
3answers
699 views

When to use Clear Hash

I am developing a program that analyzes games sequentially, i.e. one game after another. Below are the parameters. Engine: Stockfish 10 Threads: 2 Hash Table: 4000 Depth: 30 My question is about ...
2
votes
2answers
4k views

How to measure strength of my own chess engine? [duplicate]

I'm wondering how can I estimate ELO ranking of my own written engine. I figure out that I have to connect my engine with some well known engine (via UCI protocol?) to be able to play automatically ...
2
votes
3answers
498 views

How to use Arena GUI outputs in a python program

I'm currently developing a self-playing chessboard on which I'd like to implement an Artificial Intelligence (AI) (currently it's Stockfish. I would like to know how I could, if I can, export Arena ...
2
votes
1answer
153 views

Why do some UCI engines restrict input moves to 23 when using the command prompt?

I am using some UCI engines from a command prompt. Most work fine (i.e. Stockfish, Houdini, Komodo) but when I use e.g. SOS (ver.5.1) or Hermann (Ver.2.8), I cannot seem to type any more moves after ...
2
votes
1answer
252 views

How can I send a UCI command to a chess engine in Python?

I have a followup question to my previous thread: Python script to let stockfish selfplay 10 games from a given position There are some engines that allow you to set a command that imposes that the ...
2
votes
1answer
316 views

SAN for nullmove?

The long algebraic notation (lan) for null move is usually 00-00 or simply 0000. Chess engines that support the nullmove: "give up a turn, and let the other side move" typically use this as its part ...
2
votes
3answers
821 views

Duplicating the game analysis output on lichess

I'd like to automatically generate move by move analysis (based on my past games) like they have on lichess for imported games. My guess is that I need to run a full stockfish analysis for each move (...
2
votes
2answers
4k views

UCI engine state notion

Hi guys I have a problem with using stockfish engine which is using UCI protocol. I wanted to play black and the computer white. But so far I think that uci engine has no notion of state and it gives ...
2
votes
1answer
500 views

Stop SF MultiPV from returning an upperbound

For a given position, I'd like to compute an evaluation of the 3 best moves. I send this to Stockfish: setoption name MultiPV value 3 position startpos go movetime 500.0 // search for 0.5 seconds I ...
2
votes
3answers
2k views

How to evaluate my move with UCI engine?

I am looking for a way to analyse the moves I play. I'm NOT looking for a suggestion of a GUI that does this, or using Chessbase to do this. I want to know how to do this by communicating directly ...
2
votes
1answer
1k views

Good UCI to WinBoard adapter

I found one before on the internet but it keeps the CPU at 100%, hangs a lot, and doesn't exit when the program (ChessMaster in this case) closes.
2
votes
1answer
309 views

Debugging my chess engine through the Arena GUI

I coded (with visual studio 2019 on windows 10) an ultra naive chess engine that complies with UCI engine interface rules. Before starting to develop it in more fancy ways, I want to make sure that I ...
1
vote
1answer
1k views

What exactly means centipawns field in stockfish/uci output?

According to this page: cp the score from the engine's point of view in centipawns. but is it a score for the current (start) position of the game that I feed to engine, or it is a ...
1
vote
2answers
3k views

How to setup a chess engine to play itself?

I'm participating in some engines-on correspondence games at ficgs.com. To assist in my analysis of my games, I'd like to set up a chess engine (probably Komodo9 which I own) to play moves against ...
1
vote
2answers
3k views

Chessbase 13 How to install UCI Engine when menu item is missing?

I have the latest version of Chessbase 13, I have bought a license and activated it online. For some reason, when I open a new board and go to the Home tab I do not have the menu item Create UIC ...
1
vote
1answer
203 views

Stockfish: Engine suddenly changed the side?

I asked this question in stockfishchess.org support but didn't get any response. So I'm trying to get some answers from you all. My question: Please find the output of communication with the engine ...
1
vote
1answer
437 views

UCI undo move command?

I checked the UCI specification here and I don't see a way to undo a move. I'm using stockfish, is there a way to do this? For example, how would I accomplish the following: position startpos moves ...
1
vote
2answers
145 views

Is it preferable to pass a FEN notation or list of moves to a chess engine?

I am actually programming a chess UI and I'd like to communicate with a chess engine using UCI protocol. After reading the protocol specifications, I am not sure how to use the position command. For ...