Auto-translated
Yesterday, the almost completely rewritten server was finalized and put into operation.
The launch didn't go smoothly, and bugs were fixed until the middle of yesterday.
Of course, there are still some rough edges and imperfections, especially on the client side, but overall, it seems to have turned out very well.
What's new and what problems have been solved:
The server itself now works more smoothly and without glitches (many internal problems and memory leaks have been fixed).
[-] There should no longer be duplicate players and games in the lists, players with "?" instead of a name, or anonymous messages in the chat.
New, improved reconnection mechanism in case of disconnection:
[-] Previously, restoring the game after reconnection was only possible for a started game for two players. Now it's possible for any number of players (people), and for games that haven't started yet.
[-] Previously, there could be a situation where the server hadn't yet "realized" that the user had disconnected, but was already receiving a message from that user about wanting to reconnect. The server processed such an event incorrectly, and reconnection did not occur. If the user was in the game at that time, a message would pop up saying that he had left the game himself, and the status in SoD would change until the game was restarted.
Now this situation is impossible.
[+] Now, when reconnecting, the player can see its stages in detail:
Restoring connection to the server...
Connection restored. Waiting for data from the server...
Data from the server received. Waiting for data from players...
Data from "player such-and-such" received
[+] Now, reconnection and resuming the game works even after a server restart or a minor update.
The player now receives notifications in the chat about the reason why the opponent left the game: crash, disconnection, or leaving.
Of course, it's easy to disconnect by simply turning off the internet, and there are many other ways to do it. Plus, the server may occasionally process a game exit as a disconnection.
But you can trust the message about a crash or intentional exit.
You can now view the rating and reputation of a player who is offline.
In the chats, messages are separated by date marks.
This is already a client-side improvement: now, when closing the game in the usual way or in case of a crash, the history of unclosed private chats is saved. It is saved locally on your computer, not on the server.
(saving on the server is planned for SoD)
If you have any comments or suggestions, please write.