Ivan Savenko
ee831c06e7
Reduced usage of CPack, replaced with CPackForServer where applicable
2024-10-07 14:59:14 +00:00
Ivan Savenko
01396b62b7
Extracted handling of type ID's from serializer into a separate class
2024-08-26 19:48:46 +00:00
Ivan Savenko
b84af1a6de
Significantly simplify packs applying
...
Apparently our logic for packs applying with types registration is
overcomplicated and by now completely unnecessary - it became redundant
after introduction of visitor pattern.
2024-08-26 19:48:46 +00:00
Laserlicht
a42afa2910
code review
2024-08-14 21:51:08 +02:00
Laserlicht
da64991fd9
fix
2024-08-12 00:02:20 +02:00
Laserlicht
f42f1de347
extended statistic: Button and data transfer
2024-08-11 22:21:13 +02:00
Laserlicht
acf2e0eef1
fix
2024-08-02 20:01:00 +02:00
Laserlicht
9ceb1c567d
highscore refactoring
2024-08-02 19:37:46 +02:00
Laserlicht
4f0c3a3608
Merge branch 'develop' into handicap
2024-08-01 21:39:40 +02:00
Laserlicht
3e5df61946
code review
2024-07-29 22:54:42 +02:00
Laserlicht
6e68dee955
fix
2024-07-26 20:54:44 +02:00
Laserlicht
53c0d20a57
fix campaign highscores
2024-07-26 20:36:52 +02:00
Laserlicht
fa7153b577
fix
2024-07-25 00:28:49 +02:00
Laserlicht
832e1531fc
handycap percent
2024-07-25 00:28:49 +02:00
Laserlicht
8edf77afcc
basic handicap support
2024-07-25 00:28:01 +02:00
Ivan Savenko
9bfe000724
Added semi-workaround method for network thread shutdown:
...
Currently closing game while network thread is waiting for something is
very bug-prone, since network thread may resume during shutdown and
access partially destroyed client state.
Now if exit has been requested, the very first step would be semi-
graceful shutdown of network thread (via exception throwing). This may
in theory skip some cleanup in non-RAII code, but since game is shutting
down this does not matters much.
This logic applies to:
- shutting down while network thread is waiting for dialogs
- shuttind down while network thread waiting for animations in combat
2024-05-18 11:04:10 +00:00
Ivan Savenko
e89e5d2127
Rename for clarity
2024-04-07 21:22:33 +03:00
Ivan Savenko
80acd7e77c
Simplified and fixed server restart procedure:
...
- Replaced several assertions with runtime_error's to detect them in
release builds
- Removed multiple dispatchMainThread calls in server shutdown code to
simplify debugging and code flow
- Moved handling of gameplay shutdown and score calculation from
PlayerInterface to ServerHandler (not perfect, but better than before)
2024-04-07 14:19:57 +03:00
Ivan Savenko
4ed961fb96
Partially unified handling of pregame and in-game chats
2024-03-27 13:10:55 +02:00
Ivan Savenko
9ebd194ab1
Merge pull request #3609 from IvanSavenko/single_process
...
Allow running server as part of client process
2024-02-14 12:06:22 +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
0fc0ad238b
Fixes for server shutdown logic, implemented connection aborting for
...
local server
2024-02-11 17:55:02 +02:00
Ivan Savenko
0d263c5571
Implemented option to run server as a thread with shared VLC
2024-02-11 17:55:02 +02:00
Ivan Savenko
38ba42ef7a
Rename 'c' to 'logicConnection'
2024-02-11 16:26:27 +02:00
Ivan Savenko
1a144fc516
Some progress on private rooms support
2024-02-10 19:02:25 +02:00
Ivan Savenko
d4bedd8d8d
Fixed handling of match server crash
2024-02-04 19:58:09 +02:00
Ivan Savenko
7dee24edae
Cleanup
2024-02-03 23:30:16 +02:00
Ivan Savenko
bd4c7e3ac0
Added LobbyPrepareStartGame pack to replace old workarounds
2024-02-03 19:57:23 +02:00
Ivan Savenko
2c2bec791c
Fixes and cleanup of game client network shutdown and restart
2024-02-03 19:27:04 +02:00
Ivan Savenko
29c0989849
Use std::byte to manage network data
2024-02-02 02:02:09 +02:00
Ivan Savenko
c5c46a7c9a
Implemented connecting to server via proxy
2024-01-30 21:31:41 +02:00
Ivan Savenko
388ca6e776
Added list of active accounts and rooms to UI. Added room creation logic
2024-01-26 16:32:36 +02:00
Ivan Savenko
fc4ae3bd8c
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-01-20 23:01:49 +02:00
Ivan Savenko
baa73f5433
Code cleanup
2024-01-20 00:26:25 +02:00
Ivan Savenko
709905b1a0
Simplified networking API
2024-01-19 23:52:28 +02:00
Ivan Savenko
80e960bc8e
Finalized new TCP networking API
2024-01-19 23:52:28 +02:00
Ivan Savenko
ffa58152ac
Client-side support for hosting game server via lobby
2024-01-19 23:49:59 +02:00
Ivan Savenko
55b504792e
Implemented basic version of login window and persistent connection on
...
client
2024-01-19 23:49:59 +02:00
Ivan Savenko
0196707083
Fix UUID initialization on client
2024-01-19 23:49:59 +02:00
Ivan Savenko
2396c14114
Fixed logic for reconnection attempts to local server. Cleanup.
...
Added distinct fields in config for local and remote connection.
Removed code for restoring last session since it does not works as
intended and often triggers after crash
2024-01-19 23:49:59 +02:00
Ivan Savenko
a3639e77b1
Fixed handling of connection failure on client
2024-01-19 23:49:59 +02:00
Ivan Savenko
5694777a96
Simplified connection logic
2024-01-19 23:49:59 +02:00
Ivan Savenko
8ea69e457a
Simplified applying of lobby packs
2024-01-19 23:49:59 +02:00
Ivan Savenko
22f0ca67c6
Fix connection to game lobby & map load
2024-01-19 23:49:59 +02:00
Ivan Savenko
0a1153e1c6
Switch client-server communication to new API
2024-01-19 23:49:59 +02:00
Ivan Savenko
ea1f05d15a
Stabilization
2024-01-19 13:55:22 +02:00
Laserlicht
cb9c4bbaf0
unlimited replay option
2023-12-28 20:48:19 +01:00
Laserlicht
fc4827c89c
option for allowing cheats
2023-12-27 14:39:35 +01:00
Nordsoft91
1ffc246c8b
Merge pull request #3051 from Laserlicht/name_change
...
possibility to change name in lobby
2023-10-16 22:28:31 +02:00
Laserlicht
0a1578b797
Apply suggestions from code review
...
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2023-10-16 21:24:59 +02:00