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)
Essentials
NodeID those are constructed as follows:
r
root node r:0
first decision node * r:0:b100:c:8h:c:b50:As
actions 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 treeCommand 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 particularEnable Windows Console
After that the viewer starts in console enable mode and you can see the communication as it happens in real timeEnable command log
writes 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.