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