eero
5b823d8684
Clarify thread safety in update methods
...
Updated comments in GameScreen.cs to indicate that StatusEffect.UpdateAll and Character.UpdateAnimAll are not thread-safe and must be executed on the main thread. Also removed a non-English comment from MapEntity.cs for consistency.
2025-12-22 18:07:17 +08:00
eero
b146fa326d
Refactor MapEntity.UpdateAll for improved parallelism
...
Rewrites MapEntity.UpdateAll to use more granular parallelism, reducing contention and improving performance by parallelizing hull, structure, and gap resets, while keeping order-dependent and non-thread-safe updates sequential. Updates GameScreen to pass ParallelOptions to UpdateAll.
2025-12-22 17:48:14 +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
0b6882c37f
Reduced max threadcount for main thread to avoid issue
2025-12-22 17:00:03 +08:00
NotAlwaysTrue
70a039da83
Added a command to show server perfomence (ShowServerPerf)
...
Removed unwanted PhysicsTask that was accideltally readded via revert action
Removed a parallel operation for SE.UpdateAll and ME.UpdateAll.
Cancelled roll back for ServerEntityEventManager
2025-12-22 16:57:58 +08:00
NotAlwaysTrue
9c2f300325
Rolled back ServerEntityEventManager
2025-12-22 15:56:29 +08:00
eero
4d4f1f8351
Parallelize game update loops for performance
...
Refactored GameScreen update logic to use Parallel.Invoke and Parallel.ForEach for physics bodies, submarines, particles, level, characters, map entities, and status effects. This change aims to improve performance by leveraging multi-core processing. Also removed a debug Console.WriteLine from GameMain.
2025-12-22 15:47:15 +08:00
eero
b1a9757b40
Revert "Enable and improve threaded physics execution"
...
This reverts commit 7d9642a5b1 .
2025-12-22 10:07:24 +08:00
NotAlwaysTrue
d98f9de5d4
Updated PM, uses 60s average to match message update time, modified message to display Server Running Time(Total Time Elapsed) in h:m:s.ms format
...
Readded perviously removed update interval condition
2025-12-22 00:24:33 +08:00
eero
7d9642a5b1
Enable and improve threaded physics execution
...
Activated the RUN_PHYSICS_IN_SEPARATE_THREAD directive and refactored the physics threading logic. Added cancellation support, improved error handling, and used synchronization primitives to coordinate physics updates. These changes aim to improve performance and stability when running physics in a separate thread.
2025-12-22 00:16:25 +08:00
NotAlwaysTrue
220ccb2eac
Updated CreateEvent() to make it thread safe
2025-12-22 00:07:01 +08:00
NotAlwaysTrue
f87e943a1a
Move a lot of thing around to fix collection was modified.
...
Note: For now I can only adjust orders and cannot make some real thing. It will take time to check and refactor everything necessary.
2025-12-20 14:16:51 +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
NotAlwaysTrue
fff157d5ca
Added a Performence Monitor for debug
...
Many multi-threading work in ServerSource
2025-12-19 13:43:12 +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
0d223636f6
Merge branch 'master' of https://github.com/regalis11/Barotrauma
2025-10-22 10:55:51 -03:00
Regalis11
7e25111487
Release 1.10.7.2 - Autumn Update 2025 Hotfix 4
2025-10-22 14:54:03 +03:00
Evil Factory
9799a2a97b
Merge remote-tracking branch 'upstream/master'
2025-10-10 08:41:26 -03:00
Markus Isberg
b732009056
Hotfix 1.10.7.1
2025-10-10 10:43:19 +00:00
Evil Factory
e902ba673d
Merge remote-tracking branch 'upstream/master'
2025-10-02 08:12:37 -03:00
Regalis11
6c1b18a56d
Release 1.10.7.0 - Autumn Update 2025 Hotfix 2
2025-10-02 12:31:41 +03:00
Evil Factory
da13162c60
Merge branch 'master' of https://github.com/Regalis11/Barotrauma
2025-09-25 09:00:20 -03:00
Regalis11
b2d91cde7c
Release 1.10.6.0 - Autumn Update 2025 Hotfix 1
2025-09-25 11:11:35 +03: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
b8fd8980a7
Merge branch 'master' of https://github.com/Regalis11/Barotrauma into develop
2025-07-01 17:55:43 -03:00
Regalis11
6661bb607b
Release 1.9.8.0 - Summer Update Hotfix 1
2025-07-01 11:40:07 +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
Ydrec
8af2267c53
Add ScriptClr convesion for GUITextBlock.ClickableArea.OnClickDelegate ( #254 )
2025-05-31 16:43:26 -03:00
EvilFactory
90a1453755
Upgraded MonoMod.RuntimeDetour to 25.2.3
2025-05-04 10:12:15 -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
4916de359c
Upgrade HarmonyX to 2.14.0
2025-04-18 19:33:03 -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
126253d81d
Trigger push
2025-04-10 11:34:53 -03:00
EvilFactory
ca3e99a095
Fixed CI
2025-04-10 11:07:29 -03:00
EvilFactory
546450712d
Fixed compiler errors
2025-04-10 10:55: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
5762420f84
Merge branch 'dev'
...
# Conflicts:
# Barotrauma/BarotraumaClient/ClientSource/Characters/Animation/Ragdoll.cs
# Barotrauma/BarotraumaClient/ClientSource/Characters/Character.cs
# Barotrauma/BarotraumaClient/ClientSource/Characters/CharacterHUD.cs
# Barotrauma/BarotraumaClient/ClientSource/Characters/Jobs/JobPrefab.cs
# Barotrauma/BarotraumaClient/ClientSource/Characters/Limb.cs
# Barotrauma/BarotraumaClient/ClientSource/DebugConsole.cs
# Barotrauma/BarotraumaClient/ClientSource/GUI/TabMenu.cs
# Barotrauma/BarotraumaClient/ClientSource/GUI/TalentMenu.cs
# Barotrauma/BarotraumaClient/ClientSource/GameSession/RoundSummary.cs
# Barotrauma/BarotraumaClient/ClientSource/Items/Components/ItemComponent.cs
# Barotrauma/BarotraumaClient/ClientSource/Items/Components/ItemContainer.cs
# Barotrauma/BarotraumaClient/ClientSource/Items/Components/Signal/Wire.cs
# Barotrauma/BarotraumaClient/ClientSource/Items/Item.cs
# Barotrauma/BarotraumaClient/ClientSource/Map/Structure.cs
# Barotrauma/BarotraumaClient/ClientSource/Map/Submarine.cs
# Barotrauma/BarotraumaClient/ClientSource/Networking/GameClient.cs
# Barotrauma/BarotraumaClient/ClientSource/Networking/Primitives/Peers/ClientPeer.cs
# Barotrauma/BarotraumaClient/ClientSource/Networking/RespawnManager.cs
# Barotrauma/BarotraumaClient/ClientSource/Particles/Particle.cs
# Barotrauma/BarotraumaClient/ClientSource/Particles/ParticleEmitter.cs
# Barotrauma/BarotraumaClient/ClientSource/Physics/PhysicsBody.cs
# Barotrauma/BarotraumaClient/ClientSource/Screens/GameScreen.cs
# Barotrauma/BarotraumaClient/ClientSource/Screens/LevelEditorScreen.cs
# Barotrauma/BarotraumaClient/ClientSource/Screens/MainMenuScreen/MainMenuScreen.cs
# Barotrauma/BarotraumaClient/ClientSource/Screens/NetLobbyScreen.cs
# Barotrauma/BarotraumaClient/ClientSource/Screens/SubEditorScreen.cs
# Barotrauma/BarotraumaClient/ClientSource/Sounds/SoundManager.cs
# Barotrauma/BarotraumaClient/ClientSource/Steam/WorkshopMenu/Mutable/InstalledTab.cs
# Barotrauma/BarotraumaClient/LinuxClient.csproj
# Barotrauma/BarotraumaClient/MacClient.csproj
# Barotrauma/BarotraumaClient/WindowsClient.csproj
# Barotrauma/BarotraumaServer/LinuxServer.csproj
# Barotrauma/BarotraumaServer/MacServer.csproj
# Barotrauma/BarotraumaServer/ServerSource/Characters/CharacterNetworking.cs
# Barotrauma/BarotraumaServer/ServerSource/DebugConsole.cs
# Barotrauma/BarotraumaServer/ServerSource/Events/EventActions/ConversationAction.cs
# Barotrauma/BarotraumaServer/ServerSource/Networking/GameServer.cs
# Barotrauma/BarotraumaServer/ServerSource/Networking/RespawnManager.cs
# Barotrauma/BarotraumaServer/ServerSource/Networking/ServerSettings.cs
# Barotrauma/BarotraumaServer/WindowsServer.csproj
# Barotrauma/BarotraumaShared/LocalMods/[DebugOnlyTest]Character override and variant tests/README.txt
# Barotrauma/BarotraumaShared/LocalMods/[DebugOnlyTest]Character override and variant tests/filelist.xml
# Barotrauma/BarotraumaShared/SharedSource/AchievementManager.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/EnemyAIController.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/HumanAIController.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/IndoorsSteeringManager.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveCombat.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveDeconstructItem.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveFindSafety.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveGoTo.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveOperateItem.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveReturn.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/AI/PetBehavior.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/Character.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/CharacterInfo.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/Health/Afflictions/AfflictionHusk.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/Health/Afflictions/AfflictionPrefab.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/Jobs/JobPrefab.cs
# Barotrauma/BarotraumaShared/SharedSource/Characters/Params/CharacterParams.cs
# Barotrauma/BarotraumaShared/SharedSource/ContentManagement/ContentPackage/ContentPackage.cs
# Barotrauma/BarotraumaShared/SharedSource/DebugConsole.cs
# Barotrauma/BarotraumaShared/SharedSource/DisembarkPerks/DisembarkPerkPrefab.cs
# Barotrauma/BarotraumaShared/SharedSource/Enums.cs
# Barotrauma/BarotraumaShared/SharedSource/Events/EventActions/ConversationAction.cs
# Barotrauma/BarotraumaShared/SharedSource/Events/EventActions/NPCChangeTeamAction.cs
# Barotrauma/BarotraumaShared/SharedSource/Events/EventManager.cs
# Barotrauma/BarotraumaShared/SharedSource/Events/Missions/AbandonedOutpostMission.cs
# Barotrauma/BarotraumaShared/SharedSource/Events/Missions/Mission.cs
# Barotrauma/BarotraumaShared/SharedSource/Events/MonsterEvent.cs
# Barotrauma/BarotraumaShared/SharedSource/GameSession/AutoItemPlacer.cs
# Barotrauma/BarotraumaShared/SharedSource/GameSession/GameSession.cs
# Barotrauma/BarotraumaShared/SharedSource/Items/Components/GeneticMaterial.cs
# Barotrauma/BarotraumaShared/SharedSource/Items/Components/Holdable/Holdable.cs
# Barotrauma/BarotraumaShared/SharedSource/Items/Components/ItemContainer.cs
# Barotrauma/BarotraumaShared/SharedSource/Items/Components/Turret.cs
# Barotrauma/BarotraumaShared/SharedSource/Items/Item.cs
# Barotrauma/BarotraumaShared/SharedSource/Map/Levels/Level.cs
# Barotrauma/BarotraumaShared/SharedSource/Map/Map/Location.cs
# Barotrauma/BarotraumaShared/SharedSource/Map/Map/LocationType.cs
# Barotrauma/BarotraumaShared/SharedSource/Map/Outposts/OutpostGenerator.cs
# Barotrauma/BarotraumaShared/SharedSource/Map/Submarine.cs
# Barotrauma/BarotraumaShared/SharedSource/Map/SubmarineInfo.cs
# Barotrauma/BarotraumaShared/SharedSource/Map/WayPoint.cs
# Barotrauma/BarotraumaShared/SharedSource/Networking/EntitySpawner.cs
# Barotrauma/BarotraumaShared/SharedSource/Networking/NetworkMember.cs
# Barotrauma/BarotraumaShared/SharedSource/Networking/RespawnManager.cs
# Barotrauma/BarotraumaShared/SharedSource/PerformanceCounter.cs
# Barotrauma/BarotraumaShared/SharedSource/Serialization/XMLExtensions.cs
# Barotrauma/BarotraumaShared/SharedSource/StatusEffects/StatusEffect.cs
# Barotrauma/BarotraumaShared/SharedSource/Tags.cs
# Barotrauma/BarotraumaShared/SharedSource/Text/TextManager.cs
# Barotrauma/BarotraumaShared/changelog.txt
2025-04-10 14:35:30 +03:00
Markus Isberg
14f61af41c
Release 1.8.6.2 - Calm Before the Storm
2025-04-10 11:29:43 +00:00
EvilFactory
fdfc3a77f3
HarmonyX
2025-04-04 09:59:38 -03:00
Markus Isberg
1987d7f369
Unstable 1.8.4.1
2025-03-12 13:09:29 +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