Compare commits

...

2 Commits

View File

@@ -125,6 +125,14 @@ class Server:
async def _handle_connection(cls, connection: WebSocket, token: str):
if token not in cls._static_tokens and token not in cls._temp_tokens:
logger.info(
'Ошибка доступа при подключении по WebSocket',
log_type = 'PyG2O',
connection = f"{connection.client.host}:{connection.client.port}",
token = token,
temp_tokens = cls._temp_tokens,
static_tokens = cls._static_tokens,
)
await connection.close()
return
@@ -187,9 +195,21 @@ class Server:
case {'event': 'create_temp_token', 'token': token}:
cls._temp_tokens.append(token)
logger.info(
'Создан новый временный токен',
log_type = 'PyG2O',
connection = f"{connection.client.host}:{connection.client.port}",
token = token,
)
case {'event': 'remove_temp_token', 'token': token}:
cls._temp_tokens.remove(token)
logger.info(
'Удален временный токен',
log_type = 'PyG2O',
connection = f"{connection.client.host}:{connection.client.port}",
token = token,
)
case {'event': 'init_temp_tokens', 'tokens': tokens}:
cls._temp_tokens = cls._temp_tokens + list(tokens.items())
@@ -254,7 +274,7 @@ class Server:
playerid = next((key for key, values in cls._registered_clients.items() if connection in values), None)
if playerid is not None: kwargs['playerid'] = playerid
asyncio.create_task(call_event(event, **kwargs))
if (event != 'onTick' and event != 'onTime'):
if (event != 'onTick' and event != 'onTime' and event != 'onPlayerChangeChunk'):
logger.info(
'Получено сообщение от сервера' if connection == cls._server_connection else 'Получено сообщение от клиента',
log_type = 'PyG2O',