Introducing ucitap and ucinetwork tools

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

User avatar
jshriver
Posts: 1383
Joined: Wed Mar 08, 2006 9:41 pm
Location: Morgantown, WV, USA

Introducing ucitap and ucinetwork tools

Post by jshriver »

I've recently released and open sourced these two projects if anyone is interested.

https://github.com/jshriver/ucitap
https://github.com/jshriver/ucinetwork

Ucitap could be used for debugging to get the raw stdin/stdout between a gui and the engine.
Ucinetwork, is a way to run uci engines on a remote server and act as a bridge. Configuration is done via json variables. For fun I'm running stockfish 18 on my Raspberry Pi 4 in server mode, connected to it using Chessbase to donate the engine analysis for Lets Play.

My main reason for ucitap though was for my OpenchessDB project. Now I can run an engine in Chessbase, support their Let's Play with engine analysis. Then take the raw logs for later importing into OCDB. Included is a ucitap2json file that processes the raw logs into individual positions and uci info line data and exports as a list of json objects which I can import. Three birds with one stone and donate to both services.

Open to any questions or suggestions and hope it's helpful. They're very simple programs and do no real processing but act as simple stdin/stdout redirects.

-Josh
User avatar
AdminX
Posts: 6373
Joined: Mon Mar 13, 2006 2:34 pm
Location: Acworth, GA

Re: Introducing ucitap and ucinetwork tools

Post by AdminX »

Thank you, look forward to trying ucinetwork.
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
User avatar
jshriver
Posts: 1383
Joined: Wed Mar 08, 2006 9:41 pm
Location: Morgantown, WV, USA

Re: Introducing ucitap and ucinetwork tools

Post by jshriver »

AdminX wrote: Tue Feb 10, 2026 6:41 am Thank you, look forward to trying ucinetwork.
Thank you, if you do I'd enjoy feedback or if you encounter any issues. I have some ideas to deal with security for the next release.
User avatar
AdminX
Posts: 6373
Joined: Mon Mar 13, 2006 2:34 pm
Location: Acworth, GA

Re: Introducing ucitap and ucinetwork tools

Post by AdminX »

Thanks for sharing this Josh! It works like a charm. I am using it on two Linux systems and with a Cutechess GUI. :D

PS: The next test will be using it with a outside network across the internet.
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
User avatar
jshriver
Posts: 1383
Joined: Wed Mar 08, 2006 9:41 pm
Location: Morgantown, WV, USA

Re: Introducing ucitap and ucinetwork tools

Post by jshriver »

AdminX wrote: Tue Feb 10, 2026 11:40 am Thanks for sharing this Josh! It works like a charm. I am using it on two Linux systems and with a Cutechess GUI. :D

PS: The next test will be using it with a outside network across the internet.
Glad to hear. Should world over the internet as long as port 6242 is open in the firewall server side. Not tested it yet, however the code is written so it finds your actual world IP not the local computers LAN ip. Helpful if you plan to use it over the internet. It would be fun to just spin up a digitalocean ubuntu 16-core xeon box when needed and let it crunch. Might create a docker version w/ stockish 18 bootstraped for quick deployment in such situations. At least one of the goals.
cpeters
Posts: 207
Joined: Wed Feb 17, 2021 7:44 pm
Full name: Christian Petersen

Re: Introducing ucitap and ucinetwork tools

Post by cpeters »

AdminX wrote: Tue Feb 10, 2026 11:40 am Thanks for sharing this Josh! It works like a charm. I am using it on two Linux systems and with a Cutechess GUI. :D

PS: The next test will be using it with a outside network across the internet.
Hello!

Well, why don't/didn't you use SSH for this? To change the default config in the ocean-remote-machine you'd have to login there anyway.
For the chessbase diehards a sort of wrapper was invented somewhere (not sure, if it was even needed really); for the 'nix class of OSs one would just work with the simple SSH (you can start an remote-connected chess-engine (per SSH) even in Scid)).

greetings
User avatar
AdminX
Posts: 6373
Joined: Mon Mar 13, 2006 2:34 pm
Location: Acworth, GA

Re: Introducing ucitap and ucinetwork tools

Post by AdminX »

cpeters wrote: Tue Feb 10, 2026 6:44 pm
AdminX wrote: Tue Feb 10, 2026 11:40 am Thanks for sharing this Josh! It works like a charm. I am using it on two Linux systems and with a Cutechess GUI. :D

PS: The next test will be using it with a outside network across the internet.
Hello!

Well, why don't/didn't you use SSH for this? To change the default config in the ocean-remote-machine you'd have to login there anyway.
For the chessbase diehards a sort of wrapper was invented somewhere (not sure, if it was even needed really); for the 'nix class of OSs one would just work with the simple SSH (you can start an remote-connected chess-engine (per SSH) even in Scid)).

greetings
I beleive you qouted the wrong person. PS: That will not work if using En Croissant. This method does however.
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
cpeters
Posts: 207
Joined: Wed Feb 17, 2021 7:44 pm
Full name: Christian Petersen

Re: Introducing ucitap and ucinetwork tools

Post by cpeters »

Ok. You wrote about cutechess and Linux-systems.

No misunderstanding: I like the idea of an easy to interact with (remote) engine over the local network.

For the internet there were:
https://github.com/Egbert-Azure/ssh-engine
fork: https://github.com/M1zukiqwq/ssh-engine
and
https://github.com/Egbert-Azure/stockfish-cluster


But they seem old now and I've never tested them (the targeted audience has been windows-users with chessbase anyway).

greetings
User avatar
AdminX
Posts: 6373
Joined: Mon Mar 13, 2006 2:34 pm
Location: Acworth, GA

Re: Introducing ucitap and ucinetwork tools

Post by AdminX »

cpeters wrote: Tue Feb 10, 2026 11:23 pm Ok. You wrote about cutechess and Linux-systems.

No misunderstanding: I like the idea of an easy to interact with (remote) engine over the local network.

For the internet there were:
https://github.com/Egbert-Azure/ssh-engine
fork: https://github.com/M1zukiqwq/ssh-engine
and
https://github.com/Egbert-Azure/stockfish-cluster


But they seem old now and I've never tested them (the targeted audience has been windows-users with chessbase anyway).

greetings
That's okay, Linux is about freedom of choice. There is ssh but there is also mosh, same goes with tmux and screens, I won't even talk about text editing options.
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
User avatar
jshriver
Posts: 1383
Joined: Wed Mar 08, 2006 9:41 pm
Location: Morgantown, WV, USA

Re: Introducing ucitap and ucinetwork tools

Post by jshriver »

cpeters wrote: Tue Feb 10, 2026 6:44 pm Well, why don't/didn't you use SSH for this? To change the default config in the ocean-remote-machine you'd have to login there anyway.
For the chessbase diehards a sort of wrapper was invented somewhere (not sure, if it was even needed really); for the 'nix class of OSs one would just work with the simple SSH (you can start an remote-connected chess-engine (per SSH) even in Scid)).

greetings
Very true and for a good while that's what I did. Basically create a passwordless pre-shared key for ssh, upload it to the linux box then run "ssh user@ip:/path/to/stockfish" so it'll act as an encrypted pipe. It works but a bit wonky and some clients like Chessbase specifically want you to load an .exe and no cli arguments. To get around this in the past I wrote a simple .c that just spawned a ssh session. It's just messy.

This is simply cleaner and works.