diff --git a/Barotrauma/BarotraumaClient/ClientSource/Networking/Primitives/P2PSocket/SteamListenSocket.cs b/Barotrauma/BarotraumaClient/ClientSource/Networking/Primitives/P2PSocket/SteamListenSocket.cs
index b1e7c8170..6ca70f22d 100644
--- a/Barotrauma/BarotraumaClient/ClientSource/Networking/Primitives/P2PSocket/SteamListenSocket.cs
+++ b/Barotrauma/BarotraumaClient/ClientSource/Networking/Primitives/P2PSocket/SteamListenSocket.cs
@@ -68,7 +68,7 @@ sealed class SteamListenSocket : P2PSocket
public override void OnMessage(Steamworks.Data.Connection connection, Steamworks.Data.NetIdentity identity, IntPtr data, int size, long messageNum, long recvTime, int channel)
{
- if (!identity.IsSteamId) { return; }
+ if (!identity.IsSteamId || data == IntPtr.Zero) { return; }
var endpoint = new SteamP2PEndpoint(new SteamId((Steamworks.SteamId)identity));
var dataArray = new byte[size];
diff --git a/Barotrauma/BarotraumaClient/LinuxClient.csproj b/Barotrauma/BarotraumaClient/LinuxClient.csproj
index 7d91738cc..c01e38223 100644
--- a/Barotrauma/BarotraumaClient/LinuxClient.csproj
+++ b/Barotrauma/BarotraumaClient/LinuxClient.csproj
@@ -6,7 +6,7 @@
Barotrauma
FakeFish, Undertow Games
Barotrauma
- 1.5.9.1
+ 1.5.9.2
Copyright © FakeFish 2018-2024
AnyCPU;x64
Barotrauma
diff --git a/Barotrauma/BarotraumaClient/MacClient.csproj b/Barotrauma/BarotraumaClient/MacClient.csproj
index da41bd347..30f1c4d4b 100644
--- a/Barotrauma/BarotraumaClient/MacClient.csproj
+++ b/Barotrauma/BarotraumaClient/MacClient.csproj
@@ -6,7 +6,7 @@
Barotrauma
FakeFish, Undertow Games
Barotrauma
- 1.5.9.1
+ 1.5.9.2
Copyright © FakeFish 2018-2024
AnyCPU;x64
Barotrauma
diff --git a/Barotrauma/BarotraumaClient/WindowsClient.csproj b/Barotrauma/BarotraumaClient/WindowsClient.csproj
index f28e3cf55..215e40abe 100644
--- a/Barotrauma/BarotraumaClient/WindowsClient.csproj
+++ b/Barotrauma/BarotraumaClient/WindowsClient.csproj
@@ -6,7 +6,7 @@
Barotrauma
FakeFish, Undertow Games
Barotrauma
- 1.5.9.1
+ 1.5.9.2
Copyright © FakeFish 2018-2024
AnyCPU;x64
Barotrauma
diff --git a/Barotrauma/BarotraumaServer/LinuxServer.csproj b/Barotrauma/BarotraumaServer/LinuxServer.csproj
index 4e9e9584b..9917a17df 100644
--- a/Barotrauma/BarotraumaServer/LinuxServer.csproj
+++ b/Barotrauma/BarotraumaServer/LinuxServer.csproj
@@ -6,7 +6,7 @@
Barotrauma
FakeFish, Undertow Games
Barotrauma Dedicated Server
- 1.5.9.1
+ 1.5.9.2
Copyright © FakeFish 2018-2023
AnyCPU;x64
DedicatedServer
diff --git a/Barotrauma/BarotraumaServer/MacServer.csproj b/Barotrauma/BarotraumaServer/MacServer.csproj
index 3a47a3f9d..7ff4c3e1f 100644
--- a/Barotrauma/BarotraumaServer/MacServer.csproj
+++ b/Barotrauma/BarotraumaServer/MacServer.csproj
@@ -6,7 +6,7 @@
Barotrauma
FakeFish, Undertow Games
Barotrauma Dedicated Server
- 1.5.9.1
+ 1.5.9.2
Copyright © FakeFish 2018-2023
AnyCPU;x64
DedicatedServer
diff --git a/Barotrauma/BarotraumaServer/WindowsServer.csproj b/Barotrauma/BarotraumaServer/WindowsServer.csproj
index 537fd1635..826f83962 100644
--- a/Barotrauma/BarotraumaServer/WindowsServer.csproj
+++ b/Barotrauma/BarotraumaServer/WindowsServer.csproj
@@ -6,7 +6,7 @@
Barotrauma
FakeFish, Undertow Games
Barotrauma Dedicated Server
- 1.5.9.1
+ 1.5.9.2
Copyright © FakeFish 2018-2023
AnyCPU;x64
DedicatedServer
diff --git a/Barotrauma/BarotraumaShared/README.txt b/Barotrauma/BarotraumaShared/README.txt
index fe1f66f2a..6ba44b3f5 100644
--- a/Barotrauma/BarotraumaShared/README.txt
+++ b/Barotrauma/BarotraumaShared/README.txt
@@ -2,8 +2,8 @@
http://www.barotraumagame.com
-© 2018-2022 FakeFish Ltd. All rights reserved.
-© 2019-2022 Daedalic Entertainment GmbH. The Daedalic logo is a trademark of Daedalic Entertainment GmbH, Germany. All rights reserved.
+© 2017-2024 FakeFish Ltd. All rights reserved.
+© 2019-2024 Daedalic Entertainment GmbH. The Daedalic logo is a trademark of Daedalic Entertainment GmbH, Germany. All rights reserved.
Privacy policy: http://privacypolicy.daedalic.com
See the wiki for more detailed info and instructions:
diff --git a/Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveDeconstructItems.cs b/Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveDeconstructItems.cs
index 3b25c239e..4105273c6 100644
--- a/Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveDeconstructItems.cs
+++ b/Barotrauma/BarotraumaShared/SharedSource/Characters/AI/Objectives/AIObjectiveDeconstructItems.cs
@@ -65,7 +65,7 @@ namespace Barotrauma
{
return Objectives.ContainsKey(target) && AIObjectiveCleanupItems.IsItemInsideValidSubmarine(target, character);
}
- if (target.CurrentHull.FireSources.Count > 0) { return false; }
+ if (target.CurrentHull != null && target.CurrentHull.FireSources.Count > 0) { return false; }
foreach (Character c in Character.CharacterList)
{
diff --git a/Barotrauma/BarotraumaShared/changelog.txt b/Barotrauma/BarotraumaShared/changelog.txt
index 91c290fc8..77b2f6468 100644
--- a/Barotrauma/BarotraumaShared/changelog.txt
+++ b/Barotrauma/BarotraumaShared/changelog.txt
@@ -1,4 +1,11 @@
-------------------------------------------------------------------------------------------------------------------------------------------------
+v1.5.9.2
+-------------------------------------------------------------------------------------------------------------------------------------------------
+
+- Fixed an exploit that allowed clients to crash servers when hosting through SteamP2P.
+- Fixed crashing when loading a save in which a character has a deconstruct order and an item marked for deconstruction is outside hulls.
+
+-------------------------------------------------------------------------------------------------------------------------------------------------
v1.5.9.1
-------------------------------------------------------------------------------------------------------------------------------------------------
diff --git a/README.md b/README.md
index e1bc8861d..5725f01d9 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Barotrauma
-Copyright © FakeFish Ltd 2017-2022
+Copyright © FakeFish Ltd 2017-2024
Before downloading the source code, please read the [EULA](EULA.txt).