diff --git a/src/pyg2o/server.py b/src/pyg2o/server.py index cbb382a..46b806a 100644 --- a/src/pyg2o/server.py +++ b/src/pyg2o/server.py @@ -130,8 +130,11 @@ class Server: cls._logger.exception(f'Ошибка декодирования JSON: {e}') except WebSocketDisconnect: cls._logger.info('WebSocket клиент отключился') - playerid = next((key for key, values in cls._registered_clients.items() if connection in values), None) - if playerid is not None: cls._registered_clients[playerid].remove(connection) + if connection == cls._server_connection: + cls._server_connection = None + else: + playerid = next((key for key, values in cls._registered_clients.items() if connection in values), None) + if playerid is not None: cls._registered_clients[playerid].remove(connection) except WebSocketException as e: cls._logger.exception(f'Ошибка WebSocket подключения: {e}')