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);
+ }
}