6 Jan 22:05
Reconnection and recovery
Jason McIntosh <jason_mcintosh <at> med.harvard.edu>
2005-01-06 21:05:51 GMT
2005-01-06 21:05:51 GMT
Though it's not on the roadmap (yet) I definitely want to have reconnection ability in the protocol and implemented in Frivolity this month. The client side is the easy part. See my proposed protocol here: http://www.volity.org/wiki/index.cgi?State_Recovery In a nutshell, the client can, at any point, send a RPC request called volity.get_full_state() to the referee. It responds by calling a sequence of ordinary ruleset-specific RPC requests back on the player, tailed with a volity.state_sent() request to show that it's finished. The more complicated part involves how referees should react to players abruptly leaving the table. There are several ways I think of to handle this, such as: 1. The referee just sits and waits indefinitely for the player's return. The returning player must have the same JID as the lost one. The simplest solution. Also, the lamest. 2. The referee waits for some amount of time for the same-JID-player's return (perhaps determined by table configuration) and then kills the game. It tells the bookkeeper that the player cut out. 3. As above, except that the ref plops a bot in the lost player's seat. It still tells the bookkeeper that the player cut out, and lets the bot take credit appropriately. 4. The referee remembers how many seats were filled (lets call this number S), and then sets all players' status to 'unready', preventing(Continue reading)
RSS Feed