Commit Graph

26 Commits

Author SHA1 Message Date
Eero 7b8275100d Improve thread safety and performance in core systems
Refactors event, entity, and physics management to use thread-safe and lock-free data structures (Immutable collections, ConcurrentQueue, ConcurrentDictionary, Channel) for improved concurrency and performance. Replaces O(n) queue lookups with O(1) set/dictionary checks, ensures atomic updates for shared state, and optimizes queue draining and deferred action processing. Updates related code to use new APIs and patterns, and adds documentation for thread safety and workflow.
2025-12-29 16:47:10 +08:00
Eero c5fa49405f WIP Make networking code thread-safe and refactor update ID
Replaces direct increments of LastClientListUpdateID with a thread-safe IncrementLastClientListUpdateID method and uses Interlocked for atomic operations. Refactors EntitySpawner to lock access to the spawn/remove queue for thread safety. Updates INetSerializableStruct to use concurrent collections for cached variables and type behaviors, improving thread safety in networking code.
2025-12-28 13:10:17 +08:00
Regalis11 ea5a2bc693 Release 1.9.7.0 - Summer Update 2025 2025-06-17 16:38:11 +03:00
Markus Isberg a4a3427e4e Unstable 1.8.4.0 2025-03-12 12:56:27 +00:00
Regalis11 4f556236b8 v1.5.9.1 (Summer Update Hotfix 2) 2024-06-27 16:46:33 +03:00
Regalis11 230d1b6e78 v1.5.7.0 (Summer Update) 2024-06-18 16:50:02 +03:00
Markus Isberg cf8f0de659 Unstable 1.1.14.0 2023-10-02 16:43:54 +03:00
Markus Isberg edaf4b09fe Build 0.20.0.0 2022-10-27 17:54:57 +03:00
Juan Pablo Arce 1fd2a51bbb Unstable v0.19.5.0 2022-09-14 12:48:12 -03:00
Juan Pablo Arce 3f2c843247 Unstable v0.19.3.0 2022-09-02 15:10:56 -03:00
Juan Pablo Arce 1219615d64 Unstable v0.19.1.0 2022-08-19 13:59:08 -03:00
Regalis11 6b55adcdd9 v0.19.0.0 (unstable) 2022-07-20 18:47:07 +03:00
Markus Isberg 4f5a3bf8b9 Build 0.18.7.0 2022-06-08 21:52:38 +09:00
Markus Isberg 64db1a6a44 Build 0.18.4.0 2022-05-31 23:13:05 +09:00
Markus Isberg 7547a9b78a Build 0.18.0.0 2022-05-13 00:55:52 +09:00
Markus Isberg 6e38444fc4 Build 0.17.14.0 2022-04-27 07:44:37 +09:00
Markus Isberg 3974067915 Unstable 0.17.0.0 2022-02-26 02:43:01 +09:00
Markus Isberg a0696ecb74 Unstable 0.16.5.0 2022-02-17 00:03:08 +09:00
Markus Isberg 7d43cb1e91 0.15.21.0 2021-12-16 01:05:43 +09:00
Markus Isberg 80f39cd2a3 Unstable 0.15.15.0 (and the one before it I forgor) 2021-11-18 21:34:30 +09:00
Markus Isberg 2c750282ec Unstable 0.1300.1.11 2021-04-26 21:07:23 +03:00
Markus Isberg 58c50a235d Unstable 0.1300.0.3 2021-03-25 15:40:24 +02:00
Markus Isberg 874616027b Unstable v0.1300.0.2 2021-03-12 15:57:04 +02:00
Juan Pablo Arce 0002ad2c50 v0.10.5.1 2020-09-22 11:31:56 -03:00
Joonas Rikkonen ac37a3b0e4 (f0d812055) v0.9.9.0 2020-04-23 19:19:37 +03:00
Regalis 3c09ebe02f (61d00a474) v0.9.7.1 2020-03-04 13:04:10 +01:00