Критичные задачи по WebSocket-логике игры:
Ошибка при обновлении позиции
После получения координат карты сервер отвечает:
{"action":"error","message":"Internal server error."}
После этого он перестаёт обрабатывать любые команды, включая обновление позиции и действия игрока.
Команда сброса состояния перед поиском
Требуется команда, которая полностью очищает состояние игры перед началом нового поиска. Сейчас в случае незавершённой игры сервер отвечает:
{"action": "error", "reason": "already_in_game"}
Завершить командой я не могу, и что либо предпринять не получается получаю ответ от сокета
{"action":"error","message":"Internal server error."}
Команда принудительного завершения игры
Нужна команда, которая гарантированно завершает любую зависшую игру и вызывает:
{"action": "game_over"}
Это необходимо при падениях и нестабильностях на стороне сервера.
Проблемы со счётом во время игры
Иногда перестаёт обновляться счёт (например, серебро) во время сессии, хотя данные отправляются. Требуется диагностика и исправление.
Проблемы при поиске соперника
Иногда поиск пользователя зависает или приводит к сбоям. Необходимо протестировать и устранить нестабильности в логике матчмейкинга.
Тестирование режима игры с пользователем
Игра с другим игроком также может вести себя нестабильно. Нужно провести полное тестирование, убедиться в корректности работы всех сценариев: поиск, старт, обмен позициями, завершение.
Основная задача:
Протестировать и привести в порядок всю логику WebSocket:
– стабилизировать работу,
– исключить баги и подвисания,
– обеспечить надёжную обработку всех состояний.