]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Clean up command perms (#28451)
authorNemanja <98561806+EmoGarbage404@users.noreply.github.com>
Sat, 1 Jun 2024 08:14:43 +0000 (04:14 -0400)
committerGitHub <noreply@github.com>
Sat, 1 Jun 2024 08:14:43 +0000 (01:14 -0700)
* Change BanExemption command to AdminFlags.Ban permissions

* Change LOOC to check for Moderator permission

* Change ListVerbs from Admin to Debug AdminFlags

* Change RunVerbAs from Admin to Fun AdminFlags

* More permission changes

* Change GhostKick to Moderator perm

* Clean up command perms

* fuck

---------

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
21 files changed:
Content.Server/Administration/Commands/AdminWhoCommand.cs
Content.Server/Administration/Commands/AnnounceUiCommand.cs
Content.Server/Administration/Commands/BanExemptionCommands.cs
Content.Server/Administration/Commands/DSay.cs
Content.Server/Administration/Commands/FaxUiCommand.cs
Content.Server/Administration/Commands/LinkBluespaceLocker.cs
Content.Server/Administration/Commands/PlayTimeCommands.cs
Content.Server/Administration/Commands/SetAdminOOC.cs
Content.Server/AlertLevel/Commands/SetAlertLevelCommand.cs
Content.Server/Announcements/AnnounceCommand.cs
Content.Server/Chat/Commands/SetOOCCommand.cs
Content.Server/Chat/Systems/ChatSystem.cs
Content.Server/Damage/Commands/GodModeCommand.cs
Content.Server/GhostKick/GhostKickManager.cs
Content.Server/Motd/SetMOTDCommand.cs
Content.Server/Toolshed/Commands/Verbs/RunVerbAsCommand.cs
Content.Server/Verbs/Commands/ListVerbsCommand.cs
Content.Server/Voting/Managers/VoteManager.cs
Content.Server/Voting/VoteCommands.cs
Content.Shared/Administration/AdminFlags.cs
Resources/engineCommandPerms.yml

index cf2f8c453c880a030e40a7d97f448d23ce97708f..feeec90e483b4122a69491ae99895904fa77df7b 100644 (file)
@@ -7,7 +7,7 @@ using Robust.Shared.Utility;
 
 namespace Content.Server.Administration.Commands;
 
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.AdminWho)]
 public sealed class AdminWhoCommand : IConsoleCommand
 {
     public string Command => "adminwho";
index d80db96686357693a5f8c9eb9fb0e7cfe42d7d9a..abb9235a3af3a26cc095e110565fc9e2680ec9ef 100644 (file)
@@ -5,7 +5,7 @@ using Robust.Shared.Console;
 
 namespace Content.Server.Administration.Commands
 {
-    [AdminCommand(AdminFlags.Admin)]
+    [AdminCommand(AdminFlags.Moderator)]
     public sealed class AnnounceUiCommand : IConsoleCommand
     {
         public string Command => "announceui";
index 6db00db90ce6721ba811e024fadbd04ddaf2f6be..b6b5f705f9710007da3031193397b00b67c72b5a 100644 (file)
@@ -6,7 +6,7 @@ using Robust.Shared.Console;
 
 namespace Content.Server.Administration.Commands;
 
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Ban)]
 public sealed class BanExemptionUpdateCommand : LocalizedCommands
 {
     [Dependency] private readonly IServerDbManager _dbManager = default!;
@@ -61,7 +61,7 @@ public sealed class BanExemptionUpdateCommand : LocalizedCommands
     }
 }
 
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Ban)]
 public sealed class BanExemptionGetCommand : LocalizedCommands
 {
     [Dependency] private readonly IServerDbManager _dbManager = default!;
index 8682614b5fcfab070cfa52323e004f0f4f4fda79..f29e105909f4b211c24ebbf6073c9236fb0dbd3d 100644 (file)
@@ -4,7 +4,7 @@ using Robust.Shared.Console;
 
 namespace Content.Server.Administration.Commands
 {
-    [AdminCommand(AdminFlags.Admin)]
+    [AdminCommand(AdminFlags.Moderator)]
     sealed class DSay : IConsoleCommand
     {
         [Dependency] private readonly IEntityManager _e = default!;
index cf9e97e3997e627208f95d9572e866881d068f1c..8323278c58bb8dd9a6ff2dfb6801279f0882a889 100644 (file)
@@ -5,7 +5,7 @@ using Robust.Shared.Console;
 
 namespace Content.Server.Administration.Commands;
 
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Fun)]
 public sealed class FaxUiCommand : IConsoleCommand
 {
     public string Command => "faxui";
@@ -27,4 +27,3 @@ public sealed class FaxUiCommand : IConsoleCommand
         eui.OpenEui(ui, player);
     }
 }
-
index d2f7e4de1591e65145a7ae650926df5c7a76858f..9fac72664b630f9fdd97bbc484831c85a1b3319e 100644 (file)
@@ -4,7 +4,7 @@ using Robust.Shared.Console;
 
 namespace Content.Server.Administration.Commands;
 
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Fun)]
 public sealed class LinkBluespaceLocker : IConsoleCommand
 {
     [Dependency] private readonly IEntityManager _entManager = default!;
index 97d3f12e38d2ace21fedc5ac97993367c0032b87..42bc8635c4d20cba0a8f47414fce9d6c0cef9a8f 100644 (file)
@@ -6,7 +6,7 @@ using Robust.Shared.Console;
 
 namespace Content.Server.Administration.Commands;
 
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Moderator)]
 public sealed class PlayTimeAddOverallCommand : IConsoleCommand
 {
     [Dependency] private readonly IPlayerManager _playerManager = default!;
@@ -58,7 +58,7 @@ public sealed class PlayTimeAddOverallCommand : IConsoleCommand
     }
 }
 
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Moderator)]
 public sealed class PlayTimeAddRoleCommand : IConsoleCommand
 {
     [Dependency] private readonly IPlayerManager _playerManager = default!;
@@ -123,7 +123,7 @@ public sealed class PlayTimeAddRoleCommand : IConsoleCommand
     }
 }
 
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Moderator)]
 public sealed class PlayTimeGetOverallCommand : IConsoleCommand
 {
     [Dependency] private readonly IPlayerManager _playerManager = default!;
@@ -168,7 +168,7 @@ public sealed class PlayTimeGetOverallCommand : IConsoleCommand
     }
 }
 
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Moderator)]
 public sealed class PlayTimeGetRoleCommand : IConsoleCommand
 {
     [Dependency] private readonly IPlayerManager _playerManager = default!;
@@ -247,7 +247,7 @@ public sealed class PlayTimeGetRoleCommand : IConsoleCommand
 /// <summary>
 /// Saves the timers for a particular player immediately
 /// </summary>
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Moderator)]
 public sealed class PlayTimeSaveCommand : IConsoleCommand
 {
     [Dependency] private readonly IPlayerManager _playerManager = default!;
index 27528e1940f9e20521d5c1a99d03cd497542c98f..c1f72f7666061033baaf1358e294b4ebd04e216d 100644 (file)
@@ -5,7 +5,7 @@ using Robust.Shared.Console;
 
 namespace Content.Server.Administration.Commands
 {
-    [AdminCommand(AdminFlags.Admin)]
+    [AdminCommand(AdminFlags.NameColor)]
     internal sealed class SetAdminOOC : IConsoleCommand
     {
         public string Command => "setadminooc";
index f52fc2b7187ae96f04cbd28996175e2908ed3886..405500442f7199e1a0126c029b85270879a94594 100644 (file)
@@ -8,7 +8,7 @@ using Robust.Shared.Console;
 namespace Content.Server.AlertLevel.Commands
 {
     [UsedImplicitly]
-    [AdminCommand(AdminFlags.Admin)]
+    [AdminCommand(AdminFlags.Fun)]
     public sealed class SetAlertLevelCommand : LocalizedCommands
     {
         [Dependency] private readonly IEntitySystemManager _entitySystems = default!;
index cedde3fc1406637a29773ef7d967ef031e27ec4c..2307f36a5d02c841a64189fe667b1b98873ca3d9 100644 (file)
@@ -6,7 +6,7 @@ using Robust.Shared.Console;
 
 namespace Content.Server.Announcements
 {
-    [AdminCommand(AdminFlags.Admin)]
+    [AdminCommand(AdminFlags.Moderator)]
     public sealed class AnnounceCommand : IConsoleCommand
     {
         public string Command => "announce";
index e6e688377e9d482cd9056678680b9eee772faccf..d712a62401ad3a995e941b028e1f33d72661fca5 100644 (file)
@@ -6,7 +6,7 @@ using Robust.Shared.Console;
 
 namespace Content.Server.Chat.Commands;
 
-[AdminCommand(AdminFlags.Server)]
+[AdminCommand(AdminFlags.Admin)]
 public sealed class SetOOCCommand : IConsoleCommand
 {
     public string Command => "setooc";
index 8e6c2ba4b37c2c898ed6f2aaa15b6027c6364929..531c4259efea38004db35af94d9d66a65f5e03ee 100644 (file)
@@ -10,6 +10,7 @@ using Content.Server.Speech.EntitySystems;
 using Content.Server.Station.Components;
 using Content.Server.Station.Systems;
 using Content.Shared.ActionBlocker;
+using Content.Shared.Administration;
 using Content.Shared.CCVar;
 using Content.Shared.Chat;
 using Content.Shared.Database;
@@ -277,9 +278,13 @@ public sealed partial class ChatSystem : SharedChatSystem
         message = SanitizeInGameOOCMessage(message);
 
         var sendType = type;
-        // If dead player LOOC is disabled, unless you are an aghost, send dead messages to dead chat
-        if (!_adminManager.IsAdmin(player) && !_deadLoocEnabled &&
-            (HasComp<GhostComponent>(source) || _mobStateSystem.IsDead(source)))
+        // If dead player LOOC is disabled, unless you are an admin with Moderator perms, send dead messages to dead chat
+        if ((_adminManager.IsAdmin(player) && _adminManager.HasAdminFlag(player, AdminFlags.Moderator)) // Override if admin
+            || _deadLoocEnabled
+            || (!HasComp<GhostComponent>(source) && !_mobStateSystem.IsDead(source))) // Check that player is not dead
+        {
+        }
+        else
             sendType = InGameOOCChatType.Dead;
 
         // If crit player LOOC is disabled, don't send the message at all.
index 866737f17a9e9ca5558ced7b3d18f205e790d599..06a968b473396910993e2c19bc4b9b10eab56095 100644 (file)
@@ -5,7 +5,7 @@ using Robust.Shared.Console;
 
 namespace Content.Server.Damage.Commands
 {
-    [AdminCommand(AdminFlags.Admin)]
+    [AdminCommand(AdminFlags.Fun)]
     public sealed class GodModeCommand : IConsoleCommand
     {
         [Dependency] private readonly IEntityManager _entManager = default!;
index 7dd82970acfae1ec8f54faf3cab118214f581e1b..40d21d79d2ccc91443af116a58fef1b16d58bf8d 100644 (file)
@@ -44,7 +44,7 @@ public sealed class GhostKickManager
     }
 }
 
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Moderator)]
 public sealed class GhostKickCommand : IConsoleCommand
 {
     public string Command => "ghostkick";
index c99f728435803f69ba7387b8369bbd0779136b2c..3a7a5e71c6a8c716898776661caefe56404c3e81 100644 (file)
@@ -12,7 +12,7 @@ namespace Content.Server.Motd;
 /// <summary>
 /// A console command usable by any user which prints or sets the Message of the Day.
 /// </summary>
-[AdminCommand(AdminFlags.Admin)]
+[AdminCommand(AdminFlags.Moderator)]
 public sealed class SetMotdCommand : LocalizedCommands
 {
     [Dependency] private readonly IAdminLogManager _adminLogManager = default!;
index 1b11dffeea7c62a9531a097389fad1d9d5890b0a..5c1bac6c93b4ff5f54e34e2455523340d997c2a9 100644 (file)
@@ -8,7 +8,7 @@ using Robust.Shared.Toolshed.TypeParsers;
 
 namespace Content.Server.Toolshed.Commands.Verbs;
 
-[ToolshedCommand, AdminCommand(AdminFlags.Admin)]
+[ToolshedCommand, AdminCommand(AdminFlags.Moderator)]
 public sealed class RunVerbAsCommand : ToolshedCommand
 {
     private SharedVerbSystem? _verb;
index 7b541afa666a9565fe2812143966ac0cd9409c74..1c80edb82af324038b5f146acf5ed4356755c57e 100644 (file)
@@ -1,11 +1,12 @@
 using Content.Server.Administration;
+using Content.Server.Database;
 using Content.Shared.Administration;
 using Content.Shared.Verbs;
 using Robust.Shared.Console;
 
 namespace Content.Server.Verbs.Commands
 {
-    [AdminCommand(AdminFlags.Admin)]
+    [AdminCommand(AdminFlags.Moderator)]
     public sealed class ListVerbsCommand : IConsoleCommand
     {
         [Dependency] private readonly IEntityManager _entManager = default!;
index 5bd18cd8c45cfb61ecb2c881feef7b8970688c1d..edb11f0bdb533db03d94602df8ad00d20df12f25 100644 (file)
@@ -316,7 +316,7 @@ namespace Content.Server.Voting.Managers
             timeSpan = default;
 
             // Admins can always call votes.
-            if (_adminMgr.HasAdminFlag(initiator, AdminFlags.Admin))
+            if (_adminMgr.HasAdminFlag(initiator, AdminFlags.Moderator))
             {
                 isAdmin = true;
                 return true;
@@ -370,7 +370,7 @@ namespace Content.Server.Voting.Managers
                 .Select(e => e.Data)
                 .ToImmutableArray();
             // Store all votes in order for webhooks
-            var voteTally = new List<int>(); 
+            var voteTally = new List<int>();
             foreach(var entry in v.Entries)
             {
                 voteTally.Add(entry.Votes);
index 3c792dc6252fade112324276fb4f27258d0b3661..a6cfb3e0b90217e7ae2472ef9ae3f1ea0a08a5b3 100644 (file)
@@ -66,7 +66,7 @@ namespace Content.Server.Voting
         }
     }
 
-    [AdminCommand(AdminFlags.Admin)]
+    [AdminCommand(AdminFlags.Moderator)]
     public sealed class CreateCustomCommand : IConsoleCommand
     {
         [Dependency] private readonly IAdminLogManager _adminLogger = default!;
@@ -308,7 +308,7 @@ namespace Content.Server.Voting
         }
     }
 
-    [AdminCommand(AdminFlags.Admin)]
+    [AdminCommand(AdminFlags.Moderator)]
     public sealed class CancelVoteCommand : IConsoleCommand
     {
         [Dependency] private readonly IAdminLogManager _adminLogger = default!;
index 280745af5815a4a909104f6bdacb3bf07531a48d..02db1cf39485c11193a18e29d7d73d3ba6bce0da 100644 (file)
         ///</summary>
         Pii = 1 << 18,
 
+        /// <summary>
+        ///     Lets you take moderator actions on the game server.
+        /// </summary>
+        Moderator = 1 << 19,
+
+        /// <summary>
+        ///     Lets you check currently online admins.
+        /// </summary>
+        AdminWho = 1 << 20,
+
+        /// <summary>
+        ///     Lets you set the color of your OOC name.
+        /// </summary>
+        NameColor = 1 << 21,
+
         /// <summary>
         ///     Dangerous host permissions like scsi.
         /// </summary>
index 42cc4668a937e4cfba043869e067cb7e6bc181f0..b68a2b22dfb07b110b42ba8c8dea335382f32e8a 100644 (file)
 
 - Flags: ADMIN
   Commands:
-  - delete
-  - kick
   - listplayers
   - tp
   - tpto
-  - respawn
+
+- Flags: FUN
+  Commands:
   - tippy
   - tip
 
   Commands:
   - spawn
   - cspawn
+  - delete
+
+- Flags: MODERATOR
+  Commands:
+  - kick
+  - respawn
 
 - Flags: HOST
   Commands: