diff --git a/src/ARKServerManager/Globalization/en-US/en-US.xaml b/src/ARKServerManager/Globalization/en-US/en-US.xaml
index 177770ce..dfa71a9e 100644
--- a/src/ARKServerManager/Globalization/en-US/en-US.xaml
+++ b/src/ARKServerManager/Globalization/en-US/en-US.xaml
@@ -2723,6 +2723,9 @@ Undocumented bye wildcard.
View Tribe...
Copy ID...
Copy Player ID...
+ Kick Player
+ Ban Player
+ Unban Player
Admin Name:
This is the name used to prefix serverchat messages sent from the console.
diff --git a/src/ARKServerManager/Lib/ServerRCON.cs b/src/ARKServerManager/Lib/ServerRCON.cs
index aae38a27..3a862bb6 100644
--- a/src/ARKServerManager/Lib/ServerRCON.cs
+++ b/src/ARKServerManager/Lib/ServerRCON.cs
@@ -33,6 +33,9 @@ namespace ServerManagerTool.Lib
public const string RCON_COMMAND_GETCHAT = "getchat";
public const string RCON_COMMAND_SERVERCHAT = "serverchat";
public const string RCON_COMMAND_WILDDINOWIPE = "DestroyWildDinos";
+ public const string RCON_COMMAND_KICKPLAYER = "KickPlayer";
+ public const string RCON_COMMAND_BANPLAYER = "BanPlayer";
+ public const string RCON_COMMAND_UNBANPLAYER = "UnbanPlayer";
public event EventHandler PlayersCollectionUpdated;
diff --git a/src/ARKServerManager/Windows/RCONWindow.xaml b/src/ARKServerManager/Windows/RCONWindow.xaml
index 5b41b84e..f2bb551b 100644
--- a/src/ARKServerManager/Windows/RCONWindow.xaml
+++ b/src/ARKServerManager/Windows/RCONWindow.xaml
@@ -197,6 +197,11 @@
+
+
+
+
+
diff --git a/src/ARKServerManager/Windows/RCONWindow.xaml.cs b/src/ARKServerManager/Windows/RCONWindow.xaml.cs
index efd139bc..9128ae74 100644
--- a/src/ARKServerManager/Windows/RCONWindow.xaml.cs
+++ b/src/ARKServerManager/Windows/RCONWindow.xaml.cs
@@ -645,6 +645,57 @@ namespace ServerManagerTool
}
}
+
+ public ICommand KickPlayerProfileCommand
+ {
+ get
+ {
+ return new RelayCommand(
+ execute: (player) =>
+ {
+ if (player.PlayerData != null)
+ {
+ this.ServerRCON.IssueCommand($"{ServerRcon.RCON_COMMAND_KICKPLAYER} {player.PlayerId.ToString()}");
+ }
+ },
+ canExecute: (player) => player != null
+ );
+ }
+ }
+
+ public ICommand BanPlayerProfileCommand
+ {
+ get
+ {
+ return new RelayCommand(
+ execute: (player) =>
+ {
+ if (player.PlayerData != null)
+ {
+ this.ServerRCON.IssueCommand($"{ServerRcon.RCON_COMMAND_BANPLAYER} {player.PlayerId.ToString()}");
+ }
+ },
+ canExecute: (player) => player != null
+ );
+ }
+ }
+
+ public ICommand UnbanPlayerProfileCommand
+ {
+ get
+ {
+ return new RelayCommand(
+ execute: (player) =>
+ {
+ if (player.PlayerData != null)
+ {
+ this.ServerRCON.IssueCommand($"{ServerRcon.RCON_COMMAND_UNBANPLAYER} {player.PlayerId.ToString()}");
+ }
+ },
+ canExecute: (player) => player != null
+ );
+ }
+ }
#endregion
#region Events