frolag
August 25, 2025, 8:02pm
1
In 2023 , I thought I had made a good case that the anti-stalling feature should not activate when there are some dame left. I also posted an explicit example where I was possibly robbed of a win. I had some strong support from people like @Uberdude , but I don’t think the fix was implemented.
Well, today I have an example game that is even better. The win is explicit, not just hypothetical.
Move 200: my opponent passes, but they still owe me a defensive move.
Moves 201, 205, 209: I use some threats to prevent the anti-stalling feature from triggering while I fill the dame.
Move 211: I fill the last relevant dame.
Move 212: my opponent still passes, oops!
It’s ugly to use threats in this manner, but necessary on OGS as long as anti-stalling triggers prematurely.
13 Likes
Another excellent example!
Pretty funny that OGS’s “anti-stalling” feature makes you play more “stalling” moves (pointless sentes inside the opponent’s territory) so that when they “stall” (prolong the end of the game by passing instead of defending) OGS doesn’t stop the players competing in a game of skill and unilaterally award the win to the wrong player.
Alanis Morissette could even sing about it.
8 Likes
I’ve also run into this and posted about it before. I can not agree with you more that this needs to be fixed. I too intentionally play empty threats in order to prevent the anti-stalling feature from being prematurely triggered
1 Like
Other Good Posts
It was mentioned here before: using Chinese rules passing loses points before all dames are filled. This could be used to judge whether the passing happens prematurely or not. Win by server decision after three passes that didn’t lose points under Chinese rules.
The reason given by Anoek is that it is safe for the winner to pass three times in a row and the winning rate is still greater than 99%.
However, the current situation is that the loser’s three consecutive passes will trigger a server decision.
This should be inconsistent with the original design of the system, and I think the mechanism of the loser passing three times to cause the opponent to win feels very strange.
If the winner thinks the game can still continue, then why not?
Recently my opponent and I had that message when I was simply closing all remaining Dame points while he (many many stones stronger than me, and obviously winning) resigned three times in succession … that didn’t feel good … especially as I have learned that it is “good style” to close all neutral points before passing.
I agree that all of these are bad.
But shouldn’t filling neutral points be excluded from this feature?
These are NOT “useless moves”—yes, some neutral points are plain Dame , but others are Teire and can thus force the opponent to play inside their territory (—> -1 pt).
I was taught that at the end of a game all neutral points should be filled, and I’ve not yet been convinced that I was taught to play useless moves.
Now, some of my opponents are (IMNVHO) sloppy and pass instead, repeatedly,…
Nobody disputes that. Several people, including me, have pointed out that one needed way to tweak the new feature is to allow the filling of dame before the feature is triggered.
I am glad it took me several days to read this thread, as it allowed me time to mediate my positions and consider more positive aspects of the anti-stalling feature which I had not initially thought of in my reactionary first impression.
tldr, I am, contrary to my initial impressions, okay with the anti-stalling feature, some caveats notwithstanding, and am glad the anti-escaping feature was increased to 60 seconds, but wish it was reverted to the full 5 minutes.
Anti-Stalling Feature
If I und…
I still agree with what I posted here, but I would like to add one more caveat to my comments on the Anti-Stalling Feature: only the player who passes x times in a row (I believe it’s 3, currently) ought have the option to end the game by server decision, the player who is still playing stones ought not be given that option
If this is already the case, then great! but I have not been able to ascertain whether or not it is
In the situation in which my opponent is trolling by refusing to pass ev…
Hmm, so it seems there are more potential issues which can arise than just the case @Samraku and I previously discussed about this (bolding mine) :
I just came across another case in which this seems to have backfired and helped a player who was continuing to stall, to somehow win the game without having to play out any sequences.
(They were behind and all of the borders had been sealed, continuing to play inside opponent territory (including moves like the 1-1 point), whilst the opponent who…
Frankly, I think a unilateral pause will be much easier to abuse in live games.
The solution to the game @fuseki3 shared is simple: only show the “end” button to the player who is passing!!
It actually took longer than I exepcted for an opponent to abuse the system to earn a “win” in a game that they were destined to lose on time. This was an absolute timed game. The other player was ahead on points but had managed time poorly, and they just started passing with three seconds left on their clock before the board was fully closed up. I kept playing with many minutes left on my clock and half of the end-game ahead. The server intervened and awarded them the win on points.
As I spec…
Some months ago there were many people, including myself, suggesting improvements to the so-called anti-stalling feature to make it actually an only anti-stalling feature and not an anti-not-resigning-when-you-are-losing feature, but these seem to have been forgotten and no action taken, perhaps with the recent development focus on the automatch changes. Addressing these, rather than telling people off via moderation channels for using the current feature with its problems, would be a good idea. …
Only activating the Antistalling feature if passing doesn’t change the expected score by more than 0.49 would account for 90+% of this, right?
This is a more complicated one, because certainly there can be threats to play that shift the score by huge margins. But I think if the server is looking at the game score, the availability of huge threats does not impact what it thinks the likely end score of the game is because there are simple answers to those moves. If you and I are playing, and you are 99% to win, and I make “ko threat” kind of move that threatens a huge group, the server does not switch to me being 99% to win until it see…
I also think this 3 pass feature triggering once incorrectly is a much worse negative than it triggering once correctly: it is much more rude for a go server to stop you playing legitimate go than a human player to play stalling moves, see Server ending game by its own decision - #39 by Uberdude . So if 40% of triggered cases are mid game, and even if of those only 20% are false positives where the player forced to lose was not stalling but just losing, by my value judgement ratio it would be a n…
I think that would for sure. The AI breakdown shows all the moves. +5 here, -7 here. It should be able to tell that no move will change the outcome.
I’d also like that. The evaluation doesn’t have to start running until after the passes, so it shouldn’t be that many calls to katago, particularly since katago is already being called once in that situation to test for gap>10
Too Long, Didn’t Read
Instead of giving both players the option to end the game by server decision if either passes 3 times consecutively, it is proposed that only the player who passes 3 times in a row be given the option to end the game by server decision, the player who is still playing stones be not given that option
Reasoning
There are two most likely explanations when one player is playing useless moves after all dame and teire are filled: the player is new to the game, or the player is t…
Two concrete examples where this proposal would have resulted in a better outcome (taken from GH issue 2473 )
Black had the opportunity to kill a small group and win by 26 points, but neither player saw it
The boundaries are filled, white passes
Black continues to play in white’s area
After three of White’s passes, Black is presented the option to win by Server Decision
Black was ahead by ~10 pts. Around move 300, Black started passing, while White kept playing. Then White placed a stone…
I was thinking on this and how it also helped me very much as a DDK/weaker SDK to be able to learn where I needed to defend/respond or not, and to die or have swings at the end of the game as a result of missing teire.
I feel that’s an important part of the game & learning experiences when improving in Go, and I also worried that the anti-stallling features would lead new (or experienced) players to learn much less in that way – simply because the buttons currently read :
“Server Decision, P…
Is there a way to disable this function? I do not like when it happens in a game I am winning or losing. It feels so intrusive. It also does not give a chance for a lesser player to learn when and not to invade.
Today in a correspondence game I passed, a couple of times, the other player was playing and the server asked if I accepted its decision. I did not reply and have never seen a decline button. The server ended the game despite my not accepting it.
If I wanted to play the computer I…
I have not had many players really play on in impossible situations. And when I have it was with people who really did not understand when the game is really over. It is part of the learning.
Wrong, because the win% is based on a superhuman AI which can see weaknesses inside territory which need defending when dame are filled, and so would do so to preserve the win%. The weaker human players may not see that weakness, and not defend, and the winner changes when exploited. There was a good example of this in a previous thread about this feature.
No, because you might need to fill 4 dames to make the move inside work. Quoting yourself:
Animiral
Sep 2023
Nice catch, I really failed to consider teire moves.
So the anti-stalling opens up the possibility to skimp on teire by passing prematurely.
To be fair, @Samraku ’s suggestion* is uncontroversial and moves us in the same direction (be more conservative about Server Decisions).
* just to make sure we’re talking about the same recommendation, this is what I’m referring to:
I suppose different people have different value judgements on new features like this, that can help deal with problem behaviour in some cases (helping deal with genuine stallers), but introduce their own problem behaviours in others (stopping non-stallers from finishing their games and playing a game of skill to the end). What ratios are people happy with between the two situations? I tend to follow Blackstone’s Formulation “It is better that ten guilty persons escape than that one innocent suff…
I would argue that being punished unfairly by the server is a much greater “suffering” than encountering a staller.
There is something about “unfairness” that humans simply can’t accept.
“My opponent is this game was a dick” is easily accepted, but “I would have won this game if the server hadn’t arbitrarily decided I should lose” is not.
Not to mention, there are thousands of users, but only one server. If I encounter one opponent with a bad behaviour, that’s not going to affect my pleasure…
The 20 points lead is not a so decent indicator because it’s calculated by an AI not by humans who may have a very different opinion (for example due to a group status)
They can really be arbitrary. Once a close game between 2 six dan. Both thought a group was alive but that was kind of hallucination it was dead. Then I can imagine that to make a few things clear one pass a few times while the other add a few stones. Here could come a surprising win for stalling… This may even more happen wi…
I agree with this. It goes against the spirit of the game to have any third party (AI or otherwise) decide when a game is over. Go is the only game in the world that ends when both players decide that it’s over. This feature disrupts this aspect of the game.
OGS has, perhaps unwittingly, invented a new Go variant “Can you afford to pass 3 times? Go” or “- - - Go”*, and we are all playing it. If you are ahead and past move 120, rather than playing moves to try to win, you can take a gamble and pass: if your opponent doesn’t have a ko threat type move big enough to drop your lead below a KataGo estimate of 99% after you pass following the ko threat, they follow up on the threat and you pass again, then you win. But be warned, if you are still winning …
In endgame winning by 10 points can be 99% according to KataGo. And if the temperature of the board is low, with just 1 or 2 point moves available, then you be 15 points ahead and 99.8% winning, pass 3 times and let them grab a couple 1-2 point moves, and then be 10 points ahead and 99.0% winning and get the win awarded to you. So opponent needs to find some big (>15 is plenty, even 10 points could be enough if reduces you to 80% winrate) ko threats you need to answer rather than pass to break y…
If the game was not ended by the new 3 pass rule, white would have had the opportunity to make a mistake once all dame were filled to not play a defensive move inside their territory at e.g. g15, and if white did so then black could have won the game.
This system does stop you learning about when teire are necessary.
The opponent also needs to be aware of the 3-pass rule, and I think the vast majority of players on OGS will not be aware of it. So in most cases the opponent will just be wondering “Why is my opponent passing early?” and won’t look for ko threats.
This is true only IF KataGo is correct in its evaluation (usually, but not always, it can get complicated semeais etc wrong, particularly with the low playouts OGS presumably uses because doing 100,000 playouts for this feature would cost too much compute resource) AND IF both players play don’t make mistakes according to KataGo’s optimal line (much more likely with the fallible humans playing on OGS).
To take frolag’s example from the other post in this new variant passing 3 times made frolag…
The 2 nonzeros here are quite different. 10% is a lot more than 0.0001%. Even dan players missing tiere actually happens. I’ve won and lost games because of it. Filling in your own eyes doesn’t beyond trolls and super noobs.
The idea this system cannot be improved is also wrong. Anoek had already made adjustments, and there are suggestions in other threads for further improvements like only applying when there are no valuable moves left to play to ensure it is only an anti stalling feature and …
Yeah, i think teires and determining whats actually going on pose the biggest problems with the current, or any, implementation of this thing.
The main focus of that anti-stall feature are the situations where game is done, player A passes but player B plays a random stone which has neutral or negative effect on their score, A passes again and B plays another random some, and so on. That unfortunately happens quite a lot, most often in beginner-level games where players might be unsure whether …
So I just (ab)used the anti-stalling feature for the first time by passing 3 times when I was almost 100 points ahead in endgame (and had been 50 points ahead since midddlegame) and didn’t want to keep playing (there was a bent-four-in-corner and Chinese rules so could foresee opponent not agreeing it was dead, no unremovable ko threats), but boy did it feel dirty. It seems ruder than asking the opponent if they’d like to resign (which might not have worked as I think they were Chinese), but it’…
Yesterday I had an opponent do this to me toward the end of a tournament game. They passed twice while I closed a couple of open boundaries. I knew that I was losing badly, but the game was almost over and I had been playing quickly (more or less live in a correspondence game) with reasonable although not outcome-altering moves for the second half. I stopped looking for open boundaries and responded to one of their passes with a pass, and the game got scored with a large chunk of both of our ter…
My second attempt to play new OGS-triple-pass-Go failed: I passed 3 times, I was still 100% win, but I forgot it needed to be after move 180 but it was move 160 so the game continued (now just 40 points ahead, not 140). Oh noes! I still need to improve my skills at this variant.
This seems to be the case, but a bit absurd that the losing party is shown the “server decision” button. That button is meant to prevent stalling, but the losing player has always been free to resign.
In this case, they had no reason to resign unless they counted the points very precisely (I’m ahead by a large margin because the bent four is dead, but it would have been a close game if it had been a seki instead).
It’s possible that they still thought it was a seki when they got the stalling notification? In this case they would have not understood why I “wasted” three moves removing ko threats from my territory, and when presented with the notification they might have believed that I was th…
I really wish we had the option to turn off the annoying AI decision. It is our right and good practice to finish filling dame, and sometimes that leads to opponents making mistakes. It is so damn annoying seeing that AI which I did not invite into my game interrupting it. I do not like it if I am winning or losing. It is like a rude kibbitzer.
This makes me angry enough to go play on a lousy platform like PANDA.
Thank you.
100% agreed. The fix I currently support is to not activate the antistalling feature unless passing would not shift the score by more than 0.49 points (as well as the existing restrictions on when it activates). A related fix I support is to only give the option to the player who is passing, as they may be wishing to allow a new player to try an invasion to see why it doesn’t work, and it wastes their time they invested helping a new player if the new player activates the antistalling feature
As I have learned it, a proper game ending (if it is not resigned) requires closing all neutral points (see Dame , Teire ) – i.e. all points between my and my opponent’s borders.
Any algorithm that interferes with this should be met with salt water and iron fillings.
I think the second adjustment (only granting this feature to the passing player) should really be non-controversial indeed.
The first one is a bit less obvious, but I think I’d be fine with it as well.
However I don’t think this would change anything for OP’s problem? Am I missing something?
I am in favour of an anti-stalling feature using Kata Go.
I am not in favour of an anti-not-resigning-when-you-are-losing-by-a-lot-with-negligible-chance-of-a-superhuman-AI-winning-vs-another-superhuman-AI-but-still-some-decent-chance-of-winning-vs-your-fallible-human-opponent feature using Kata Go, which is what we’ve got now.
An odd characterisation, I’ve noticed a lot of dan players pointing out problems with it, such as myself, frolag and Animiral to name a few.
Look at frolag’s example , there is no dirty trick play. It was his opponent who was winning and prolonging the game by not filling a teire preemptively, so frolag filled the dame to either make him defend (and frolag still loses, but by 1 point less), or miss that he needed to defend and reverse the game, but the opp kept passing and got the AI adjudicated win. OGS should not use AI to absolve people of the need to spot teire to convert their winning position to a scored win.
I have used the 3…
No, if they had resigned, it would have indicated they’d understood why their invasions didn’t work. Activating the Antistalling feature just confirms they have no idea when/how to end a game
Yes, may not be perfect, but significant improvement would be only triggering if the passes don’t change expected score by more than half point in Chinese rules.
Dame is important, no matter the ruleset. Teire: As all the dames are filled, lack of liberties forces players to add stones in their own territory. Sometimes this is game deciding. (But it’s a judgment call again: limiting the anti-stalling feature in this way allows for more stalling, but less games ending before they should.)
OGS’s backend is closed source.
https://forums.online-go.com/t/can-we-please-get-rid-of-ai-interrupting-a-game-and-ending-it/55280/31?u=samraku
https://forums.online-go.com/t/can-we-please-get-rid-of-ai-interrupting-a-game-and-ending-it/55280/32?u=samraku
https://forums.online-go.com/t/can-we-please-get-rid-of-ai-interrupting-a-game-and-ending-it/55280/33?u=samraku
https://forums.online-go.com/t/can-we-please-get-rid-of-ai-interrupting-a-game-and-ending-it/55280/45?u=samraku
https://forums.online-go.com/t/can-we-please-get-rid-of-ai-interrupting-a-game-and-ending-it/55280/47?u=samraku
https://forums.online-go.com/t/can-we-please-get-rid-of-ai-interrupting-a-game-and-ending-it/55280/55?u=samraku
https://forums.online-go.com/t/can-we-please-get-rid-of-ai-interrupting-a-game-and-ending-it/55280/63?u=samraku
https://forums.online-go.com/t/can-we-please-get-rid-of-ai-interrupting-a-game-and-ending-it/55280/72?u=samraku
https://forums.online-go.com/t/can-we-please-get-rid-of-ai-interrupting-a-game-and-ending-it/55280/78?u=samraku
https://forums.online-go.com/t/can-we-please-get-rid-of-ai-interrupting-a-game-and-ending-it/55280/80?u=samraku
https://forums.online-go.com/t/ai-decision-wrong/52112?u=samraku
https://forums.online-go.com/t/ai-decision-wrong/52112/2?u=samraku
https://forums.online-go.com/t/ai-decision-wrong/52112/5?u=samraku
https://forums.online-go.com/t/ai-decision-wrong/52112/12?u=samraku
https://forums.online-go.com/t/ai-decision-wrong/52112/18?u=samraku
https://forums.online-go.com/t/ai-decision-wrong/52112/20?u=samraku
https://forums.online-go.com/t/ai-decision-wrong/52112/25?u=samraku
https://forums.online-go.com/t/ai-decision-wrong/52112/29?u=samraku
https://forums.online-go.com/t/ai-decision-wrong/52112/31?u=samraku
https://forums.online-go.com/t/ai-decision-wrong/52112/36?u=samraku
https://forums.online-go.com/t/ai-decision-wrong/52112/39?u=samraku
https://forums.online-go.com/t/ai-decision-wrong/52112/42?u=samraku
https://forums.online-go.com/t/passing-stalling/53416/2?u=samraku
4 Likes
Oh, I feel sorry for you! If this happens to me, I always tell myself to just to calm down, and focus on the next game ^^
It’s been almost 2 years. Two years of people bringing attention to this problem to minimal response and less action
Normally, I’m the sort of guy who forgets about subscriptions and ends up paying for a service they don’t use anymore for months or even years. Tbh, I don’t generally mind this with OGS, because after all, I’m supporting a great Go server even if I’m not currently active, and I’ll surely come back later
But not even a promise to fix the anti-stalling feature when <insert more urgent thing here> is dealt with? The solution has been sitting in plain site on this forum for well over a year, but it gets roundly ignored
It generally takes a pretty big event to wake me up enough to cancel a subscription I’m on and, well, it seems this thread is it: I’ve just gotten done cancelling my subscription over this. Sooner or later, I’ll have a relapse of the Go bug, and when I do, I hope that the Anti-stalling feature will be fixed so I can again become a supporter rather than going through the inconvenience of reviewing games with AISensei or similar
To reiterate: only the player who passed 3 times should get the option, and they should only be given the option if none of those 3 passes changed the KataGo evaluation of the game under area scoring (regardless of actual ruleset, to protect the right to play dame and teire) by more than ±0.49 points (in addition to the existing safeguards)
1 Like
Feijoa
August 26, 2025, 5:17am
7
Nice payback.
Interestingly, according to the level IV analysis, Black’s 3 passes each gained Black a point. I think it’s because KataGo then thinks that White’s best play is to hopelessly try to invade and eventually that teire threat gets removed for free. (I know it’s not Chinese rules like you wanted.)
But also when passing, Black’s win% dropped from 99.8% to around 96.5%. Doesn’t the drop in win% mean that anti-stalling wouldn’t have triggered in any case? Of course there was no way to know this during the game.
_KoBa
August 26, 2025, 5:48am
8
Yeah, anti-stalling system is quite bad at dealing with teires :<<
I think there should be some quick ai analysis before the system kicks in, to see whether either player actually needs to play again or not. Of course that analysis would be hidden from the players, but it could be done secretly at the background
Its really not good that player can just declare a win when they still need to play 1 or more moves on the board
3 Likes
I’ll just note that this game wouldn’t qualify for anti-stall (below the 20pt threshold)
Pretty amazing endgame lesson though!
4 Likes
anoek
August 26, 2025, 11:02am
10
I will take another pass at looking through the system with fresh eyes as it’s been some time since I did and maybe I can get some more data on ways to improve things to prevent false positives, but as others note, this game wouldn’t have been called in any case so this isn’t a false positive case.
3 Likes
frolag
August 26, 2025, 5:35pm
11
Indeed, but the existence of threats is not guaranteed (they could all be gone after a ko-fight), which is another reason why it would be better to get anti-stalling fixed.
Samraku:
Other Good Posts
Thank you for the extensive list of related comments. Before posting, I searched the forum but I was nowhere as thorough.
Samraku:
To reiterate: only the player who passed 3 times should get the option, and they should only be given the option if none of those 3 passes changed the KataGo evaluation of the game under area scoring (regardless of actual ruleset, to protect the right to play dame and teire) by more than ±0.49 points
This should work, but it’s interesting to understand why. In a long sequence pass-dame-pass-dame-… I think the Chinese eval changes by 2 points every 4 moves (and stays flat for 3 moves in a row). The eval change happens during a pass because a dame move should not lose points. So the score drop for each of the 3 passes should in theory be 2,0,2 or 0,2,0.
Another proposal would be to compare the eval before the first pass and after the third pass. If in the span of 5 moves the passer lost at least 1 point, then don’t trigger anti-stalling. I’m not sure if my proposal is better, but there would be fewer requests to KataGo.
Wow, this is a bit crazy! KataGo’s score is unstable because it sees some center aji. Probably this case can be detected with the score standard-deviation, or any other measure of uncertainty? If score uncertainty is above some threshold, then don’t trigger anti-stalling.
Is this really a condition? It looks like a band-aid to me, barely correlated with the problem. The eval went from B+16.6 to W+74.0, so we can easily imagine that a slightly different board position could make it start above B+20.0. Also, I remember being the victim of true stalling: my opponent played about a hundred moves inside my and their territory. Am I right that, because of this condition, anti-stall wouldn’t activate in this egregious case if the game is within 20 pts?
If you can code something reliable, then I hope you get rid of some less reliable heuristics whose only remaining effect will be to create some false negatives – letting some instances of stalling go on.
3 Likes
Feijoa
August 27, 2025, 10:17pm
12
Is that the threshold? Here is a server decision game that was around 13 points:
1 Like
benjito
August 27, 2025, 10:33pm
13
13x13 different rules, right? (I don’t recall the small board thresholds)
Edit: hmm am i misremembering? I might be wrong (though i swear i saw 20 pts somewhere)
2 Likes
Samraku
August 28, 2025, 12:11am
14
Some people have said 20 points at various points, but I don’t think it was ever true, just some people misremembering
1 Like
anoek
September 27, 2025, 2:46am
15
FTR I’ve added some code that I think will generally ensure that if there is dame or teire moves left to play the anti-stalling code won’t kick in.
11 Likes
trohde
September 27, 2025, 9:57pm
16
That’s awesome, THANK YOU!
2 Likes