From 2d41a62b5268b7f76b05e739fc7196d0c6a1c842 Mon Sep 17 00:00:00 2001 From: Dawid Bepierszcz <41084667+daffyyyy@users.noreply.github.com> Date: Sat, 13 Jan 2024 23:12:23 +0100 Subject: [PATCH] 1.2.6e - Finally? fixed sqladmins --- AdminSQLManager.cs | 17 +---------------- CS2-SimpleAdmin.cs | 43 +++++++++++++++++++++++++++++++++++++++++-- MuteManager.cs | 2 +- README.md | 3 ++- 4 files changed, 45 insertions(+), 20 deletions(-) diff --git a/AdminSQLManager.cs b/AdminSQLManager.cs index 628495c..0577aa5 100644 --- a/AdminSQLManager.cs +++ b/AdminSQLManager.cs @@ -1,5 +1,4 @@ -using CounterStrikeSharp.API.Modules.Admin; -using CounterStrikeSharp.API.Modules.Entities; +using CounterStrikeSharp.API.Modules.Entities; using Dapper; using MySqlConnector; @@ -250,18 +249,6 @@ namespace CS2_SimpleAdmin string sql = "DELETE FROM sa_admins WHERE player_steamid = @PlayerSteamID"; await connection.ExecuteAsync(sql, new { PlayerSteamID = playerSteamId }); - - if (!string.IsNullOrEmpty(playerSteamId) && SteamID.TryParse(playerSteamId, out var steamId) && steamId != null) - { - if (_adminCacheSet.Contains(steamId)) - { - _adminCacheSet.Remove(steamId); - _adminCacheTimestamps.Remove(steamId); - } - - AdminManager.ClearPlayerPermissions(steamId); - AdminManager.RemovePlayerAdminData(steamId); - } } public async Task AddAdminBySteamId(string playerSteamId, string playerName, string flags, int immunity = 0, int time = 0) @@ -293,8 +280,6 @@ namespace CS2_SimpleAdmin created = now, serverid = CS2_SimpleAdmin.ServerId }); - - _ = GiveAllFlags(); } public async Task DeleteOldAdmins() diff --git a/CS2-SimpleAdmin.cs b/CS2-SimpleAdmin.cs index bb80876..0afb1d9 100644 --- a/CS2-SimpleAdmin.cs +++ b/CS2-SimpleAdmin.cs @@ -6,6 +6,7 @@ using CounterStrikeSharp.API.Modules.Admin; using CounterStrikeSharp.API.Modules.Commands; using CounterStrikeSharp.API.Modules.Commands.Targeting; using CounterStrikeSharp.API.Modules.Cvars; +using CounterStrikeSharp.API.Modules.Entities; using CounterStrikeSharp.API.Modules.Memory; using CounterStrikeSharp.API.Modules.Menu; using CounterStrikeSharp.API.Modules.Utils; @@ -34,7 +35,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig "CS2-SimpleAdmin"; public override string ModuleDescription => "Simple admin plugin for Counter-Strike 2 :)"; public override string ModuleAuthor => "daffyy"; - public override string ModuleVersion => "1.2.6d"; + public override string ModuleVersion => "1.2.6e"; public CS2_SimpleAdminConfig Config { get; set; } = new(); @@ -215,9 +216,47 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig + { + if (!string.IsNullOrEmpty(steamid) && SteamID.TryParse(steamid, out var steamId) && steamId != null) + { + if (AdminSQLManager._adminCacheSet.Contains(steamId)) + { + AdminSQLManager._adminCacheSet.Remove(steamId); + AdminSQLManager._adminCacheTimestamps.Remove(steamId); + } + + AdminManager.ClearPlayerPermissions(steamId); + AdminManager.RemovePlayerAdminData(steamId); + } + }); + command.ReplyToCommand($"Removed flags from '{steamid}'"); } + [ConsoleCommand("css_reladmin")] + [CommandHelper(whoCanExecute: CommandUsage.CLIENT_AND_SERVER)] + [RequiresPermissions("@css/root")] + public void OnRelAdminCommand(CCSPlayerController? caller, CommandInfo command) + { + foreach (SteamID steamId in AdminSQLManager._adminCacheSet) + { + if (AdminSQLManager._adminCacheSet.Contains(steamId)) + { + AdminSQLManager._adminCacheSet.Remove(steamId); + AdminSQLManager._adminCacheTimestamps.Remove(steamId); + } + + AdminManager.ClearPlayerPermissions(steamId); + AdminManager.RemovePlayerAdminData(steamId); + } + + AdminSQLManager _adminManager = new(dbConnectionString); + _ = _adminManager.GiveAllFlags(); + + command.ReplyToCommand($"Reloaded sql admins"); + } + [ConsoleCommand("css_who")] [CommandHelper(minArgs: 1, usage: "<#userid or name>", whoCanExecute: CommandUsage.CLIENT_AND_SERVER)] [RequiresPermissions("@css/generic")] @@ -417,7 +456,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig [time in minutes] - Add admin by steamid // @css/root - css_deladmin - Delete admin by steamid // @css/root +- css_reladmin - Reload sql admins // @css/root - css_admin - Display all admin commands // @css/generic - css_who <#userid or name> - Display informations about player // @css/generic - css_players - Display player list // @css/generic @@ -53,7 +54,7 @@ Manage your Counter-Strike 2 server by simple commands :) ``` ### Requirments -- [CounterStrikeSharp](https://github.com/roflmuffin/CounterStrikeSharp/) **tested on v142** +- [CounterStrikeSharp](https://github.com/roflmuffin/CounterStrikeSharp/) **tested on v144** - MySQL **tested on MySQL (MariaDB) Server version: 10.11.4-MariaDB-1~deb12u1 Debian 12**