Disconnection protection
planned
B
Backgammon Hub Admin
planned
A
Alfie Kirkpatrick [Developer]
Allan Yarish 🇨🇦 (any1there), pausing of clock is enabled for ladder matches and in most tournaments (at the discretion of the TD).
I recently removed this option for instant challenge matches because there were instances of players using this maliciously - pausing the match and leaving the board when losing.
To pause the clock click the icon next to your opponent's clock display.
A
Allan Yarish 🇨🇦 (any1there)
Alfie Kirkpatrick [Developer] Thanks Alfie. I was in an instant challenge match which is why I couldn't find this. I understand your reasons for removing it though. Is there any way to allow someone to recapture time lost when they disconnect accidently?
A
Alfie Kirkpatrick [Developer]
Allan Yarish 🇨🇦 (any1there) I did have a vague plan for this. I could detect if your opponent hasn't managed to contact the server in, say, 20 seconds and show you a message: "Your opponent appears to have a connection problem. Do you want to pause their clock?".
I can foresee issues with this though. How long will the player be disconnected? What happens if they don't reconnect until hours later, at which point you'll be offline and the match is now stuck.
Perhaps the pause has it's own countdown - "Paused for 5 minutes", and both opponents have to say they're ready to restart.
Never managed to bottom out exactly how it should work and that's put me off starting on it!
D
Denis-George Constantin (playhunter)
Alfie Kirkpatrick [Developer] it is possible for Hub to recognize a disconnection instantly ? I know that some players like to think a lot over their plays and will find themselves with their time bank only having 3-4 seconds left towards the end of a match. For such cases a disconnection protection won't help them if it is detected only after 20 seconds.
For Instant Challenges, when a player gets disconnected, would be good if you auto-pause the match for anything between 2 to 5 minutes until both players are signaling that they are ready to resume. If the missing player does not return, then give the other player two options: a) reschedule for another date and hour; or b) resume the match now and let your opponent's clock run down.
But Tournaments (and likely Rooms matches and maybe Ladders too) should be treated differently, because these are more serious matches. For these tournament matches the Tournament Director should be able to decide how many minutes does he allow a player to reconnect (5, 10 or 15 etc) and what happens if a player does not rejoin the match within that amount of time.
For example, if I would be the Tournament Director and it is a 1-day tournament I think I would allow 10 minutes for resuming the match and if not resumed let the clock run down for the player who got disconnected. But if would be a long tournament spreading over more days, I would allow 15 minutes for resuming the match and if not resumed within that time, auto-put on halt for rescheduling.
PS: for Instant Challenges to pause the clock when both players are online, would be possible to add a confirmation message ? Something like: "your opponent would like to pause the match, do you agree ? Yes / No (two buttons for the answer). If the answer is no, then the match will not be paused. -- It will be paused only a bit later for that default 2-5 minutes disconnection policy if that rouge player also disconnects from Hub. But if someone behave like that when is about to lose a match, for sure the new introduced ban player feature will come handy and that certain player will not bug me again on a future occasion.
If implemented, wouldn't these features address all possible issues ?
A
Alfie Kirkpatrick [Developer]
Denis-George Constantin (playhunter) thanks for all the ideas.
I think most of what you say would be possible, in principle at least, but quite complicated to implement, prone to complex edge cases and perhaps difficult for players to understand.
In terms of the instant disconnection, yes, the system often knows when a player disconnects, but not always, and quite often a player will simply refresh the browser or navigate away for a few seconds which will look like a disconnect. Therefore I don't think triggering a behaviour the moment a player disconnects is a good idea.
My idea is to have the browser send a periodic "ping" direct to an opponent's browser whenever a player is on roll. If a player disconnects or has a poor connection, this ping will be delayed and we can trigger some behaviour. Unfortunately there's a small cost to each ping, so I don't want to send it more than, say, every 10 seconds.
If the opponent doesn't receive the ping in a timely fashion, I propose to display an overlay on the board (see attached).
The overlay shows three options, each of which can be enabled or disabled by the TD:
- Pause the clock. This has the same behaviour as the regular pause clock button
- Gift time. Allows a player to add time to the opponent's time bank. The total amount of time that can be gifted in a match is controllable by the TD
- Postpone the match. Re-schedule for a later date/time
In the case of instant challenge matches, I think the only option available will be the gifting option, with no total limit. Instant challenge matches have all types of player from all over the world, and you can't rely on your opponent to gift you time. However, I think in most cases people will be generous.
I will probably add the gift time option outside of this overlay (eg. combined with the regular pause button), so a player can request more time in the chat, and you don't need to be in the disconnection scenario shown here to be gifted more time.
An overriding principle of this approach is that there is no "automatic" pause or addition of time. It is at the discretion of your opponent. This obviously might cause disagreements: "I disconnected for a couple of minutes but my opponent didn't gift me more time - not fair!!". Ultimately the TD can intervene in these situations.
If automatic addition of time is really needed, I think this can be added on top later. It would be a separate time bank that is automatically drawn on between disconnects.
D
Denis-George Constantin (playhunter)
Alfie Kirkpatrick [Developer] agree that what you proposed now will be a good solution easy to understand for all players.
I think there will still be some players saying that 10 seconds ping may not be good enough for them (but I understand you now why). Just make sure they know about this aspect so they will be very careful to (almost) never go below 11 seconds on their time bank when in a tournament because otherwise they will no longer benefit of the disconnection protection feature in case that the TD enables it. - And maybe make the clock signalling low time bank at 25 seconds left instead of 15 as is now.
One question regarding this: what happens when the TD only enables the Postpone Match option and none of the other two ? If the behaviour was triggered after the match has started (say was 2-0 for a player and they were in the middle of a backgame with cube on 4), will the players be able to use the Postpone option and continue from where they were left ? - If the answer is yes, then I think that everything is good enough.
The gift time idea is brilliant ! Excellent for Instant challenges - won't let a player wait when someone disconnected when they were about to lose, but will also serve as a great solution to continue the match if someone wants to. When someone disconnects, personally I feel is fair to wait for them 5 minutes to return, so I will gift them that amount. But what happens after that, their clock will run down or they will instantly lose the match ?
A
Alfie Kirkpatrick [Developer]
Denis-George Constantin (playhunter)
My idea with gifting time was that it would be added to the player's time bank. So if I'm playing you I might see your clock run down and decide to give you 1 minute on your clock. If that minute runs down, maybe I give you another minute, and so on. If the TD decides there is a max of 5 mins I cannot gift you more than that.
Your idea could also work or maybe be in addition but might be confusing.
D
Denis-George Constantin (playhunter)
Alfie Kirkpatrick [Developer] during the match, I think I will not gift time (unless maybe he expressly ask me to), because I tend to think that my opponent is pondering about his play (or cube decision). Maybe only if I notice that he is no longer online and I see no green line under his nickname. But if the disconnection is triggered, then yes, I'll give that 5 minutes gift amount and wait for him to return. - This would be for Instant Challenges.
For tournament matches, if the TD allows gifting time, then I think should be no limit on it, whatever the players are willing to, should be acceptable. I see this helpful if a player tells me that he have a bad connection and I don't really want to interrupt the match and Postpone / resume it for another date. But in case the TD don't allow gifting but enabled Postpone option for scheduling and resuming the match at another date, in such situation I have to agree with my opponent to interrupt the match which we already started and find another time to resume it, when he will have a better connection.
EDIT TO ADD: I feel I need to explain a bit further about how I see it.
If I am the TD, for 1 day tournaments I will not allow Postpone option, but only Gifting Time option (without a limit on it) because this would be the solution to allow them complete their match (even if too slowly) in cases where one or both players have poor internet connection. This way I will still be able to finish my event during the same day. - Gifting time option should be available during the match, by clicking the clock icon as you proposed.
For multi-day tournaments, for sure I will enable the Postpone feature, and maybe I will also allow Gifting Time option (without a limit on it) as well. But for sure there will be cases of multi day tournaments when I will not allow Gifting Time, tournaments with Speed Time setting for example - those tournaments will only have the Postpone feature from me as a TD. - If enabled by TD, the Postpone feature should appear only when a disconnection is triggered and it should not be optional, but enforced (this is basically the disconnection protection policy which I was asking for) ! If the TD did not enabled the Postpone feature and a player got disconnected during the match, then everything is just as of now - his clock continue to run down until he eventually forfeits the match by losing on time if he can't return and resume his play before his time bank runs out.
As for Instant Challenges, Gifting time option should be available during the match, by clicking the clock icon as you proposed. But when a disconnection is triggered, there should be an overlay which ask me to: wait 30 seconds / 60 s / 90 s / 120 s / .. / 300 s / .. / 900 s / etc. If I see it was an accidental disconnection, I will click wait 300 seconds (5 minutes), but if I see I was about to win the match and my opponent disconnected, I will click to wait only 30 seconds (which is the lowest option). Then, after that time (30 seconds) elapses, I should instantly win the match - this is very helpful for situations where for example I play a 7 point match, my opponent has 6 minutes left on his time bank and I seem to win a gammon with cube on 4 and he got disconnected.
But I think for Instant Challenges maybe the Postpone feature should appear in that overlay as well, this time being only an option and not an enforcement as it will be in tournaments when the TD enables it. - I think I will use the Postpone option only when I know my opponent.