diff --git a/Robust.Client/Console/ClientConGroupController.cs b/Robust.Client/Console/ClientConGroupController.cs
index 2e38859cd..c1c46ef40 100644
--- a/Robust.Client/Console/ClientConGroupController.cs
+++ b/Robust.Client/Console/ClientConGroupController.cs
@@ -23,7 +23,7 @@ namespace Robust.Client.Console
public bool CanCommand(string cmdName)
{
- return _implementation?.CanCommand(cmdName) ?? false;
+ return _implementation?.CanCommand(cmdName) ?? true;
}
public bool CanViewVar()
diff --git a/Robust.Client/Console/ClientConsoleHost.cs b/Robust.Client/Console/ClientConsoleHost.cs
index 24cb051f8..71c753517 100644
--- a/Robust.Client/Console/ClientConsoleHost.cs
+++ b/Robust.Client/Console/ClientConsoleHost.cs
@@ -1,7 +1,10 @@
using System;
using System.Collections.Generic;
using Robust.Client.Log;
+using Robust.Client.Player;
using Robust.Shared.Console;
+using Robust.Shared.Enums;
+using Robust.Shared.IoC;
using Robust.Shared.Log;
using Robust.Shared.Network;
using Robust.Shared.Network.Messages;
@@ -40,6 +43,8 @@ namespace Robust.Client.Console
///
internal class ClientConsoleHost : ConsoleHost, IClientConsoleHost
{
+ [Dependency] private readonly IClientConGroupController _conGroup = default!;
+
private bool _requestedCommands;
///
@@ -103,6 +108,14 @@ namespace Robust.Client.Console
if (AvailableCommands.ContainsKey(commandName))
{
+ var playerManager = IoCManager.Resolve();
+
+ if (!_conGroup.CanCommand(commandName) && playerManager.LocalPlayer?.Session.Status > SessionStatus.Connecting)
+ {
+ WriteError(null, $"Insufficient perms for command: {commandName}");
+ return;
+ }
+
var command1 = AvailableCommands[commandName];
args.RemoveAt(0);
var shell = new ConsoleShell(this, null);