Does the external interface only available with the 0.16 version?

2008/2/18, LeeRoy <[EMAIL PROTECTED]>:
>
> I use Linux.
> "gnubg-cli.exe" is the same think that "gnubg -t" command, isn't it?
>
> When I write "gnubg -v", I see "External commands supported." but
> nothing link "external localhost:11111". It's the same think when I
> just start with "gnubg -t".
>
> Then I tryed to create an external player, but i don't know what is
> "<filename>" in the command:
> set player <player> external <filename>
>
> 2008/2/14, Ingo Macherius <[EMAIL PROTECTED]>:
>
> >
> >
> > LeeRoy,
> >
> > 1) to start the external interface, you need to run  gnubg-cli.exe and
> start the socket listener, like so:
> >
> > ------ snip ----
> > bash-3.2$ ./gnubg-cli.exe
> > GNU Backgammon  0.16-mingw
> > Copyright 1999, 2000, 2001, 2002, 2003, 2004 by Gary Wong.
> > GNU  Backgammon is free software, covered by the GNU General
> Public  License
> > version 3 or later, and you are welcome to change it and/or  distribute
> copies of
> >  it
> > under certain conditions.  Type "show  copying" to see the conditions.
> > There is absolutely no warranty for GNU  Backgammon.  Type "show
> warranty"  for
> > details.
> >
> > Python supported.
> > External players supported.
> > XML  match equity files supported.
> > External commands supported.
> > Windows sound  system supported.
> > SSE supported and available.
> > (No game) external  localhost:11111
> > Waiting for a connection from  localhost:11111...
> >
> > Accepted connection from  127.0.0.1.
> >
> > ------ snip  ----
> >
> > 2) Next step is use  telnet (or your client application) to connect to
> that  socket
> >
> > --- snip  ----
> >
> > bash-3.2$ telnet localhost 11111
> >
> > Trying 127.0.0.1...
> >
> >  Connected to RAKETE.
> >
> > Escape character is '^]'.
> >
> > --- snip  ----
> >
> > 3)  Commands
> >
> > There  are 3 commands you can send from telnet now
> >
> > 3.1)  EMPTY command
> >
> > If you  send an empty line to the socket, it resets the gnubg settings
> used for  evaluation
> >
> > The  defaults are (see 3.3 how to change)
> >
> > ec.nPlies = 0;
> >
> > ec.rNoise = 0;
> >
> > ec.fDeterministic = 1;
> >
> > ec.fCubeful = 0;
> >
> > ec.nReduced = 0;
> >
> > ec.fUsePrune = 0;
> >
> > ec.szFIBSBoard = NULL;
> >
> > 3.2)  FIBS board Strings
> >
> > You can  send FIBS board:* Strings which will be evaluated according to
> the settings read  from your .gnurc. The reply is the decision GNU makes.
> Last time i looked the  output for drop/take decisions was broken, may be
> fixed since 2004 maybe  ...
> >
> > Synopsis: board:[[:alpha:]_]+:[[:alpha:]_]+(:{-?[0-9]+})+
> >
> > Fibs  board syntax is defined here:
> http://www.fibs.com/fibs_interface.html#board_state
> >
> > Example:
> >
> > --- snip ----
> >
> > board:You: Other
> :1:0:0:0:-1:-1:0:0:0:5:0:3:0:0:0:-4:5:0:0:0:-4:0:-5:0:0:0:0:2:0:1:2:1:0:0:1:1:1:0:1:-1:0:25:0:0:0:0:2:6:0:0
> >
> > 13/11 24/23
> >
> > --- snip  ----
> >
> > 3.3)  EVALUATION FIBSBOARD
> >
> > Reads a fibs board and returns winning/losing  probabilities and equity.
> Allows to set some evaluation parameters for each  command.
> >
> > Synopsis:
> >
> > EVALUATION FIBSBOARD  (AFIBSBOARD) [PLIES n] [CUBE ON|OFF] [CUBEFUL]
> [PRUNE] [CUBELESS] [NOISE  x*10000] [REDUCED n]
> >
> > --- snip  ----
> >
> > EVALUATION FIBSBOARD board:You: Other
> :1:0:0:0:-1:-1:0:0:0:5:0:3:0:0:0:-4:5:0:0:0:-4:0:-5:0:0:0:0:2:0:1:2:1:0:0:1:1:1:0:1:-1:0:25:0:0:0:0:2:6:0:0
>   PLIES
> 2 CUBEFUL
> >
> > 0.491580 0.127632 0.003513 0.136681  0.005096 0.491580
> >
> > --- snip  ----
> >
> >  The numerical return values from left  to right mean:
> >
> >
> >  #define    OUTPUT_WIN 0
> >
> >  #define OUTPUT_WINGAMMON    1
> >
> >  #define OUTPUT_WINBACKGAMMON 2
> >
> >  #define    OUTPUT_LOSEGAMMON 3
> >
> >  #define    OUTPUT_LOSEBACKGAMMON 4
> >
> >  #define OUTPUT_EQUITY 5
> >
> > #define    OUTPUT_CUBEFUL_EQUITY 6
> > The respective code  executed (excerpt) is:
> >
> > ---  snip----
> >
> >
> > if ( nMatchTo ) { // wird FALSE bei  moneygame
> >
> > if ( ec.fCubeful )
> >
> > r = arOutput[ OUTPUT_CUBEFUL_EQUITY  ];
> >
> > else
> >
> > r = eq2mwc( arOutput[ OUTPUT_EQUITY ],  &ci );
> >
> > }
> >
> > else
> >
> > r = ec.fCubeful ? arOutput[ 6 ] :  arOutput[ 5 ];
> >
> >
> >
> > szResponse = g_strdup_printf( "%f %f %f  %f %f %f\n",
> >
> > arOutput[ 0 ],
> >
> > arOutput[ 1 ],
> >
> > arOutput[ 2 ],
> >
> > arOutput[ 3 ],
> >
> > arOutput[ 4 ],
> >
> > r  );
> > --- snip----
> >
> > Hope that helps to get started.
> >
> > Virtually  yours,
> > Ingo
> >
> >
> >  -----Original Message-----
> > From:  [EMAIL PROTECTED]  [mailto:
> [EMAIL PROTECTED] On Behalf Of  LeeRoy
> > Sent: Thursday, February 14, 2008 12:49 AM
> > To:  [email protected]
> > Subject: [Bug-gnubg] search documentation about  external inteface
> >
> >
> > Do    you know if somebody had made some documentation about the
> protocol of the    external interface?
> > Do I must make reverse engineering to understand this    system?
> >
> > I begin with gnubg, everything could help me.
> >
> > Thank    you.
> >
>
_______________________________________________
Bug-gnubg mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-gnubg

Reply via email to