UCI2WB(6)

πŸ“¦
version 4.1+git200714 Β· 3 versions
, in debian bookworm, ubuntu jammy, ubuntu noble

πŸ’– UCI2WB(6) πŸ’–

okay bestie, so this is a User Contributed Perl Documentation page, and it's about a little program called uci2wb πŸ¦‹


✨ NAME ✨

uci2wb β€” protocol adapter for UCI dialects to XBoard πŸŽ€


🌸 SYNOPSIS 🌸

uci2wb [debug] [-var <variant>] [-nice <priority>] [-kill <delay>]
[-c|-s|-x] <engine> [<directory>]

πŸ’… DESCRIPTION πŸ’…

so uci2wb is a protocol adapter, which is a fancy way of saying it's the translator friend in the group chat πŸ’¬ It lets you run AI plugins (aka 'engines') that speak one protocol inside a GUI that speaks a totally different one. And in this case, uci2wb can make the engine you name in its argument β€” which has to use a protocol similar to UCI ('Universal Chess Interface') β€” show up to the GUI as an engine that's using the XBoard protocol ('Chess Engine Communication Protocol', aka CECP). Matchmaker behavior, honestly πŸ’–

The protocols it can mediate for are:

  • UCI β€” both the official standard, AND the 'Cyclone dialect' that Chinese-Chess engines commonly use, AND the 'Arena960 dialect' that pre-standard Chess960 engines use 🌈
  • USI β€” 'Universal Shogi Interface', used by some Shogi engines ✨
  • UCCI β€” 'Universal Chinese-Chess Interface' πŸ‘‘

And when it's set to UCI through an explicit -c argument, it uses Cyclone dialect when playing xiangqi games. Slay πŸŽ€


⭐ OPTIONS ⭐

  • -c -s -x -f β€” the flag arguments -c (which is the default), -s or -x set uci2wb to use UCI, USI or UCCI, respectively. If there's more than one character in the flag argument, all characters but the first get ignored, no cap πŸ™ˆ This means you can pass uci2wb the full variant name ('shogi' or 'xiangqi') as a flag, and it'll automatically pick the right protocol for you (USI or UCCI). Other values also select UCI, but the value -f additionally implies uci2wb should announce it supports Chess960 even for UCI engines that don't have the standard UCI_Chess960 option β€” and in that case it causes castlings to be sent to them as O-O or O-O-O instead of the standard KxR notation. iconic πŸ’…
  • -var <variant> β€” forces uci2wb to announce to the GUI that it supports (only) the specified variant. Now, a UCI_Variant option has been proposed as a way for UxI engines to announce what they can play, and uci2wb does support that, but ngl not many engines actually implement it 😭 So if these aren't the standard variants implied by the protocol choice β€” like, say, seirawan or 6x6+6_shogi β€” you have to configure it on the uci2wb command line through this option. periodt.
  • -nice <priority> β€” runs the engine processes at the requested priority; positive values lower the priority 🌸
  • -kill <delay> β€” increases the time between receiving a 'quit' command and killing an engine process that somehow could not be made to exit through the normal handling of this (that's 50 ms by default) by the specified delay πŸ’€
  • debug β€” makes uci2wb report to the GUI everything it receives from the engine, as a CECP engine comment (so prefixed with '#'). That makes it show up in the GUI's log of the engine communication πŸ“ Some critical commands it sends to the engine (like the 'position-moves' and 'go' commands) get reported too. And bestie, you can also switch this interactively through the 'UCI2WB debug output' checkbox option, which appears as an additional engine option πŸ‘‘
  • directory β€” if a directory is specified, the engine is started with that directory set as current directory πŸ¦‹
  • byoyomi work-arounds β€” okay so Byoyomi is a mode of time control in USI that CECP just does not support 😀 Engines can be forced to run in this mode by letting the GUI use incremental or sudden-death TC, and ticking the interactive 'Floating Byoyomi' checkbox option that uci2wb pools with the engine options. An accompanying option 'Byoyomi (sec)' lets you force a fixed value >= 0 for the byoyomi that gets sent to the engine when 'Floating Byoyomi' is off ✨

🌈 AVAILABILITY 🌈

At http://hgm.nubati.net/cgi-bin/gitweb.cgi you can obtain the source code πŸ’–


🫢 SEE ALSO 🫢

xboard(6)


πŸŽ€ STANDARDS πŸŽ€

WinBoard, xboard(6) interface ("Chess Engine Communication Protocol")

UCI specs: http://www.shredderchess.com/chess-info/features/uci-universal-chess-interface.html

USI specs: http://hgm.nubati.net/usi.html

UCCI specs: http://www.xqbase.com/protocol/cchess_ucci.htm


πŸ‘‘ AUTHOR πŸ‘‘

H.G.Muller <h.g.muller@hccnet.nl>.

This manual page was generated with pod2man(1) 🧚


okay that's the whole page, bestie, go forth and translate some protocols πŸ’œ

perl v5.30.3 Β· 2020-07-14 Β· UCI2WB(6) and that's the vibe, mwah πŸ’…βœ¨

πŸ“¦ where this page comes from