Eero
45312af297
WIP Make static collections thread-safe using ThreadStatic and ThreadLocal
...
Refactored various static and instance collections to use [ThreadStatic], ThreadLocal, or local variables to prevent concurrent modification issues during parallel updates. This affects status effect targets, affliction lists, damage modifiers, and cached data in Character, CharacterHealth, Limb, Explosion, Hull, Submarine, and ToolBox classes. Also replaced Dictionary caches with ConcurrentDictionary where appropriate for thread safety.
2025-12-28 14:14:53 +08:00
Eero
31812d524d
Make collections thread-safe for AI and character systems
...
Refactored various collections (lists, dictionaries, queues, and caches) in AI, character, animation, and item component systems to use thread-safe patterns and concurrent data structures. This includes introducing copy-on-write wrappers, ConcurrentDictionary, ConcurrentQueue, and ThreadLocal where appropriate to ensure safe concurrent access and mutation, improving stability in multi-threaded scenarios.
2025-12-28 12:53:10 +08:00
Eero
90962b2328
Refactor Item collections for thread safety and performance
...
Replaces static Item.ItemList and related collections with thread-safe data structures using ConcurrentDictionary and ImmutableHashSet. Adds thread-safe helpers for marking items for deconstruction and managing item lists. Updates all usages of Item.ItemList and DeconstructItems to use new APIs, improving performance and safety in multi-threaded contexts. Also refactors MeleeWeapon and Projectile impact queues to use ConcurrentQueue, and updates related logic throughout the codebase.
2025-12-28 03:57:04 +08:00
NotAlwaysTrue
83ca51a99b
Fixed compile errors :(
2025-12-22 22:58:22 +08:00
NotAlwaysTrue
1def7b7b8d
add catch code for previous commit :(
2025-12-22 22:54:33 +08:00
NotAlwaysTrue
dadd6c598f
try-finally multiple UniqueEvents.ToList() to avoid issues(Destination array was not long enough. Check the destination index, length, and the array's lower bounds)
2025-12-22 22:43:02 +08:00
NotAlwaysTrue
b891ec7793
Add a try-finally in HumanPrefab to fix an issue causing issue(Destination array was not long enough. )
...
Fixed another Collection was modified in SubmarineBody.Update()
2025-12-22 21:51:07 +08:00
NotAlwaysTrue
bab02fca8a
Tried to fix all errors realted to UniqueEvent and Events(Collection was modified)
2025-12-22 17:16:49 +08:00
NotAlwaysTrue
2f845b40ca
Moved Item related stuff to the end of MapEntity.UpdateAll to avoid issues
...
Added a threadlock to avoid some issue(someday i will take care of)
Add a function that automatically log server performence every 60s
2025-12-20 00:08:42 +08:00
Evil Factory
c38d519ee6
Merge branch 'master' of https://github.com/Regalis11/Barotrauma
2025-12-18 08:15:42 -03:00
Regalis11
4dc0ce9a2f
Release 1.11.5.0 - Winter Update 2025 Hotfix 1
2025-12-18 12:26:30 +02:00
Evil Factory
352625af28
Merge remote-tracking branch 'upstream/master'
2025-12-08 12:35:44 -03:00
Markus Isberg
598966f200
Release 1.11.4.1 (Winter Update)
2025-12-08 14:56:47 +00:00
Evil Factory
cfab935b75
Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop
2025-09-17 08:30:35 -03:00
Regalis11
caa0326cf8
Release 1.10.5.0 - Autumn Update 2025
2025-09-17 13:44:21 +03:00
EvilFactory
2368640841
Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop
2025-06-17 15:45:16 -03:00
Regalis11
ea5a2bc693
Release 1.9.7.0 - Summer Update 2025
2025-06-17 16:38:11 +03:00
EvilFactory
64faf5c967
Merge branch 'master' of https://github.com/Regalis11/Barotrauma
2025-04-29 07:27:36 -03:00
Regalis11
ec9e29af07
Release 1.8.8.1 - Calm Before the Storm Hotfix 1
2025-04-29 12:46:51 +03:00
EvilFactory
5e321a5abd
Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop
2025-04-16 18:08:37 -03:00
Regalis11
1deef20f21
Release 1.8.7.0 - Calm Before the Storm Hotfix 1
2025-04-16 12:46:39 +03:00
EvilFactory
103871a4e9
Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop
2025-04-10 10:37:09 -03:00
Markus Isberg
14f61af41c
Release 1.8.6.2 - Calm Before the Storm
2025-04-10 11:29:43 +00:00
Markus Isberg
a4a3427e4e
Unstable 1.8.4.0
2025-03-12 12:56:27 +00:00
EvilFactory
6da26ffa93
Merge remote-tracking branch 'upstream/master' into develop
2024-12-11 10:44:53 -03:00
Regalis11
f6349b2175
v1.7.7.0 (Winter Update 2024)
2024-12-11 13:26:13 +02:00
EvilFactory
9e9ac6cd32
Merge remote-tracking branch 'upstream/master' into develop
2024-10-31 06:31:11 -03:00
Regalis11
26ffd2104e
v1.6.19.1 (Unto the Breach Hotfix 1)
2024-10-31 11:27:32 +02:00
EvilFactory
d906066425
Merge remote-tracking branch 'upstream/master' into develop
2024-10-28 10:10:02 -03:00
Regalis11
7eac44ea7d
v1.6.18.1 (Unto the Breach Hotfix 1)
2024-10-28 15:03:46 +02:00
EvilFactory
0daaaf9fca
Fixed character.giveJobItems being in the wrong order due to the merge
2024-10-26 13:51:56 -03:00
EvilFactory
30a8f0c561
Merge remote-tracking branch 'upstream/master' into develop
2024-10-22 12:42:35 -03:00
Regalis11
6e6c17e100
v1.6.17.0 (Unto the Breach update)
2024-10-22 17:29:04 +03:00
EvilFactory
307c81c3bd
Fixed lag caused by character.damageLimb
2024-09-06 18:58:08 -03:00
EvilFactory
d71ced9d05
Merge https://github.com/Regalis11/Barotrauma into develop
2024-08-28 12:57:31 -03:00
Regalis11
e8920829c9
v1.5.9.2 (Summer Update Hotfix 3)
2024-08-28 12:14:27 +03:00
EvilFactory
55e97a8baa
Merge remote-tracking branch 'upstream/master' into develop
2024-06-27 10:52:55 -03:00
Regalis11
4f556236b8
v1.5.9.1 (Summer Update Hotfix 2)
2024-06-27 16:46:33 +03:00
EvilFactory
f4219b0c75
Merge remote-tracking branch 'upstream/master' into develop
2024-06-19 12:45:44 -03:00
Regalis11
169eced79a
v1.5.7.0 (Summer Update Hotfix 1)
2024-06-19 18:42:16 +03:00
EvilFactory
e163f7ed73
Merge remote-tracking branch 'upstream/master' into develop
2024-06-18 12:19:13 -03:00
Regalis11
230d1b6e78
v1.5.7.0 (Summer Update)
2024-06-18 16:50:02 +03:00
EvilFactory
b98dec4c3b
Merge remote-tracking branch 'upstream/master' into develop
2024-04-26 12:31:21 -03:00
itchyOwl
848113b8cb
v1.4.5.0 (Blood in the Water Hotfix)
2024-04-26 17:03:10 +03:00
EvilFactory
0a9ff43986
Merge remote-tracking branch 'upstream/master' into develop
2024-04-24 12:20:11 -03:00
Regalis11
ff1b8951a7
v1.4.4.1 (Blood in the Water Update)
2024-04-24 18:09:05 +03:00
EvilFactory
7a74cd052f
Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop
2024-03-28 14:26:18 -03:00
Regalis11
3791670c42
v1.3.0.1 (Epic Store release)
2024-03-28 18:34:33 +02:00
EvilFactory
40beade15a
Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop
2024-01-11 11:42:33 -03:00
Regalis11
0c433eb187
v1.2.8.0 (Winter Update hotfix 2)
2024-01-11 16:19:43 +02:00