FAForever / FAForever/server

disconnect peers from player closing the game

オープン
#345 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
72
フォーク
84
平均マージ
5時間 11分
マージ済み PR(30日)
1

説明

I'm experiencing two issues in my [ice branch](https://github.com/muellni/server/tree/ice):
- if the host closes his game, the other peers do not get the `DisconnectFromPeer` message and will get the timeout after a while
- if a player Alt-F4 quits during the game the other peers also only get a timeout after a while

If the client detects the game process has quit, the server [gets noticed](https://github.com/FAForever/server/blob/develop/server/gameconnection.py#L434).
This [triggers `abort()`](https://github.com/FAForever/server/blob/develop/server/gameconnection.py#L475) but `abort()` will never reach the [`DisconnectFromPeer` code](https://github.com/FAForever/server/blob/develop/server/gameconnection.py#L454), because the game is not in `GameState.LOBBY` for these two cases (because the [host quitting will trigger on_game_end() before](https://github.com/FAForever/server/blob/develop/server/games/game.py#L319))

I would suggest to inform the other peers here: https://github.com/FAForever/server/blob/develop/server/gameconnection.py#L434

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。