chips-blockchain / pangea-poker

This is the reference GUI for Pangea Poker, blackchain based decentralised game.
https://chips.cash/
25 stars 16 forks source link

Adding support to the player disconnections on GUI #426

Closed sg777 closed 3 years ago

sg777 commented 3 years ago

Now the backend is periodically sending the players active status info to the GUI, the example json structure format which uses to send this info to the GUI is as below

{
method: "active_player_info", 
player_status: [1, 1]
}

Here player_status array index represents the playerid, and the value 0 means the player got disconnected and 1 means the player is in connection state. So GUI has to process this info and display it to the players.

piggydoughnut commented 3 years ago

GUI will

TheComputerGenie commented 3 years ago

Not sure where to put this comment since it relates to a discord ann, but this seems like the right place....

If the player gets disconnected from the game it is treated as a fold otherwise it can be wildly misused together with Dispute Resolution Protocol.

Is there a set time to reconnect before it's considered a fold? If not, there should be. If a player is disconnected due to an ISP issue (and can establish connection in seconds) only to find out they were force folded in a decent stakes game, they are likely to not want to play. General standard gives players 1-4 times you may disconnect and have 60 seconds to reconnect into the same hand.

sg777 commented 3 years ago

The timeout option is implemented in the GUI, this is in the scenarios where the player is connected but not making any move with in the, in which case the GUI consider no action with in the stipulated time considered as fold.

In the case where the backend gets disconnected, there isn't any support available for the player to rejoin. I see there is a lot of complexity in handling the player rejoining since I need to store the state information of the player at each event in the game. I created new issue https://github.com/chips-blockchain/bet/issues/190 to handle this.

TheComputerGenie commented 3 years ago

In the case where the backend gets disconnected, there isn't any support available for the player to rejoin. I see there is a lot of complexity in handling the player rejoining since I need to store the state information of the player at each event in the game. I'm creating an issue to handle this.

Cool, because I know a lot of good players that will never play if a dc forces a fold 100% of the time (as it creates much ROI loss).

piggydoughnut commented 3 years ago

We are not going through with the GUI implementation here, it will be handled on the backend. If the node disconnects, backend sends fold for that node.

active_player_info was deactivated and its not going to be used.