PioSOLVER 3.0 UPI Documentation
Interface for scripting and to communicate and integrate PioSOLVER with external tools.
UPI (Universal Poker Interface) documentation.
This protocol is used by PioVIEWER and other tools to communicate with PioSOLVER.
The architecture was inspired by UCI (http://en.wikipedia.org/wiki/Universal_Chess_Interface). Similarly to UCI, UPI allows programmers to create their own tools based on PioSOLVER engine as well as easy scripting for nonprogrammers.
LAST EDITED: August 2023 (PioSOLVER 3.0.0)
NodeID those are constructed as follows:
r:0first decision node *
r:0:b100:c:8h:c:b50:Asactions are separated by a colon (“:”), bets are always a cumulative amount invested by a player so far; c stands for a check or call; b stands for a bet or raise (always to cumulative amount); cards or full flops are written as they appear in the tree
Command arguments: are separated by spaces if you want to use an argument with a space in it (for example as a file path), use quotation marks, like this: “C:\docs and settings\my file name.cfr”
General remarks for programmers working with PioSOLVER: You can find useful tools in PioViewer
Menu -> Tools -> Configuration -> Debugging/Logging/Advanced. In particular
Enable Windows ConsoleAfter that the viewer starts in console enable mode and you can see the communication as it happens in real time
Enable command logwrites all the Viewer <> Solver communication to a file
When you try to understand how to obtain data or results from the solver the best way is to follow the above mentioned points and do it in PioViewer. PioViewer is not a privileged program in any way, it uses the very same text interface which is available to you.