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