1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00
Commit Graph

71 Commits

Author SHA1 Message Date
Ivan Savenko
35954dc41b Simple workaround to fix vcmiserver shutdown procedure
At the moment, vcmilobby *requires* async writes in order to handle
multiple connections with different speeds and at optimal performance,
without hanging if one player is too slow and can't eat all data server
sent to him at once.

However server (and potentially - client) can not handle this mode and
may shutdown either socket or entire asio service too early, before all
writes are performed, leading to weird freeze on ending scenario where
client would not receive notifications about end of game.
2024-05-14 19:40:20 +00:00
Ivan Savenko
7188849aa4 Show active room invites and invited players in UI 2024-05-13 12:12:55 +00:00
Ivan Savenko
a4ea74fbbc Send list of active invites as part of room description 2024-05-13 11:43:28 +00:00
Ivan Savenko
8b15836547 Do not attempt to load Json from empty string 2024-05-12 19:26:08 +00:00
Ivan Savenko
67cf37b85b Fixed check for number of players in the room 2024-04-23 19:21:30 +03:00
Ivan Savenko
ff1aa4407c Fixed database version upgrade 2024-04-23 17:15:59 +03:00
Ivan Savenko
e5f8cefa7f Store and send mod list and game version for game rooms 2024-04-23 17:15:59 +03:00
Ivan Savenko
2c5e6974dc Do not allow creation of accounts with same name and different case 2024-04-05 18:50:06 +03:00
Ivan Savenko
7bc81101a2 Add logging for when account or match server disconnects 2024-03-30 10:24:13 +02:00
Ivan Savenko
acd2352653
Merge pull request #3699 from IvanSavenko/lobby_tweaks
Minor tweaks for most noticeable issues with new lobby
2024-03-30 00:13:14 +02:00
Ivan Savenko
64a5a355e5
Merge pull request #3698 from 678098/fix_include_guards
Fix: include guards, licenses, StdInc
2024-03-29 17:30:38 +02:00
Ivan Savenko
2deca842de Log sucessful logins for convenience 2024-03-29 15:04:03 +02:00
Ivan Savenko
2a717a6d66 Fix typo 2024-03-29 15:03:42 +02:00
Evgeny Malygin
25125f96da
Fix: licenses, pragma guards, StdInc 2024-03-29 07:48:52 +02:00
Ivan Savenko
2c7025f7f8 Remove old config options, set defaults to our public server 2024-03-28 12:07:49 +02:00
Ivan Savenko
671b61c64e Implement various todo's and review suggestions 2024-03-27 13:10:55 +02:00
Ivan Savenko
89d091a386 Set matches that never reached gameplay state to 'cancelled' state 2024-03-27 13:10:55 +02:00
Ivan Savenko
69f7b3169e UI improvements for lobby:
- Added notifications sounds for invites and chat messages
- Added notifications for unread chat messages in inactive channels
- Added click sound when switching between channels
- Added workaround to prevent clicks due to list recreation
- Partial support for receiving invites
2024-03-27 13:10:55 +02:00
Ivan Savenko
536156dd92 Show appropriate error message on lobby server startup failure 2024-03-27 13:10:55 +02:00
Ivan Savenko
4dce0479ba UI improvements for lobby screen:
- Show description of current chat room in header
- Show count of online accounts / active rooms
- Highlight currently selected chat room
2024-03-27 13:10:55 +02:00
Ivan Savenko
b3c503922f Simplified SQL statements preparation code 2024-03-27 13:10:55 +02:00
Ivan Savenko
489dd781c2 Show match creation date in history 2024-03-27 13:10:55 +02:00
Ivan Savenko
829b754091 Implemented matches history in lobby 2024-03-27 13:10:55 +02:00
Ivan Savenko
4ed961fb96 Partially unified handling of pregame and in-game chats 2024-03-27 13:10:55 +02:00
Ivan Savenko
df5af589ae Implemented per-language, player-player and (untested) match channels. 2024-03-27 13:10:55 +02:00
Ivan Savenko
5d188024db Set room status to "In Game" once gameplay starts 2024-03-27 13:10:55 +02:00
Ivan Savenko
7c9aa9d953 Show all rooms (including private) in room list 2024-03-27 13:10:55 +02:00
Ivan Savenko
3023db6f0f Store and show correct player room limit in UI 2024-03-27 13:10:55 +02:00
Ivan Savenko
715e094f5c Implemented room description display (map/template name) 2024-03-27 13:10:55 +02:00
Ivan Savenko
be641d1710 Split 'loginSuccess' into server and client-specific versions 2024-03-27 13:10:55 +02:00
Ivan Savenko
c21e5bb0fb Always validate messages in debug mode. Fixes for schemas 2024-03-08 16:32:40 +02:00
Ivan Savenko
efe10b05e9 Load virtual filesystem on lobby start to access schemas 2024-03-08 16:32:40 +02:00
Ivan Savenko
456dfd9e3d Added debug validation of lobby protocol on every send/receive 2024-03-08 16:32:40 +02:00
Ivan Savenko
6120fd2faa Lobby server will now validate incoming messages 2024-03-08 16:32:39 +02:00
Ivan Savenko
5b1549200a Renamed openGameRoom to more clear activateGameRoom 2024-03-08 16:32:39 +02:00
Ivan Savenko
08a27663f9 Reworked JsonNode constructors to more logical form 2024-02-26 12:55:49 +02:00
Ivan Savenko
0b7bf56597 Remove old files 2024-02-14 14:02:41 +02:00
Ivan Savenko
7c34d48258 Minor fixes and corrections to network-related code. No functionality
changes.
2024-02-12 18:57:20 +02:00
Ivan Savenko
1a144fc516 Some progress on private rooms support 2024-02-10 19:02:25 +02:00
Ivan Savenko
77f177adc7 Track last login time for accounts 2024-02-06 16:28:35 +02:00
Ivan Savenko
7dee24edae Cleanup 2024-02-03 23:30:16 +02:00
Ivan Savenko
f97ffd8e9a Better handling of disconnects, code cleanup 2024-02-02 15:32:06 +02:00
Ivan Savenko
03fcfe3392 Use std::byte in serializer 2024-02-02 13:09:12 +02:00
Ivan Savenko
29c0989849 Use std::byte to manage network data 2024-02-02 02:02:09 +02:00
Ivan Savenko
c12558bf8a Simplified code 2024-02-02 01:26:53 +02:00
Ivan Savenko
ad547fcae0 Added basic logging 2024-02-02 00:21:52 +02:00
Ivan Savenko
c9ebf32efd Send error messages if operation fails 2024-02-02 00:12:30 +02:00
Ivan Savenko
c5c46a7c9a Implemented connecting to server via proxy 2024-01-30 21:31:41 +02:00
Ivan Savenko
bed05eb52d WIP: Implemented joining public rooms 2024-01-28 00:04:54 +02:00
Ivan Savenko
6d2ca070ea Show number of players in open room 2024-01-27 23:41:36 +02:00