Why some guys seem to increment their remaining time?

Polyglot here

Why some guys seem to increment their remaining time?

Postby matematiko » 08 Jan 2009 19:15

Today a guy asked me how I was making up time instead of loosing time? He mentioned that at one time my remaining timer was 3.9 seconds and in the next move was 4.0 seconds.

OK, here is the explanation, is not rocket science and is not cheating either ( if someone finds the way to trick the Yahoo servers and make them give you more time, please let me know because I don't know).

First: I use POLYGLOT which everyone knows is the best for 1/0 games,
Second: I use a gamer network card, does it help? Don't know...it might
Third: My polyglot.ini is not necesarily the same as yours, of course I wont reveal my
settings.
And Finally: And most important, if you take the time to study the source code of these scripts (Reborn, STUCI and YaY), you will see that they round up to an integer the remaining seconds Yahoo says the players have left. Also, if you pay attention to WinBoard then you'll see that when the remaining time is less than 10 seconds, Winboard will start displaying the tenths of the seconds and will also start counting down on its own.

So, here is the example: I have 4.4 seconds left when it becomes my turn to move. Your script tells winboard that I have 4 seconds left, at that moment you decide to take a look at the Winboard screen one fraction of a second after Winboard received the "time left" instruction, buy now Winboard had already started counting down so what you see is 3.9 seconds. You make your move and becomes my turn again, my engine moves so quicly that now instead of 4.4 seconds my remaining time is 4.1 seconds, you script rounds up again to 4 seconds, at this time you are paying close attention to the Winboard screen and you see the 3.9 change to 4.0 and you go (WTF?). The same thing happens again when I have 3.8 and 3.5 seconds left,and your Winboard keeps doing it, going from 3.9 or 3.8 back to 4 seconds. And you ask your self this question: How in the hell this guy is doing that. And the answer is: No, I am not doing it...it is the way things work. Probably most of you knew this, but I am writting it for the newbbies and for those that don't take the time to read the code or pay close attention and start getting into wrong conclussions.

See? It is as simple as that.

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: Why some guys seem to increment their remaining time?

Postby mocha_1961 » 08 Jan 2009 23:39

thx mate for the tip. :ok :ok :ok
No matter how strong and dedicated a leader may be, he must find root and strength amongst the people.
User avatar
mocha_1961
Advanced Member
Advanced Member
 
Posts: 74
Joined: 17 Dec 2007 02:09

Re: Why some guys seem to increment their remaining time?

Postby casvdry » 09 Jan 2009 05:33

It was me who accused you. I'd like to take a moment to apologize for my behavior earlier, too. Needless to say, I have not had an overall good day :(

I was registered here for a few days. Anyway, let me just say:

Yes, I have been victimized by cheaters exploiting the game clock. This hasn't been an issue in chess as much as it was in checkers but it exists. The obvious ones doing it would just have their clock not move. The others were far more subtle, like shaving off half a second to a second per move in blitz type matches (Like 1/0).

Here is a quick ping to the games.yahoo.com server:

Reply from 209.191.126.223: bytes=32 time=42ms TTL=50
Reply from 209.191.126.223: bytes=32 time=42ms TTL=50
Reply from 209.191.126.223: bytes=32 time=42ms TTL=50
Reply from 209.191.126.223: bytes=32 time=42ms TTL=50

Interestingly enough, you're from Texas and it appears that is almost exactly where the yahoo game servers are located:

14 40 ms 40 ms 41 ms YAHOO-INC.edge2.Dallas1.Level3.net [4.79.180.2]
15 42 ms 55 ms 42 ms ae2-p120.msr1.mud.yahoo.com [216.115.104.89]
16 42 ms 42 ms 41 ms te-8-1.bas-c1.mud.yahoo.com [68.142.193.5]
17 42 ms 41 ms 41 ms games1.vip.mud.yahoo.com [209.191.126.223]

Does this explain why you were winning on time controls in a 1/0 game? Probably. Although, in most situations my Engine was being outplayed, but there were 3 or 4 games in which I distinctly remember losing on time controls, and not in the sense that I had a few seconds and you had 20 or 30. It was closer to myself having 10-15 and you having 12 or so and then my Engine is of course not receiving nor sending moves to the server faster enough to compensate. Once the Engines go into haywire mode and instant send moves it becomes apparent that you're receiving much better latency to the game servers. What's scary is that 40ms should be FAR adequate to be able to compete. The sad reality is that there are very small things separating a win from a loss in Engine vs Engine play. I'd probably put those things in this order from first priority to last (This applies to blitz 1/0 only)

Opening Book
CPU Speed (Hardware)
Server Latency

I'm in the middle of making my own custom book. I have not yet found any tools to create a proper book for use with polyglot. Polyglot is clearly the winner in terms of ease of use and speed because it has no bloated GUI. But I'm really liking the books I'm seeing in CTG format and I am trying to create an opening book for it. I realize Polyglot has some switches which allow you to create books but is anywhere aware of whether or not you can prune out the wins/losses? I have not seen that ability, or any other .bin opening book creator/editor?

As for the KillerNIC, I don't think it matters. It's more of a marketing ploy. Bandwidth utilization should be next to none while playing Chess on Yahoo anyway, so you're by no means stressing out your CPU by adding in very small data packes to be processed by the onboard NIC. I wouldn't even imagine that you'd get any ELO gain out of this.

I do have a pretty good idea for what I'm going to do with my new Engine setup in terms of increasing speed. Settings wise as well as a trick in getting the access speeds of the Opening Book quicker. Think like SSD, but not SSD :) (No, not a Pendrive either, better than that)

Of course one of my main bottlenecks is more than likely my Dual Core CPU which right now is clocked at 3.6 GHZ. I'll probably upgrade in the future or clock it up to 3.8, but I'm not sure I'll see much of an improvement vs Quad Cores anyhow. At the time the Q6600 and E8400 were priced the same and still are basically, I may go for it I may not. In terms of gaming and performance the E8400 does everything else I need. But a almost 50% performance increase in MP enabled applications is enticing.
User avatar
casvdry
New Member
New Member
 
Posts: 3
Joined: 05 Jan 2009 11:58

Re: Why some guys seem to increment their remaining time?

Postby matematiko » 09 Jan 2009 06:58

I never said you accused me but I accept that I have the feeling that you did imply it. Anyhow, apology accepted.

I dont know if someone ever made a script to play in checkers but I do know this about chess: The java interface that regular users use, they flag themeselves as well as the opponent when they run out time. The scripts for chess they dont flag themselves and therefore in the past before auto-flag was implemented it was very comon to see guys playing, running out of time and continue playing. And that is very much about the only way to "cheat" the Yahoo servers. I beleive and I am convinced that there is no way to trick the servers and get more time out of them. There is no way, period. The servers and the clients communicate thru what is called opcodes (room opcodes and table opcodes), Yahoo is the only one that sends "clock" opcodes. There is no opcodes that the client can send to the server to tell Yahoo "Hey dude, the clock opcode you sent is incorrect, I dont have 4 seconds left, I have 4.5 so make a correction dude".

On top of all that, I love the feeling of wining because I made a better book, or because I spent lots of time tweaking my computer (not to mention building it and researching for months what components to buy), or spent lots of time experimenting with engine settings. I wont give me any satisfaction to win because I was "cheating" the server with the time.

I know the chess server protocol like the palm of my hand, I have spent countless hours packet sniffing and discovering the opcodes for many other things not made public by Chris Howie. And beleive me, there is no way.

The Yahoo Chess servers are located in Yahoo Head Quarters in Sun Valley California, I dont know, that's probably 1800 miles from where I live but yes, defently I have and advantage in 1/0 games if I am playing against somebody in Brazil. I love 1/0 games and nothing else. Same way I am in disadvantage when I play against somebody located in Colorado, Arizona, New Mexico, Nevada, California, Hawaii, etc.

The yahoo chess server is:
yog80.games.scd.yahoo.com and this is the ping response I get from it:
C:\Users\matematiko>ping yog80.games.scd.yahoo.com

Pinging yog80.games.scd.yahoo.com [209.73.170.128] with 32 bytes of data:
Reply from 209.73.170.128: bytes=32 time=61ms TTL=53
Reply from 209.73.170.128: bytes=32 time=61ms TTL=53
Reply from 209.73.170.128: bytes=32 time=61ms TTL=53
Reply from 209.73.170.128: bytes=32 time=60ms TTL=53


This are the results of the trace route command applied to 209.73.170.128:
C:\Users\matematiko>tracert 209.73.170.128

Tracing route to yog80.games.scd.yahoo.com [209.73.170.128]
over a maximum of 30 hops:

1 * * * Request timed out.
2 8 ms 7 ms 15 ms Gi0-2-0-4.austtxrdcsc-rtr2.austin.rr.com [24.27.
12.126]
3 13 ms 13 ms 14 ms gig6-3-0.dllatxl3-rtr1.texas.rr.com [72.179.205.
76]
4 13 ms 13 ms 14 ms ae-4-0.cr0.dfw10.tbone.rr.com [66.109.6.88]
5 18 ms 18 ms 18 ms ae-0-0.cr0.hou30.tbone.rr.com [66.109.6.38]
6 51 ms 49 ms 49 ms ae-3-0.cr0.lax30.tbone.rr.com [66.109.6.0]
7 52 ms 53 ms 53 ms ae-0-0.cr0.lax00.tbone.rr.com [66.109.6.4]
8 61 ms 61 ms 59 ms 66.109.6.6
9 61 ms 61 ms 118 ms ae-0-0.pr0.sjc20.tbone.rr.com [66.109.6.139]
10 61 ms 61 ms 62 ms 66.109.9.173
11 61 ms 63 ms 63 ms ge-4-0-0-p450.msr2.scd.yahoo.com [216.115.106.20
5]
12 69 ms 60 ms 60 ms ten-2-3-bas2.scd.yahoo.com [66.218.82.223]
13 60 ms 61 ms 61 ms yog80.games.scd.yahoo.com [209.73.170.128]

Trace complete.


Yes I know exactly what games you are talking about, I was moving too fast at the end and that has to do with settings. You would also had noticed that the games you won, they should had been draws, but because I was moving fast at the end, my engine was making stupid moves and the draw converted to a win in your part, so moving too fast at the end is a double edge sword. But I am working on it he he.

Concerning polyglot books, there is lots of information out there, but for pruning books use Chessbase 8 or 9 or Fritz, etc. To make the books, of course use polyglot. And to hand tune them (yes, it is possible), use SCID (google it).


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: Why some guys seem to increment their remaining time?

Postby casvdry » 09 Jan 2009 08:05

Thanks for the information.

I have both Fritz11/Deep Rybka 3 installed and I went about creating an opening book from all of the 07 and 08 Computer matches on ICC. Taking only wins by each side and only from Engines rated over 2650.

I'm going to be saving the following PGNs (Finally figured out the freaking Auto Save feature in Winboard. It was practically hidden) and will be creating new Databases to analyze my losses and remove/replace the losing lines. I'm just getting started with this, so it's all in good fun... For now.

As for speeding Engine play up, I know of no commands that could accomplish this as time expires. Care to share?
User avatar
casvdry
New Member
New Member
 
Posts: 3
Joined: 05 Jan 2009 11:58

Re: Why some guys seem to increment their remaining time?

Postby matematiko » 09 Jan 2009 14:18

casvdry wrote:.............As for speeding Engine play up, I know of no commands that could accomplish this as time expires. Care to share?


Oh yes....no sharing. Sorry :|
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: Why some guys seem to increment their remaining time?

Postby casvdry » 09 Jan 2009 16:00

A little googling led me to my answers :)
User avatar
casvdry
New Member
New Member
 
Posts: 3
Joined: 05 Jan 2009 11:58

Re: Why some guys seem to increment their remaining time?

Postby zappa_engine » 10 Jan 2009 15:58

Speed chess was one of my favorite interests when I worked with these ICS emulations. Some secrets people can use are:

1) speed up the pulse of reading data from the server. At the moment, it's set to 0.05 sec, but you can change that to 0.01 (don't set to 0.00 because it will draw CPU usage way more than needed). That means you'll be saving 0.04 seconds per move. Multiply that by a 50 move game and you've saved 2 seconds over the standard auto-player. It's not uncommon for a speed player to make 50 moves in 10 seconds. Instead, you're making 50 moves in 8 seconds!
2) send falsified/customized* time data to the engine interface to force a speedier response

I suspect option #2 has been around some time, but I notice option #1 hasn't :)
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: Why some guys seem to increment their remaining time?

Postby mocha_1961 » 10 Jan 2009 22:43

zappa_engine wrote:Speed chess was one of my favorite interests when I worked with these ICS emulations. Some secrets people can use are:

1) speed up the pulse of reading data from the server. At the moment, it's set to 0.05 sec, but you can change that to 0.01 (don't set to 0.00 because it will draw CPU usage way more than needed). That means you'll be saving 0.04 seconds per move. Multiply that by a 50 move game and you've saved 2 seconds over the standard auto-player. It's not uncommon for a speed player to make 50 moves in 10 seconds. Instead, you're making 50 moves in 8 seconds!
2) send falsified/customized* time data to the engine interface to force a speedier response

I suspect option #2 has been around some time, but I notice option #1 hasn't :)


where can we change the pulse of reading data and how
No matter how strong and dedicated a leader may be, he must find root and strength amongst the people.
User avatar
mocha_1961
Advanced Member
Advanced Member
 
Posts: 74
Joined: 17 Dec 2007 02:09

Re: Why some guys seem to increment their remaining time?

Postby XsupremeX » 11 Jan 2009 00:25

mocha_1961 wrote:
zappa_engine wrote:Speed chess was one of my favorite interests when I worked with these ICS emulations. Some secrets people can use are:

1) speed up the pulse of reading data from the server. At the moment, it's set to 0.05 sec, but you can change that to 0.01 (don't set to 0.00 because it will draw CPU usage way more than needed). That means you'll be saving 0.04 seconds per move. Multiply that by a 50 move game and you've saved 2 seconds over the standard auto-player. It's not uncommon for a speed player to make 50 moves in 10 seconds. Instead, you're making 50 moves in 8 seconds!

I suspect option #2 has been around some time, but I notice option #1 hasn't :)


where can we change the pulse of reading data and how



Interesting. No wonder some players when I ping them they are always in delay 0.00 to yahoo. :hhh
Interesting thing too is when I used to connect to yahoo in dial-up connection using ychessmaster program I was fast in 1/0 like 10moves in 1sec a long time ago.

Pls!!! If you could show us how Zappa like Mocha requests it would be a very good help for all of us in 1/0
4ut0 ch355 m3mb3r x5upr3m3x...g00d g4m3 f0r 4ll...y4h000000! :ok
User avatar
XsupremeX
Co-Admin
Co-Admin
 
Posts: 1311
Joined: 24 Jan 2008 23:50
Location: Brazil

Re: Why some guys seem to increment their remaining time?

Postby zappa_engine » 11 Jan 2009 02:56

You can only do this if you run the .PL file instead of the .EXE version.

Inside the .PL perl file, search for the string: can_read

The complete line may be like this:
foreach my $i ($sel->can_read(0.05)) {

Change the number there from 0.05 to 0.01 to change the read pulse.
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: Why some guys seem to increment their remaining time?

Postby XsupremeX » 11 Jan 2009 03:20

I just found out that line. Really thx Zappa. :ok

Time for some tests :twisted:
4ut0 ch355 m3mb3r x5upr3m3x...g00d g4m3 f0r 4ll...y4h000000! :ok
User avatar
XsupremeX
Co-Admin
Co-Admin
 
Posts: 1311
Joined: 24 Jan 2008 23:50
Location: Brazil

Re: Why some guys seem to increment their remaining time?

Postby XsupremeX » 11 Jan 2009 03:57

Re-edit: After some tests my prog delay became a little better. I must say more 2secs to make some 4moves hehehe
4ut0 ch355 m3mb3r x5upr3m3x...g00d g4m3 f0r 4ll...y4h000000! :ok
User avatar
XsupremeX
Co-Admin
Co-Admin
 
Posts: 1311
Joined: 24 Jan 2008 23:50
Location: Brazil

Re: Why some guys seem to increment their remaining time?

Postby matematiko » 19 Jan 2009 20:36

In a private message (we moderators can read all the Private Messages, so in reality they are not so private) someone wrote:

looks like a cheat to forum members whoever made the yay3. why make it .05 on the first place. so they themselves will win mostly in 1/0 games? thx to zappa


If you have a problem with YaY, just don't use it, or bring your issues out in the open, but I am not going to let you call me a cheater. Do your homework before making false accusations.

The 0.05 "read pulse" (as zappa_engine calls it) it is from the original series of YtoICS scripts and has been inherited by YaY and probably Reborn. I myself did not know about this settings, and of course I change my own script to 0.01 but just right after zappa_engine mentioned it. This change is now on the list of changes for a future YaY (3.1.2) release.

Are you suggesting that I knew about this setting and deliveratly make a release with a 0.05 and make mine 0.01 so I can have an advantage? I don't like to win like that. It does not give me any sense of satisfaction. I win because I am better, because I spent lots of time making my own books, because I spend lots of time tweaking my computer and my operating system, and because to some extent I live in Texas and not in Brazil, but there is nothing I can't do about that, or do you want me to move to the end of the world also so I don't have that little advantage?

Are you suggesting that all this time (years) I was wining because you were using 0.05 and I did have (which I did not) 0.01?

Stop making excuses dude, if you really want to win you need to prepare better for battle instead of looking for easy excuses.

I am willing to adjust my read pulse back to 0.05 and play against you, would you take the challange?

You know who you are, I hope you read this asshole and apologize.


Oh by the way, I quote from http://perldoc.perl.org/IO/Select.html

can_read ( [ TIMEOUT ] )
Return an array of handles that are ready for reading. TIMEOUT is the maximum amount of time to wait before returning an empty list, in seconds, possibly fractional. If TIMEOUT is not given and any handles are registered then the call will block.


So, probably there is not even an advantage with this new setting.
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: Why some guys seem to increment their remaining time?

Postby dene » 20 Jan 2009 06:54

looks like a cheat to forum members whoever made the yay3. why make it .05 on the first place. so they themselves will win mostly in 1/0 games? thx to zappa



I have to say im quite disapointed by this comment. Especially after seeing who wrote it! These kind of comments make me wonder if its worth us spending any more of our personal time working on any future public versions of YaY... and instead let people make their own programs next time yahoo completely change the log in protocols (like when the captcha was added and old YtoICS and Yics stopped working).



can_read ( [ TIMEOUT ] )
Return an array of handles that are ready for reading. TIMEOUT is the maximum amount of time to wait before returning an empty list, in seconds, possibly fractional. If TIMEOUT is not given and any handles are registered then the call will block.


So, probably there is not even an advantage with this new setting.


I concur... after seeing zappas post and making this mod to my own personal script... I noticed absolutely no difference to my speed in 1/0 games what so ever. Still thanks to zappa for the suggestion, it was worth trying.

User avatar
dene
Co-Admin
Co-Admin
 
Posts: 385
Joined: 04 Oct 2007 07:46
Location: United Kingdom

Next

Return to Polyglot

Who is online

Users browsing this forum: No registered users and 0 guests