Critical tasks for WebSocket game logic:
Error when updating position
After receiving the map coordinates, the server responds:
{"action":"error","message":"Internal server error."}
After this, it stops processing any commands, including position updates and player actions.
Reset state command before searching
A command is required that completely clears the game state before starting a new search. Currently, in case of an unfinished game, the server responds:
{"action": "error", "reason": "already_in_game"}
I cannot complete the command, and I cannot take any action; the socket responds:
{"action":"error","message":"Internal server error."}
Forced game termination command
A command is needed that reliably terminates any hanging game and triggers:
{"action": "game_over"}
This is necessary in case of crashes and instability on the server side.
Score issues during the game
Sometimes the score (for example, silver) stops updating during the session, even though data is being sent. Diagnostics and fixes are required.
Problems when searching for an opponent
Sometimes the user search hangs or causes failures. It is necessary to test and eliminate instabilities in the matchmaking logic.
Testing game mode with a user
Playing with another player can also behave unstably. Full testing is needed to ensure the correct operation of all scenarios: search, start, position exchange, and completion.
Main task:
Test and stabilize all WebSocket logic:
– stabilize operation,
– eliminate bugs and freezes,
– ensure reliable handling of all states.