48c92711f2
Fixed deserialization of new artifacts (and possibly some other objects)
...
Was broken in my previous PR, since pointer graph serialization was
enabled by default, leading to deserializationFix triggering on netpack
apply.
Cleaned up / clarified code
2024-07-29 18:19:15 +00:00
888149c6f6
Implemented simple versioning system for multiplayer
2024-05-29 20:08:32 +00:00
6901945b6e
Fix possible thread race on sending packet from two threads
2024-02-25 20:05:28 +02:00
bd4c7e3ac0
Added LobbyPrepareStartGame pack to replace old workarounds
2024-02-03 19:57:23 +02:00
03fcfe3392
Use std::byte in serializer
2024-02-02 13:09:12 +02:00
29c0989849
Use std::byte to manage network data
2024-02-02 02:02:09 +02:00
388ca6e776
Added list of active accounts and rooms to UI. Added room creation logic
2024-01-26 16:32:36 +02:00
fc4ae3bd8c
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-01-20 23:01:49 +02:00
80e960bc8e
Finalized new TCP networking API
2024-01-19 23:52:28 +02:00
22f0ca67c6
Fix connection to game lobby & map load
2024-01-19 23:49:59 +02:00
0a1153e1c6
Switch client-server communication to new API
2024-01-19 23:49:59 +02:00
86f5d6de69
vcmi: modernize headers
2023-04-30 13:35:54 +03:00
8661496f6c
vcmi: modernize lib/serializer
2023-02-12 21:23:00 +03:00
a954cc08fb
Made intermediate class to hide some implementation details from header.
2022-12-27 12:55:31 +02:00
c271f9187f
Connection buffered read cpack.
2022-12-26 21:49:53 +02:00
cb13064a62
Socket buffered write. Write full cpack at once
2022-12-26 20:17:53 +02:00
ff635edc0b
wrap all library code into namespace if VCMI_LIB_NAMESPACE is defined
...
preparation for having client and server in a single process
2022-09-24 15:55:21 +03:00
ac81d0f7b4
Fix build with Boost versioni >= 1.70 ( #615 )
2020-01-21 11:55:28 +03:00
224ea28433
Fix various memory errors related to server and connections.
...
* keep connection when restarting scenario
* wrong double free in Connection
* multiple use after free when stopping server
* double free of StartInfo
2018-05-01 00:04:20 +03:00
ac66fc7f42
Full rework of pre-game interface and networking
...
New features for players:
* Loading for multiplayer. Any save could be used for multiplayer.
* Restart for multiplayer. All clients will restart together.
* Loading from single save.
* Hotseat mixed with network game. Multiple players per client.
* Now connection to server could be cancelled.
* Return to menu on disconnections instead of crashes.
* Restoring of last selected map, save or campaign on next run.
TLDR on important changes in engine code:
* UI: work with server separated from UI
* UI: all explitic blitting replaced with IntObject's
* UI: all new code use smart pointers instead of DISPOSE
* Gameplay always start through lobby controlled by server.
* Threads receiving netpacks now shared for lobby and gameplay.
* Campaigns: heroes for crossover now serialized as JsonNode.
2018-04-04 14:24:26 +07:00
83c6ffbda0
Reflect changes in boost::asio released in Boost 1.66. ( #428 )
...
The service template parameters are disabled by default for now.
Use BOOST_ASIO_ENABLE_OLD_SERVICES macro to enable the old interface.
2018-03-11 21:02:20 +08:00
324717acbe
Spelling fixes: privilaged -> privileged, retreive -> retrieve
2018-02-10 21:52:23 +03:00
da117e9255
Code style: remove void from constructors without arguments
2018-01-13 11:51:47 +03:00
15138c23de
Finished conversion to new logging API
...
* removed logger streams
* (float3|int3)::operator() -> (float3|int3)::toString(), it was too ugly and confusing.
2017-08-11 23:06:27 +03:00
a8a3230798
Logging cleanup (server).
2017-08-11 16:50:00 +03:00
f1e5797834
Code style: move or add licensing information on top of every file
2017-07-14 01:26:03 +03:00
6642816b1e
Client: server port and testing options cleanup
...
Now we only pass port as ui16 instead of std::string
2017-06-04 08:49:23 +03:00
db5a52a0f8
Multiplayer: gracefully handle player loss unless it's a host
...
We don't want server to shutdown after just one of players lost the game.
2017-05-31 08:04:26 +03:00
47085e8d78
Fixed CID 1366361
2016-11-25 22:20:40 +03:00
4ff4e41e81
fixed typo
2016-11-13 13:13:41 +03:00
256f43f467
Fixes zero-initialized fileVersion member in deserializer
2016-10-29 19:52:19 +03:00
3d1b1f4ba8
Add files for rebased serializer refactoring done by Ivan
2016-10-27 17:26:22 +03:00