From b732009056b4466c558e701084e3f0404f75c42d Mon Sep 17 00:00:00 2001 From: Markus Isberg <3e849f2e5c@pm.me> Date: Fri, 10 Oct 2025 10:43:19 +0000 Subject: [PATCH 1/2] Hotfix 1.10.7.1 --- .../ServerListScreen/ServerListScreen.cs | 8 +++++- .../BarotraumaClient/LinuxClient.csproj | 2 +- Barotrauma/BarotraumaClient/MacClient.csproj | 2 +- .../BarotraumaClient/WindowsClient.csproj | 2 +- .../BarotraumaServer/LinuxServer.csproj | 2 +- Barotrauma/BarotraumaServer/MacServer.csproj | 2 +- .../GameModes/MultiPlayerCampaign.cs | 25 +++++++++++++------ .../BarotraumaServer/WindowsServer.csproj | 2 +- Barotrauma/BarotraumaShared/changelog.txt | 7 ++++++ 9 files changed, 37 insertions(+), 15 deletions(-) diff --git a/Barotrauma/BarotraumaClient/ClientSource/Screens/ServerListScreen/ServerListScreen.cs b/Barotrauma/BarotraumaClient/ClientSource/Screens/ServerListScreen/ServerListScreen.cs index 08bc32e59..b3216cfe7 100644 --- a/Barotrauma/BarotraumaClient/ClientSource/Screens/ServerListScreen/ServerListScreen.cs +++ b/Barotrauma/BarotraumaClient/ClientSource/Screens/ServerListScreen/ServerListScreen.cs @@ -1319,7 +1319,13 @@ namespace Barotrauma const float MinSimilarityPercentage = 0.8f; if (string.IsNullOrWhiteSpace(serverInfo.ServerName)) { return; } - if (serverInfo.PlayerCount > serverInfo.MaxPlayers) { return; } + + if (serverInfo.ServerName.Length > NetConfig.ServerNameMaxLength) { return; } + /*no newline symbols in server names!*/ + if (serverInfo.ServerName.Contains('\n') || serverInfo.ServerName.Contains('\r')) { return; } + if (serverInfo.ServerMessage.Length > NetConfig.ServerMessageMaxLength) { return; } + //+1 because it seems the count can sometimes be slightly off (something to do with steam lobbies not immediately refreshing?) + if (serverInfo.PlayerCount > serverInfo.MaxPlayers + 1) { return; } if (serverInfo.PlayerCount < 0) { return; } if (serverInfo.MaxPlayers <= 0) { return; } //no way a legit server can have this many players diff --git a/Barotrauma/BarotraumaClient/LinuxClient.csproj b/Barotrauma/BarotraumaClient/LinuxClient.csproj index d5a4d47da..ee31d4352 100644 --- a/Barotrauma/BarotraumaClient/LinuxClient.csproj +++ b/Barotrauma/BarotraumaClient/LinuxClient.csproj @@ -6,7 +6,7 @@ Barotrauma FakeFish, Undertow Games Barotrauma - 1.10.7.0 + 1.10.7.1 Copyright © FakeFish 2018-2024 AnyCPU;x64 Barotrauma diff --git a/Barotrauma/BarotraumaClient/MacClient.csproj b/Barotrauma/BarotraumaClient/MacClient.csproj index d745a39ea..1bce93f2a 100644 --- a/Barotrauma/BarotraumaClient/MacClient.csproj +++ b/Barotrauma/BarotraumaClient/MacClient.csproj @@ -6,7 +6,7 @@ Barotrauma FakeFish, Undertow Games Barotrauma - 1.10.7.0 + 1.10.7.1 Copyright © FakeFish 2018-2024 AnyCPU;x64 Barotrauma diff --git a/Barotrauma/BarotraumaClient/WindowsClient.csproj b/Barotrauma/BarotraumaClient/WindowsClient.csproj index 8a85440cf..ff9579d1a 100644 --- a/Barotrauma/BarotraumaClient/WindowsClient.csproj +++ b/Barotrauma/BarotraumaClient/WindowsClient.csproj @@ -6,7 +6,7 @@ Barotrauma FakeFish, Undertow Games Barotrauma - 1.10.7.0 + 1.10.7.1 Copyright © FakeFish 2018-2024 AnyCPU;x64 Barotrauma diff --git a/Barotrauma/BarotraumaServer/LinuxServer.csproj b/Barotrauma/BarotraumaServer/LinuxServer.csproj index 836eee487..730e935d4 100644 --- a/Barotrauma/BarotraumaServer/LinuxServer.csproj +++ b/Barotrauma/BarotraumaServer/LinuxServer.csproj @@ -6,7 +6,7 @@ Barotrauma FakeFish, Undertow Games Barotrauma Dedicated Server - 1.10.7.0 + 1.10.7.1 Copyright © FakeFish 2018-2023 AnyCPU;x64 DedicatedServer diff --git a/Barotrauma/BarotraumaServer/MacServer.csproj b/Barotrauma/BarotraumaServer/MacServer.csproj index 171c352d4..9e5a66019 100644 --- a/Barotrauma/BarotraumaServer/MacServer.csproj +++ b/Barotrauma/BarotraumaServer/MacServer.csproj @@ -6,7 +6,7 @@ Barotrauma FakeFish, Undertow Games Barotrauma Dedicated Server - 1.10.7.0 + 1.10.7.1 Copyright © FakeFish 2018-2023 AnyCPU;x64 DedicatedServer diff --git a/Barotrauma/BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs b/Barotrauma/BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs index c55f018f1..6bb3c990f 100644 --- a/Barotrauma/BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs +++ b/Barotrauma/BarotraumaServer/ServerSource/GameSession/GameModes/MultiPlayerCampaign.cs @@ -1293,9 +1293,9 @@ namespace Barotrauma CharacterInfo firedCharacter = null; (ushort id, string newName) appliedRename = (Entity.NullEntityID, string.Empty); - if (location != null && HasCampaignInteractionAvailable(sender, InteractionType.Crew)) + if (location != null) { - if (fireCharacter && AllowedToManageCampaign(sender, ClientPermissions.ManageHires)) + if (fireCharacter && AllowedToManageCampaign(sender, ClientPermissions.ManageHires) && HasCampaignInteractionAvailable(sender, InteractionType.Crew)) { firedCharacter = CrewManager.GetCharacterInfos(includeReserveBench: true).FirstOrDefault(info => info.ID == firedIdentifier); if (firedCharacter != null && (firedCharacter.Character?.IsBot ?? true)) @@ -1307,6 +1307,10 @@ namespace Barotrauma DebugConsole.ThrowError($"Tried to fire an invalid character ({firedIdentifier})"); } } + else + { + GameServer.Log($"{sender.Name} attempted to fire a character without having access to an appropriate NPC.", ServerLog.MessageType.Error); + } if (renameCharacter) { @@ -1321,8 +1325,13 @@ namespace Barotrauma { characterInfo = location.HireManager.AvailableCharacters.FirstOrDefault(info => info.ID == renamedIdentifier); } + if (characterInfo != null && characterInfo != sender.CharacterInfo && !HasCampaignInteractionAvailable(sender, InteractionType.Crew)) + { + GameServer.Log($"{sender.Name} attempted to rename a character without having access to an appropriate NPC.", ServerLog.MessageType.Error); + characterInfo = null; + } } - if (characterInfo == null && renamedIdentifier == sender.CharacterInfo?.ID) + else if (characterInfo == null && renamedIdentifier == sender.CharacterInfo?.ID) { characterInfo = sender.CharacterInfo; } @@ -1353,7 +1362,7 @@ namespace Barotrauma } } - if (location.HireManager != null) + if (location.HireManager != null && HasCampaignInteractionAvailable(sender, InteractionType.Crew)) { if (validateHires) { @@ -1396,10 +1405,10 @@ namespace Barotrauma } }); } - } - else - { - GameServer.Log($"{sender.Name} attempted to manage hires without having access to an appropriate NPC.", ServerLog.MessageType.Error); + else + { + GameServer.Log($"{sender.Name} attempted to hire characters without having access to an appropriate NPC.", ServerLog.MessageType.Error); + } } // bounce back diff --git a/Barotrauma/BarotraumaServer/WindowsServer.csproj b/Barotrauma/BarotraumaServer/WindowsServer.csproj index 416c1cb1a..5e1fd9707 100644 --- a/Barotrauma/BarotraumaServer/WindowsServer.csproj +++ b/Barotrauma/BarotraumaServer/WindowsServer.csproj @@ -6,7 +6,7 @@ Barotrauma FakeFish, Undertow Games Barotrauma Dedicated Server - 1.10.7.0 + 1.10.7.1 Copyright © FakeFish 2018-2023 AnyCPU;x64 DedicatedServer diff --git a/Barotrauma/BarotraumaShared/changelog.txt b/Barotrauma/BarotraumaShared/changelog.txt index 9d3063420..cbc56da81 100644 --- a/Barotrauma/BarotraumaShared/changelog.txt +++ b/Barotrauma/BarotraumaShared/changelog.txt @@ -1,4 +1,11 @@ ------------------------------------------------------------------------------------------------------------------------------------------------- +v1.10.7.1 +------------------------------------------------------------------------------------------------------------------------------------------------- + +- Additional fixes to multiplayer exploits. +- Fixed inability to rename a bot you've taken over in permadeath mode. + +------------------------------------------------------------------------------------------------------------------------------------------------- v1.10.7.0 ------------------------------------------------------------------------------------------------------------------------------------------------- From 37ffc94551b43ccdd9142b90cd413702b0f405b9 Mon Sep 17 00:00:00 2001 From: Markus Isberg Date: Fri, 10 Oct 2025 14:00:36 +0300 Subject: [PATCH 2/2] Update bug-reports.yml --- .github/DISCUSSION_TEMPLATE/bug-reports.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/DISCUSSION_TEMPLATE/bug-reports.yml b/.github/DISCUSSION_TEMPLATE/bug-reports.yml index 29cf8bd5a..b9d0e2b27 100644 --- a/.github/DISCUSSION_TEMPLATE/bug-reports.yml +++ b/.github/DISCUSSION_TEMPLATE/bug-reports.yml @@ -73,7 +73,7 @@ body: label: Version description: Which version of the game did the bug happen in? You can see the current version number in the bottom left corner of your screen in the main menu. options: - - v1.10.7.0 (Autumn Update 2025 Hotfix 2) + - v1.10.7.1 (Autumn Update 2025 Hotfix 3) - Other validations: required: true