YaY 1.0

An ICS Emulator for YAHOO Chess

YaY 1.0

Postby dene » 26 Nov 2007 13:40

The new version of YaY is now available public to download here ...

http://www.members.cox.net/zozur/

Instructions are only in Spanish at the moment until the english page is ready.

However here is a google translation of the page for now..

http://translate.google.com/translate?h ... %26hl%3Den

Note:Its not a perfect translation

Well done Zozur for a great new version of YaY
User avatar
dene
Co-Admin
Co-Admin
 
Posts: 385
Joined: 04 Oct 2007 07:46
Location: United Kingdom

Re: New YaY 1.0

Postby m.t_mode » 28 Nov 2007 15:42

Hey guys, keep in mind that in this version, when you offer draw to your opponent and he/she accepts it, the program gets disconnected by itself, unfortunately this is a bug :(
Ever tried, ever failed. Try again, fail again. Fail better.

Samuel Beckett
m.t_mode
Co-Admin
Co-Admin
 
Posts: 130
Joined: 29 Sep 2007 19:28
Location: Turkey / Istanbul

Re: New YaY 1.0

Postby matematiko » 29 Nov 2007 00:13

m.t_mode wrote:Hey guys, keep in mind that in this version, when you offer draw to your opponent and he/she accepts it, the program gets disconnected by itself, unfortunately this is a bug :(


The public perl version of the new YaY does not supports offer or accepting draws, and I assume the exe version is the same.

m.t_mode , can you please verify this? Maybe you were using a different script, if this is the case, I offer to help you with the issue.

Cheers,
Using engines to cheat:
- It is not ethical,
- It is useless, nothing is gained (how can one be proud of a score earn with dishonesty?)
- You will be baned, sooner or later,
- It gives us (the true chess engine players) a bad reputation.
User avatar
matematiko
Co-Admin
Co-Admin
 
Posts: 1284
Joined: 17 Oct 2007 13:32
Location: Texas USA

Re: New YaY 1.0

Postby m.t_mode » 29 Nov 2007 00:28

Well, what happened was actually that when I offered draw through Winboard (not Yay) all the programs including Yay got automatically closed.
Ever tried, ever failed. Try again, fail again. Fail better.

Samuel Beckett
m.t_mode
Co-Admin
Co-Admin
 
Posts: 130
Joined: 29 Sep 2007 19:28
Location: Turkey / Istanbul

Re: New YaY 1.0

Postby matematiko » 29 Nov 2007 00:43

How did you offer a draw? I am asking because I just tried with winboard under Action, Draw and YaY always responds with "You may not offer a draw during your opponent's turn." regardless if it is the opponent's turn or not(This is another bug). So if YaY responds with that statement and never sends the offer draw command to the Yahoo chess server, I do not see how your opponent was able to see the draw offer and accepted.

I was using YaY and and plain Winboard ( without polyglot or Chessbase), can you please tell me if this happened more than once? and if so, what was your set up?

Were other scripts able to do this?

Thanks in advance for the feedback.
Using engines to cheat:
- It is not ethical,
- It is useless, nothing is gained (how can one be proud of a score earn with dishonesty?)
- You will be baned, sooner or later,
- It gives us (the true chess engine players) a bad reputation.
User avatar
matematiko
Co-Admin
Co-Admin
 
Posts: 1284
Joined: 17 Oct 2007 13:32
Location: Texas USA

Re: New YaY 1.0

Postby m.t_mode » 29 Nov 2007 00:50

Hımm, I think there's a misunderstanding here dude, but I have an idea, give me some time, I'll record my screen and put it to YouTube, there you can see how I offered draw, got it accepted and how the program got closed.
Ever tried, ever failed. Try again, fail again. Fail better.

Samuel Beckett
m.t_mode
Co-Admin
Co-Admin
 
Posts: 130
Joined: 29 Sep 2007 19:28
Location: Turkey / Istanbul

Re: New YaY 1.0

Postby matematiko » 29 Nov 2007 00:57

OK thanks.

Also, launch YaY from a dos prompt and not by double clicking it. I'd like to see if perl or YaY report an error in the dos prompt.

Thanks again.
Using engines to cheat:
- It is not ethical,
- It is useless, nothing is gained (how can one be proud of a score earn with dishonesty?)
- You will be baned, sooner or later,
- It gives us (the true chess engine players) a bad reputation.
User avatar
matematiko
Co-Admin
Co-Admin
 
Posts: 1284
Joined: 17 Oct 2007 13:32
Location: Texas USA

Re: New YaY 1.0

Postby m.t_mode » 29 Nov 2007 01:37

OK, here is the link to watch it:

http://www.youtube.com/watch?v=52G6ENHZlzk&feature=PlayList&p=43C3A81E056B4886&index=0


I want you to know that, firstly, I accepted draw, then it got me kicked, after that I got disconnected.

yayyy.JPG
You do not have the required permissions to view the files attached to this post.
Ever tried, ever failed. Try again, fail again. Fail better.

Samuel Beckett
m.t_mode
Co-Admin
Co-Admin
 
Posts: 130
Joined: 29 Sep 2007 19:28
Location: Turkey / Istanbul

Re: New YaY 1.0

Postby g00dtr » 29 Nov 2007 01:55

It's not clear to see there, so you can download it here and watch at a better quality.
http://uploaded.to/?id=8jwodd
User avatar
g00dtr
Site Admin
Site Admin
 
Posts: 126
Joined: 27 Sep 2007 11:55
Location: Turkey

Re: New YaY 1.0

Postby zappa_engine » 29 Nov 2007 02:16

This is not really related to the problem but I just wanted to say turn off move animation in Winboard. I'm not 100% certain but I think it may lag your moves. At the very least it's stealing some CPU usage from the engine or the script. Okay, I got that off my chest :P

I just have a question for clarification. Are you using the .PL file or running the .EXE file at that point?

This is kind of note to developers but the two things of note that I think could be looked into is the script auto-booted on a draw acceptance (so I would check code logic around there) and the opcode wasn't implemented for draw offer (off memory I think it was 76 for draw?) and then there's an opcode for accepting the draw too(don't remember). One more thing to note I suppose is possible internal board representation isn't recognizing the draw offer and trying to update something and croaks. The original board.pm (yay.pm in this case I believe) will croak and exit if it sees something wrong. In this case, seeing the output at the command line will verify that since it will say Croak ... error message like can't move piece (3,4) (3,6).
http://www.youtube.com/watch?v=gNASSON_JMU
Concerning STUCI and why it's never really done... here's a metaphor: Instead of being a construction worker, I'd rather be an architect.
Losing too many games because of a slow PC? No problem, nUCI it!
User avatar
zappa_engine
Moderator
Moderator
 
Posts: 117
Joined: 09 Oct 2007 23:28

Re: New YaY 1.0

Postby zappa_engine » 29 Nov 2007 02:39

Okay I actually did some research into the script even though it isn't mine. Here lies the issue. I was correct in that a draw accept causes an opcode to happen. In fact it was opcode 77. In my script, I send this to an unimplemented function (it's a game over that the script needs to deal with but I didn't get around to implementing that in mine --yet?). In the YaY script however it calls a function top_draw. This function doesn't exist! I suppose the developer was planning to implement this but forgot to. In any case, since it isn't implemented in their script either you guys need to modify this line:

0x77 => \&top_draw,

and make it say:

0x77 => \&op_unimplemented, # User-offered draw accepted

The script is exiting because it's trying to call top_draw which does not exist. That is the cause.

EDIT: Okay I will change my recommendation here because the function top_draw has been supplied later in this thread. Instead of changing the line above, you can copy the code listed below by Matematiko and paste it to the end of the .PL file and it should be better as you'll have a script that will handle the game over code. (which I should copy into Stuci later! ;))
http://www.youtube.com/watch?v=gNASSON_JMU
Concerning STUCI and why it's never really done... here's a metaphor: Instead of being a construction worker, I'd rather be an architect.
Losing too many games because of a slow PC? No problem, nUCI it!
User avatar
zappa_engine
Moderator
Moderator
 
Posts: 117
Joined: 09 Oct 2007 23:28

Re: New YaY 1.0

Postby matematiko » 29 Nov 2007 02:46

With the exception of "out of bounds", all the croak requests are commented out in YaY.pm

Client table opcode(2d) 46 is the offer draw command.
Server table opcode(3d) 66 is the server response to the opcode above.
Client table opcode(2d) 57 is draw offer accepted.
Server table opcode(3d) 77 informs clients observing the table that the game ended by draw mutual acceptance.
************************************************************

The video shows Winboard offering a draw and the opponent accepting it, this is not possible with YaY, at least not with the version I downloaded just few minutes after I read m.t_mode's post. Do not get me wrong, I want to resolve this issue regardless of the script that is causing it. But I need to know what script was being used when it happened and I also need to see what error is being displayed in the dos prompt.

m.t_mode, I will appreciate it if you shoot another video and show the error displayed in the command prompt ( to do this you need to launch the script from dos and not by double clicking the icon), I also need you verify the script you are talking about is the lates YaY or some other script. Thanks again.
Using engines to cheat:
- It is not ethical,
- It is useless, nothing is gained (how can one be proud of a score earn with dishonesty?)
- You will be baned, sooner or later,
- It gives us (the true chess engine players) a bad reputation.
User avatar
matematiko
Co-Admin
Co-Admin
 
Posts: 1284
Joined: 17 Oct 2007 13:32
Location: Texas USA

Re: New YaY 1.0

Postby zappa_engine » 29 Nov 2007 02:53

A Winboard offered draw is actually Winboard telling ICS (which YtoICS is the server emulator) accepts as a 'draw' command. Same thing with Winboard and autoflag. It sends the 'flag' command to YtoICS. It is actually invisible to the client though. Anyhow, as you mentioned, the server does respond opcode 0x77. Notice in the code, that 0x77 is assigned/mapped to a non-existent function top_draw. So I'm certain the error message would be along the lines of a call to an undefined function.
http://www.youtube.com/watch?v=gNASSON_JMU
Concerning STUCI and why it's never really done... here's a metaphor: Instead of being a construction worker, I'd rather be an architect.
Losing too many games because of a slow PC? No problem, nUCI it!
User avatar
zappa_engine
Moderator
Moderator
 
Posts: 117
Joined: 09 Oct 2007 23:28

Re: New YaY 1.0

Postby matematiko » 29 Nov 2007 03:00

You are absolutely rigth zappa, that is the issue. Good job. I still dont understand how the script in question is able to offer a draw.

I understand the concept of winboard sending commands to yahoo behind the scenes, but when I tried that draw offer(winboard driven) I always got the message "You can not offer a draw during your opponent's turn" ( you know, the old YtoICS bug), regardless if it was the opponent's turn or not.
*******************************************

Here is the sub

Code: Select all
sub top_draw   { #77
   my $table=shift;
   my $t=$table->[0];
   my $blancas=$table->[3]->[0];
   my $negras=$table->[4]->[0];
   if (($blancas eq $me) or ($negras eq $me))   {
      if (ics_getvar('autoautostart'))   {
         &ics_start;
      }
      my $res='Game drawn} 1/2-1/2';
      gameover($table,sprintf("\n{Game %d (%s vs. %s) %s\n",$table->[0],$table->[3]->[0],$table->[4]->[0],$res));
   }
}
Using engines to cheat:
- It is not ethical,
- It is useless, nothing is gained (how can one be proud of a score earn with dishonesty?)
- You will be baned, sooner or later,
- It gives us (the true chess engine players) a bad reputation.
User avatar
matematiko
Co-Admin
Co-Admin
 
Posts: 1284
Joined: 17 Oct 2007 13:32
Location: Texas USA

Re: New YaY 1.0

Postby zappa_engine » 29 Nov 2007 03:04

Think of it this way... when the user clicks draw within winboard, it is the same as the user typing in 'draw' in the ics window.

Now what is Winboard? Well in this case, Winboard is being run as an ICS client which is why you see the ICS window. As an ICS client, it has built in commands to interface with ICS (or YaY in this case). The draw command issues the 'draw' to the ICS window. It is cloaked through YtoICS by design though ($draw) so normal users don't see the 'draw' actually being issued but they see the results.

http://www.youtube.com/watch?v=gNASSON_JMU
Concerning STUCI and why it's never really done... here's a metaphor: Instead of being a construction worker, I'd rather be an architect.
Losing too many games because of a slow PC? No problem, nUCI it!
User avatar
zappa_engine
Moderator
Moderator
 
Posts: 117
Joined: 09 Oct 2007 23:28

Next

Return to YaY

Who is online

Users browsing this forum: No registered users and 0 guests