diff --git a/src/Application/Players/Accounts/Roles/PlayerRoleSystem.cs b/src/Application/Players/Accounts/Roles/PlayerRoleSystem.cs index 402c67fc..a22a6b25 100644 --- a/src/Application/Players/Accounts/Roles/PlayerRoleSystem.cs +++ b/src/Application/Players/Accounts/Roles/PlayerRoleSystem.cs @@ -24,7 +24,7 @@ public void SetRole( return; } - if (targetPlayer.IsServerOwner(serverOwnerSettings.Name)) + if (targetPlayer.IsServerOwner()) { currentPlayer.SendClientMessage(Color.Red, Messages.CannotPerformActionOnServerOwner); return; diff --git a/src/Application/Players/GeneralCommands/AdminCommands.cs b/src/Application/Players/GeneralCommands/AdminCommands.cs index ac3c23f7..8ccb9a8d 100644 --- a/src/Application/Players/GeneralCommands/AdminCommands.cs +++ b/src/Application/Players/GeneralCommands/AdminCommands.cs @@ -4,8 +4,7 @@ public class AdminCommands( IEntityManager entityManager, IServerService serverService, IWorldService worldService, - IDialogService dialogService, - ServerOwnerSettings serverOwnerSettings) : ISystem + IDialogService dialogService) : ISystem { [PlayerCommand("cmdsadmin")] [RequiresMinimumRole(RoleId.Admin)] @@ -88,7 +87,7 @@ public void BanPlayer( return; } - if (targetPlayer.IsServerOwner(serverOwnerSettings.Name)) + if (targetPlayer.IsServerOwner()) { currentPlayer.SendClientMessage(Color.Red, Messages.CannotPerformActionOnServerOwner); return; diff --git a/src/Application/Players/GeneralCommands/ModeratorCommands.cs b/src/Application/Players/GeneralCommands/ModeratorCommands.cs index 569d12c0..131fe281 100644 --- a/src/Application/Players/GeneralCommands/ModeratorCommands.cs +++ b/src/Application/Players/GeneralCommands/ModeratorCommands.cs @@ -1,8 +1,6 @@ namespace CTF.Application.Players.GeneralCommands; -public class ModeratorCommands( - IWorldService worldService, - ServerOwnerSettings serverOwnerSettings) : ISystem +public class ModeratorCommands(IWorldService worldService) : ISystem { [PlayerCommand("cmdsmoderator")] [RequiresMinimumRole(RoleId.Moderator)] @@ -36,7 +34,7 @@ public void Kick( return; } - if (targetPlayer.IsServerOwner(serverOwnerSettings.Name)) + if (targetPlayer.IsServerOwner()) { currentPlayer.SendClientMessage(Color.Red, Messages.CannotPerformActionOnServerOwner); return; @@ -105,7 +103,7 @@ public void Warn( return; } - if (targetPlayer.IsServerOwner(serverOwnerSettings.Name)) + if (targetPlayer.IsServerOwner()) { currentPlayer.SendClientMessage(Color.Red, Messages.CannotPerformActionOnServerOwner); return; diff --git a/src/Application/Players/PlayerExtensions.cs b/src/Application/Players/PlayerExtensions.cs index 722f5a21..09aa4fee 100644 --- a/src/Application/Players/PlayerExtensions.cs +++ b/src/Application/Players/PlayerExtensions.cs @@ -74,15 +74,16 @@ public static Team RemoveFromCurrentTeam(this Player player) /// /// The player to check. /// - /// - /// The name configured as the server owner. - /// /// - /// if the player's name matches the configured - /// server owner name; otherwise, . + /// if the player is the server owner; + /// otherwise, . /// - public static bool IsServerOwner(this Player player, string ownerName) - => player.Name.Equals( + public static bool IsServerOwner(this Player player) + { + var envReader = new EnvReader(); + var ownerName = envReader["ServerOwner__Name"]; + return player.Name.Equals( ownerName, StringComparison.OrdinalIgnoreCase); + } }