Commit Graph

3854 Commits

Author SHA1 Message Date
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
EvilFactory b4f264df04 Fixed destination path not being checked 2024-11-25 15:48:55 -03: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 6ab0e7bee4 Fixed IsRunningInsideWorkshop check being inverted 2024-10-29 18:18:19 -03:00
EvilFactory d906066425 Merge remote-tracking branch 'upstream/master' into develop 2024-10-28 10:10:02 -03:00