In game Jon Ko vs. jacksakura2002 the game result says “Black wins by Timeout”, but that can’t be right. I (black) have just played a move, so white should’ve still had a full 30s byu-yomi period. I’m not even sure whether I’ve heard the “Black wins” before or after I played my last move, which means, white could’ve timed out while it was black’s turn.
White apparently had some connection issues during the game, as the lightning symbol was shown a few (3+) times for 20, 30 seconds or more (I don’t remember exactly). The second time the lightning appeared I paused the game after some seconds, because I wanted to give white a chance to react to the connection issues, but white just kept playing at some point so I ended the pause (pressed “resume”).
Regarding post game chat: I’ve asked white if they resigned, but their “Ya…” came so quickly, I think it was meant as an answer to my previous question.
To me it looks like your opponent timed out on their previous move but they placed it (allowing you to place yours) before the system processed their timeout.
Rather like placing a stone IRL and then having the clock expire before they got their hand over to it.
But I’ve spent some time thinking on my move before the game end was announced. And anyway the system shouldn’t allow the stone to be placed if the player already ran out of time. So something seems off here.
My game was different though. In the 9x9 game white’s move went through although white lost by timeout. In my game it was me (black) that played a move when white timed out (20 seconds after white’s last move).
But I’ve looked at the game details via the API and apparently white spent 31 seconds on their last move, so it could still be possible that white timed out on that move, if they didn’t have any more periods. With the pause I don’t know how to exactly figure out how many periods they had left.
So maybe you’re right, white might have timed out correctly and it just took the server 20 seconds to figure that out, which caused the confusion. Or it took the server 20 seconds to notify my client and it still accepted my move.
A similar game. This time black lost on timeout after playing a move (but today there was no pause during the game, though I remember slight connection issues for my opponent/black).
Looking at the move times via the API it seemingly happened like this:
Black was on their last byo-yomi period and exceeded it by 8 seconds
Black’s move was placed on the board
White took 14 seconds to respond
Immediately after white responded the result was announced. (“White wins by Timeout”)
So my guess is: Black timed out correctly, but both players could still place a stone before the result was actually announced.
Is it possible that the disconnect timer doesnt care whos turn it is? In that case you could time out because of connection issues (as opposed to the game clock) even on your opponents turn.
I havent checked this, its just an idea.
The disconnection timer runs for five minutes in those default live games and restarts for every disconnection AFAIK. The connection issues weren’t that big, so I don’t think that was the issue in yesterday’s game. And I think then the result would be “wins by Disconnection” instead of “wins by Timeout”.
Are you thinking “each of the players’ clients was behind the real situation - the server had already decided black had timed out, but the players’ clients didn’t find out yet, so they got to play another turn”.
I don’t have a clue how server and client are communicating at the end of the game, but I think the server shouldn’t allow more moves if it already decided the game is over. (Of course the clients also shouldn’t allow more moves once they know the game is over).
Good point, sadly I didn’t notice that black was running out of time. I remember that I noticed at some point that they were down to their last period, but I didn’t pay attention to their 30 seconds counting down. I was (most likely) looking at the board until I saw my opponent’s move, then thought about how to respond, then I played my move and then I heard the announcement surprisingly fast, so fast I can’t say whether it was before I played or after that.
If I hadn’t checked the API to see how long it took my opponent to play, I wouldn’t believe the result to be correct. I just hope the API is providing correct numbers, but I don’t really have a reason to doubt that.