From 6d5fff83cf749a5b02d6f22c9262e5b602e17875 Mon Sep 17 00:00:00 2001 From: ohayo Date: Sat, 8 Feb 2025 14:37:48 +1000 Subject: [PATCH] Prevent blank UUIDs from being banned This fixes a bug with a bad actor getting banned with a blank client UUID and then preventing anyone from joining the server due to a lack of UUID on the Connect Request ban check. --- TShockAPI/Commands.cs | 2 +- TShockAPI/DB/BanManager.cs | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index f4d00f71..16183431 100644 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -1607,7 +1607,7 @@ namespace TShockAPI } } - if (banUuid) + if (banUuid && player.UUID.Length > 0) { banResult = DoBan($"{Identifier.UUID}{player.UUID}", reason, expiration); } diff --git a/TShockAPI/DB/BanManager.cs b/TShockAPI/DB/BanManager.cs index 42892100..3e93a3b7 100644 --- a/TShockAPI/DB/BanManager.cs +++ b/TShockAPI/DB/BanManager.cs @@ -189,11 +189,15 @@ namespace TShockAPI.DB { List identifiers = new List { - $"{Identifier.UUID}{player.UUID}", $"{Identifier.Name}{player.Name}", $"{Identifier.IP}{player.IP}" }; + if (player.UUID != null && player.UUID.Length > 0) + { + identifiers.Add($"{Identifier.UUID}{player.UUID}"); + } + if (player.Account != null) { identifiers.Add($"{Identifier.Account}{player.Account.Name}");