diff --git a/CS2-SimpleAdmin/Api/CS2_SimpleAdminApi.cs b/CS2-SimpleAdmin/Api/CS2_SimpleAdminApi.cs index 3a83697..4729e28 100644 --- a/CS2-SimpleAdmin/Api/CS2_SimpleAdminApi.cs +++ b/CS2-SimpleAdmin/Api/CS2_SimpleAdminApi.cs @@ -27,12 +27,15 @@ public class CS2_SimpleAdminApi : ICS2_SimpleAdminApi public event Action? OnPlayerPenaltied; public event Action? OnPlayerPenaltiedAdded; + public event Action? OnAdminShowActivity; public void OnPlayerPenaltiedEvent(PlayerInfo player, PlayerInfo? admin, PenaltyType penaltyType, string reason, int duration, int? penaltyId) => OnPlayerPenaltied?.Invoke(player, admin, penaltyType, reason, duration, penaltyId, CS2_SimpleAdmin.ServerId); public void OnPlayerPenaltiedAddedEvent(SteamID player, PlayerInfo? admin, PenaltyType penaltyType, string reason, int duration, int? penaltyId) => OnPlayerPenaltiedAdded?.Invoke(player, admin, penaltyType, reason, duration, penaltyId, CS2_SimpleAdmin.ServerId); + + public void OnAdminShowActivityEvent(string messageKey, string? callerName = null, bool dontPublish = false, params object[] messageArgs) => OnAdminShowActivity?.Invoke(messageKey, callerName, dontPublish, messageArgs); public void IssuePenalty(CCSPlayerController player, CCSPlayerController? admin, PenaltyType penaltyType, string reason, int duration = -1) { @@ -121,4 +124,9 @@ public class CS2_SimpleAdminApi : ICS2_SimpleAdminApi { return CS2_SimpleAdmin.SilentPlayers.Contains(player.Slot); } + + public void ShowAdminActivity(string messageKey, string? callerName = null, bool dontPublish = false, params object[] messageArgs) + { + Helper.ShowAdminActivity(messageKey, callerName, dontPublish, messageArgs); + } } \ No newline at end of file diff --git a/CS2-SimpleAdmin/CS2-SimpleAdmin.cs b/CS2-SimpleAdmin/CS2-SimpleAdmin.cs index fc64b0c..8bf8cc6 100644 --- a/CS2-SimpleAdmin/CS2-SimpleAdmin.cs +++ b/CS2-SimpleAdmin/CS2-SimpleAdmin.cs @@ -19,7 +19,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig "CS2-SimpleAdmin" + (Helper.IsDebugBuild ? " (DEBUG)" : " (RELEASE)"); public override string ModuleDescription => "Simple admin plugin for Counter-Strike 2 :)"; public override string ModuleAuthor => "daffyy & Dliix66"; - public override string ModuleVersion => "1.7.3a"; + public override string ModuleVersion => "1.7.4a"; public override void Load(bool hotReload) { diff --git a/CS2-SimpleAdmin/Commands/basebans.cs b/CS2-SimpleAdmin/Commands/basebans.cs index 7e0ad00..393feae 100644 --- a/CS2-SimpleAdmin/Commands/basebans.cs +++ b/CS2-SimpleAdmin/Commands/basebans.cs @@ -94,7 +94,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message if necessary if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } // Schedule a kick timer @@ -420,7 +420,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message if necessary if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } // Log the warning command diff --git a/CS2-SimpleAdmin/Commands/basecommands.cs b/CS2-SimpleAdmin/Commands/basecommands.cs index 89a8ae7..bc34802 100644 --- a/CS2-SimpleAdmin/Commands/basecommands.cs +++ b/CS2-SimpleAdmin/Commands/basecommands.cs @@ -558,7 +558,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message if necessary if (!SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, caller.PlayerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, caller.PlayerName, false ,adminActivityArgs); } MenuApi?.CloseMenu(caller); @@ -583,7 +583,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (!SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, caller.PlayerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, caller.PlayerName, false, adminActivityArgs); } MenuApi?.CloseMenu(caller); @@ -608,7 +608,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (!SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, caller.PlayerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, caller.PlayerName, false, adminActivityArgs); } MenuApi?.CloseMenu(caller); @@ -633,7 +633,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (!SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, caller.PlayerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, caller.PlayerName, false, adminActivityArgs); } MenuApi?.CloseMenu(caller); @@ -825,7 +825,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } // Schedule the kick for the player @@ -894,7 +894,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } Helper.LogCommand(caller, command?.GetCommandString ?? $"css_map {map}"); @@ -924,7 +924,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, ["CALLER", map]); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, ["CALLER", map]); } // Add timer to execute the map change command after a delay diff --git a/CS2-SimpleAdmin/Commands/basecomms.cs b/CS2-SimpleAdmin/Commands/basecomms.cs index 75adc30..29b1e26 100644 --- a/CS2-SimpleAdmin/Commands/basecomms.cs +++ b/CS2-SimpleAdmin/Commands/basecomms.cs @@ -87,7 +87,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } // Increment the player's total gags count @@ -355,7 +355,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } // Increment the player's total mutes count @@ -623,7 +623,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } // Increment the player's total silences count diff --git a/CS2-SimpleAdmin/Commands/funcommands.cs b/CS2-SimpleAdmin/Commands/funcommands.cs index 9f67c47..110192d 100644 --- a/CS2-SimpleAdmin/Commands/funcommands.cs +++ b/CS2-SimpleAdmin/Commands/funcommands.cs @@ -46,7 +46,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } // Log the command @@ -109,7 +109,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } } @@ -152,7 +152,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } // Schedule unfreeze for the player if time is specified @@ -203,7 +203,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } // Log the command and send Discord notification diff --git a/CS2-SimpleAdmin/Commands/playercommands.cs b/CS2-SimpleAdmin/Commands/playercommands.cs index 61cc795..67c5b0e 100644 --- a/CS2-SimpleAdmin/Commands/playercommands.cs +++ b/CS2-SimpleAdmin/Commands/playercommands.cs @@ -49,7 +49,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } // Log the command and send Discord notification @@ -133,7 +133,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } } @@ -161,7 +161,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } } @@ -212,7 +212,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } } @@ -261,7 +261,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } } @@ -317,7 +317,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } } @@ -373,7 +373,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } } @@ -425,7 +425,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller == null || !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } } @@ -483,7 +483,7 @@ public partial class CS2_SimpleAdmin if (_localizer != null) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } } @@ -580,7 +580,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller != null && SilentPlayers.Contains(caller.Slot)) return; - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } [CommandHelper(1, "<#userid or name> ")] @@ -621,7 +621,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller != null && SilentPlayers.Contains(caller.Slot)) return; - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); // Rename the player player.Rename(newName); @@ -662,7 +662,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller != null && !SilentPlayers.Contains(caller.Slot)) { - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } // Determine if the new name is valid and update the renamed players list @@ -732,7 +732,7 @@ public partial class CS2_SimpleAdmin // Display admin activity message to other players if (caller != null && SilentPlayers.Contains(caller.Slot)) return; - Helper.ShowAdminActivity(activityMessageKey, callerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, callerName, false, adminActivityArgs); } [CommandHelper(1, "<#userid or name>")] @@ -801,7 +801,7 @@ public partial class CS2_SimpleAdmin // Show admin activity if (!SilentPlayers.Contains(caller.Slot) && _localizer != null) { - Helper.ShowAdminActivity(activityMessageKey, caller.PlayerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, caller.PlayerName, false, adminActivityArgs); } } } @@ -872,7 +872,7 @@ public partial class CS2_SimpleAdmin // Show admin activity if (!SilentPlayers.Contains(caller.Slot) && _localizer != null) { - Helper.ShowAdminActivity(activityMessageKey, caller.PlayerName, adminActivityArgs); + Helper.ShowAdminActivity(activityMessageKey, caller.PlayerName, false, adminActivityArgs); } } } diff --git a/CS2-SimpleAdmin/Helper.cs b/CS2-SimpleAdmin/Helper.cs index 619eb29..eaf9696 100644 --- a/CS2-SimpleAdmin/Helper.cs +++ b/CS2-SimpleAdmin/Helper.cs @@ -388,15 +388,23 @@ internal static class Helper _ = CS2_SimpleAdmin.DiscordWebhookClientLog.SendMessageAsync(GenerateMessageDiscord(localizer["sa_discord_log_command", $"[{callerName}]({communityUrl})", command])); } - public static void ShowAdminActivity(string messageKey, string? callerName = null, params object[] messageArgs) + public static void ShowAdminActivity(string messageKey, string? callerName = null, bool dontPublish = false, params object[] messageArgs) { + string[] publishActions = ["ban", "gag", "silence", "mute"]; + if (CS2_SimpleAdmin.Instance.Config.OtherSettings.ShowActivityType == 0) return; if (CS2_SimpleAdmin._localizer == null) return; + + if (string.IsNullOrWhiteSpace(callerName)) + callerName = CS2_SimpleAdmin._localizer["sa_console"]; - // Determine the localized message key - var localizedMessageKey = $"{messageKey}"; var formattedMessageArgs = messageArgs.Select(arg => arg.ToString() ?? string.Empty).ToArray(); - + + if (dontPublish == false && publishActions.Any(messageKey.Contains)) + { + CS2_SimpleAdmin.SimpleAdminApi?.OnAdminShowActivityEvent(messageKey, callerName, dontPublish, messageArgs); + } + // // Replace placeholder based on showActivityType // for (var i = 0; i < formattedMessageArgs.Length; i++) // { @@ -437,7 +445,7 @@ internal static class Helper } // Send the localized message to each player - controller.SendLocalizedMessage(CS2_SimpleAdmin._localizer, localizedMessageKey, currentMessageArgs.Cast().ToArray()); + controller.SendLocalizedMessage(CS2_SimpleAdmin._localizer, messageKey, currentMessageArgs.Cast().ToArray()); } } diff --git a/CS2-SimpleAdmin/VERSION b/CS2-SimpleAdmin/VERSION index 3ebe98c..2d191ec 100644 --- a/CS2-SimpleAdmin/VERSION +++ b/CS2-SimpleAdmin/VERSION @@ -1 +1 @@ -1.7.3a \ No newline at end of file +1.7.4a \ No newline at end of file diff --git a/CS2-SimpleAdmin/Variables.cs b/CS2-SimpleAdmin/Variables.cs index c0e65b0..8436e54 100644 --- a/CS2-SimpleAdmin/Variables.cs +++ b/CS2-SimpleAdmin/Variables.cs @@ -62,7 +62,7 @@ public partial class CS2_SimpleAdmin private static readonly PluginCapability MenuCapability = new("menu:nfcore"); // Shared API - private Api.CS2_SimpleAdminApi? SimpleAdminApi { get; set; } + internal static Api.CS2_SimpleAdminApi? SimpleAdminApi { get; set; } // Managers internal PermissionManager PermissionManager = new(Database); diff --git a/CS2-SimpleAdminApi/ICS2-SimpleAdminApi.cs b/CS2-SimpleAdminApi/ICS2-SimpleAdminApi.cs index ef6ba97..32c0669 100644 --- a/CS2-SimpleAdminApi/ICS2-SimpleAdminApi.cs +++ b/CS2-SimpleAdminApi/ICS2-SimpleAdminApi.cs @@ -19,11 +19,13 @@ public interface ICS2_SimpleAdminApi public event Action? OnPlayerPenaltied; public event Action? OnPlayerPenaltiedAdded; + public event Action? OnAdminShowActivity; public void IssuePenalty(CCSPlayerController player, CCSPlayerController? admin, PenaltyType penaltyType, string reason, int duration = -1); public void IssuePenalty(SteamID steamid, CCSPlayerController? admin, PenaltyType penaltyType, string reason, int duration = -1); public void LogCommand(CCSPlayerController? caller, string command); public void LogCommand(CCSPlayerController? caller, CommandInfo command); + public void ShowAdminActivity(string messageKey, string? callerName = null, bool dontPublish = false, params object[] messageArgs); public bool IsAdminSilent(CCSPlayerController player); } \ No newline at end of file diff --git a/Modules/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.csproj b/Modules/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.csproj new file mode 100644 index 0000000..e5ee518 --- /dev/null +++ b/Modules/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.csproj @@ -0,0 +1,23 @@ + + + + net8.0 + AntiDLL_CS2_SimpleAdmin + enable + enable + + + + + + + + + AntiDLL.API.dll + + + CS2-SimpleAdminApi.dll + + + + diff --git a/Modules/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.sln b/Modules/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.sln new file mode 100644 index 0000000..9371161 --- /dev/null +++ b/Modules/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.sln @@ -0,0 +1,16 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AntiDLL-CS2-SimpleAdmin", "AntiDLL-CS2-SimpleAdmin.csproj", "{21D8E512-1FA9-41DD-B955-709704CEC377}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {21D8E512-1FA9-41DD-B955-709704CEC377}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {21D8E512-1FA9-41DD-B955-709704CEC377}.Debug|Any CPU.Build.0 = Debug|Any CPU + {21D8E512-1FA9-41DD-B955-709704CEC377}.Release|Any CPU.ActiveCfg = Release|Any CPU + {21D8E512-1FA9-41DD-B955-709704CEC377}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/Modules/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.sln.DotSettings.user b/Modules/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.sln.DotSettings.user new file mode 100644 index 0000000..a48b17c --- /dev/null +++ b/Modules/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.sln.DotSettings.user @@ -0,0 +1,4 @@ + + True + True + ForceIncluded \ No newline at end of file diff --git a/Modules/AntiDLL-CS2-SimpleAdmin/AntiDLL.API.dll b/Modules/AntiDLL-CS2-SimpleAdmin/AntiDLL.API.dll new file mode 100644 index 0000000..54aab26 Binary files /dev/null and b/Modules/AntiDLL-CS2-SimpleAdmin/AntiDLL.API.dll differ diff --git a/Modules/AntiDLL-CS2-SimpleAdmin/AntiDLL_CS2_SimpleAdmin.cs b/Modules/AntiDLL-CS2-SimpleAdmin/AntiDLL_CS2_SimpleAdmin.cs new file mode 100644 index 0000000..0f2eb8b --- /dev/null +++ b/Modules/AntiDLL-CS2-SimpleAdmin/AntiDLL_CS2_SimpleAdmin.cs @@ -0,0 +1,120 @@ +using CounterStrikeSharp.API.ValveConstants.Protobuf; + +namespace AntiDLL_CS2_SimpleAdmin; + +using System.Text.Json.Serialization; +using CounterStrikeSharp.API; +using CounterStrikeSharp.API.Modules.Entities; +using CS2_SimpleAdminApi; +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Core.Capabilities; +using Microsoft.Extensions.Logging; + +using AntiDLL.API; + +public class PluginConfig : IBasePluginConfig +{ + [JsonPropertyName("ConfigVersion")] public int Version { get; set; } = 1; + [JsonPropertyName("Reason")] public string Reason { get; set; } = "Invalid event detected!"; + [JsonPropertyName("Duration")] public int Duration { get; set; } = 0; + [JsonPropertyName("CommandToExecute")] public string CommandToExecute { get; set; } = "css_addban {steamid64} {duration} {reason}"; + [JsonPropertyName("BanType")] public string BanType { get; set; } = "auto"; +} + +public sealed class AntiDLL_CS2_SimpleAdmin : BasePlugin, IPluginConfig +{ + public PluginConfig Config { get; set; } = new(); + private readonly HashSet _bannedPlayers = []; + private static PluginCapability AntiDll { get; } = new("AntiDLL"); + private static PluginCapability SimpleAdminApi { get; } = new("simpleadmin:api"); + private int _banType = 0; + private static ICS2_SimpleAdminApi? _simpleAdminApi; + + public override string ModuleName => "AntiDLL [CS2-SimpleAdmin Module]"; + public override string ModuleDescription => "AntiDLL module for CS2-SimpleAdmin integration"; + public override string ModuleVersion => "1.0.0"; + public override string ModuleAuthor => "daffyy"; + + public override void Load(bool hotReload) + { + RegisterListener(OnClientDisconnect); + } + + public void OnConfigParsed(PluginConfig config) + { + Config = config; + } + + public override void OnAllPluginsLoaded(bool hotReload) + { + try + { + var antidll = AntiDll.Get(); + if (antidll == null) + { + Logger.LogError("Failed to get AntiDLL API"); + Unload(false); + return; + } + + antidll.OnDetection += OnDetection; + } + catch (Exception) + { + Logger.LogError("Failed to get AntiDLL API"); + Unload(false); + } + + try + { + _simpleAdminApi = SimpleAdminApi.Get(); + if (_simpleAdminApi != null) + _banType = 1; + } + catch (Exception) + { + Logger.LogError("Failed to get CS2-SimpleAdmin API, using command as BanType"); + } + } + + private void OnClientDisconnect(int playerSlot) + { + var player = Utilities.GetPlayerFromSlot(playerSlot); + if (player == null || !player.IsValid || player.IsBot) + return; + + _bannedPlayers.Remove(playerSlot); + } + + private void OnDetection(CCSPlayerController player, string eventName) + { + if (!_bannedPlayers.Add(player.Slot)) + return; + + if (_banType == 1 && _simpleAdminApi != null) + { + _simpleAdminApi.IssuePenalty(new SteamID(player.SteamID), null, PenaltyType.Ban, Config.Reason, Config.Duration); + } + else if (Config.BanType == "kick") + { + player.Disconnect(NetworkDisconnectionReason.NETWORK_DISCONNECT_KICKED_UNTRUSTEDACCOUNT); + } + else + { + Server.ExecuteCommand(Config.CommandToExecute.Replace("{steamid64}", player.SteamID.ToString()) + .Replace("{duration}", Config.Duration.ToString().Replace("{reason}", $"\"{Config.Reason}\"")) + .Replace("{userid}", player.UserId.Value.ToString())); + } + } + + public override void Unload(bool hotReload) + { + RemoveListener(OnClientDisconnect); + + var antidll = AntiDll.Get(); + if (antidll != null) + { + antidll.OnDetection -= OnDetection; + } + } +} \ No newline at end of file diff --git a/Modules/AntiDLL-CS2-SimpleAdmin/COMPILED/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.deps.json b/Modules/AntiDLL-CS2-SimpleAdmin/COMPILED/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.deps.json new file mode 100644 index 0000000..d878db3 --- /dev/null +++ b/Modules/AntiDLL-CS2-SimpleAdmin/COMPILED/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.deps.json @@ -0,0 +1,900 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "AntiDLL-CS2-SimpleAdmin/1.0.0": { + "dependencies": { + "CounterStrikeSharp.API": "1.0.305", + "AntiDLL.API": "1.0.0.0", + "CS2-SimpleAdminApi": "1.0.0.0" + }, + "runtime": { + "AntiDLL-CS2-SimpleAdmin.dll": {} + } + }, + "CounterStrikeSharp.API/1.0.305": { + "dependencies": { + "McMaster.NETCore.Plugins": "1.4.0", + "Microsoft.CSharp": "4.7.0", + "Microsoft.DotNet.ApiCompat.Task": "8.0.203", + "Microsoft.Extensions.Hosting": "8.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "8.0.0", + "Microsoft.Extensions.Localization.Abstractions": "8.0.3", + "Microsoft.Extensions.Logging": "8.0.0", + "Scrutor": "4.2.2", + "Serilog.Extensions.Logging": "8.0.0", + "Serilog.Sinks.Console": "5.0.0", + "Serilog.Sinks.File": "5.0.0", + "System.Data.DataSetExtensions": "4.5.0" + }, + "runtime": { + "lib/net8.0/CounterStrikeSharp.API.dll": { + "assemblyVersion": "1.0.305.0", + "fileVersion": "1.0.305.0" + } + } + }, + "McMaster.NETCore.Plugins/1.4.0": { + "dependencies": { + "Microsoft.DotNet.PlatformAbstractions": "3.1.6", + "Microsoft.Extensions.DependencyModel": "6.0.0" + }, + "runtime": { + "lib/netcoreapp3.1/McMaster.NETCore.Plugins.dll": { + "assemblyVersion": "1.4.0.0", + "fileVersion": "1.4.0.0" + } + } + }, + "Microsoft.CSharp/4.7.0": {}, + "Microsoft.DotNet.ApiCompat.Task/8.0.203": {}, + "Microsoft.DotNet.PlatformAbstractions/3.1.6": { + "runtime": { + "lib/netstandard2.0/Microsoft.DotNet.PlatformAbstractions.dll": { + "assemblyVersion": "3.1.6.0", + "fileVersion": "3.100.620.31604" + } + } + }, + "Microsoft.Extensions.Configuration/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.Binder/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.CommandLine/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.CommandLine.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.Json/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "System.Text.Json": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Json.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.UserSecrets/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Json": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.UserSecrets.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.DependencyModel/6.0.0": { + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "8.0.0", + "System.Text.Json": "8.0.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Diagnostics/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Diagnostics.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "System.Diagnostics.DiagnosticSource": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.FileProviders.Physical/8.0.0": { + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.FileProviders.Physical.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.FileSystemGlobbing/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Hosting/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Binder": "8.0.0", + "Microsoft.Extensions.Configuration.CommandLine": "8.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "8.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", + "Microsoft.Extensions.Configuration.Json": "8.0.0", + "Microsoft.Extensions.Configuration.UserSecrets": "8.0.0", + "Microsoft.Extensions.DependencyInjection": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Diagnostics": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging.Configuration": "8.0.0", + "Microsoft.Extensions.Logging.Console": "8.0.0", + "Microsoft.Extensions.Logging.Debug": "8.0.0", + "Microsoft.Extensions.Logging.EventLog": "8.0.0", + "Microsoft.Extensions.Logging.EventSource": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Hosting.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Hosting.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Localization.Abstractions/8.0.3": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.Localization.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.324.11615" + } + } + }, + "Microsoft.Extensions.Logging/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.Configuration/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Binder": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.Console/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging.Configuration": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "System.Text.Json": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Console.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.Debug/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Debug.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.EventLog/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "System.Diagnostics.EventLog": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.EventLog.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.EventSource/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0", + "System.Text.Json": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.EventSource.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Options/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Binder": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Scrutor/4.2.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyModel": "6.0.0" + }, + "runtime": { + "lib/net6.0/Scrutor.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.0.0.0" + } + } + }, + "Serilog/3.1.1": { + "runtime": { + "lib/net7.0/Serilog.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "3.1.1.0" + } + } + }, + "Serilog.Extensions.Logging/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Logging": "8.0.0", + "Serilog": "3.1.1" + }, + "runtime": { + "lib/net8.0/Serilog.Extensions.Logging.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "8.0.0.0" + } + } + }, + "Serilog.Sinks.Console/5.0.0": { + "dependencies": { + "Serilog": "3.1.1" + }, + "runtime": { + "lib/net7.0/Serilog.Sinks.Console.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "Serilog.Sinks.File/5.0.0": { + "dependencies": { + "Serilog": "3.1.1" + }, + "runtime": { + "lib/net5.0/Serilog.Sinks.File.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "System.Buffers/4.5.1": {}, + "System.Data.DataSetExtensions/4.5.0": {}, + "System.Diagnostics.DiagnosticSource/8.0.0": {}, + "System.Diagnostics.EventLog/8.0.0": { + "runtime": { + "lib/net8.0/System.Diagnostics.EventLog.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "8.0.0.0", + "fileVersion": "0.0.0.0" + }, + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "System.Memory/4.5.4": {}, + "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, + "System.Text.Encodings.Web/8.0.0": {}, + "System.Text.Json/8.0.0": { + "dependencies": { + "System.Text.Encodings.Web": "8.0.0" + } + }, + "AntiDLL.API/1.0.0.0": { + "runtime": { + "AntiDLL.API.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "CS2-SimpleAdminApi/1.0.0.0": { + "runtime": { + "CS2-SimpleAdminApi.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "AntiDLL-CS2-SimpleAdmin/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "CounterStrikeSharp.API/1.0.305": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WoeI/sQ85HM2UG0ADvtfm7JaWNSETPn4gwTvKTKdX7uRoNPavVuemW1jB7dCKQQMW/7So96FVL0qbqYhE91Jpw==", + "path": "counterstrikesharp.api/1.0.305", + "hashPath": "counterstrikesharp.api.1.0.305.nupkg.sha512" + }, + "McMaster.NETCore.Plugins/1.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UKw5Z2/QHhkR7kiAJmqdCwVDMQV0lwsfj10+FG676r8DsJWIpxtachtEjE0qBs9WoK5GUQIqxgyFeYUSwuPszg==", + "path": "mcmaster.netcore.plugins/1.4.0", + "hashPath": "mcmaster.netcore.plugins.1.4.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", + "path": "microsoft.csharp/4.7.0", + "hashPath": "microsoft.csharp.4.7.0.nupkg.sha512" + }, + "Microsoft.DotNet.ApiCompat.Task/8.0.203": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nPEGMojf1mj1oVixe0aiBimSn6xUoZswSjpMPZFMkZ+znYm2GEM5tWGZEWb6OSNIo5gWKyDi1WcI4IL7YiL1Zw==", + "path": "microsoft.dotnet.apicompat.task/8.0.203", + "hashPath": "microsoft.dotnet.apicompat.task.8.0.203.nupkg.sha512" + }, + "Microsoft.DotNet.PlatformAbstractions/3.1.6": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jek4XYaQ/PGUwDKKhwR8K47Uh1189PFzMeLqO83mXrXQVIpARZCcfuDedH50YDTepBkfijCZN5U/vZi++erxtg==", + "path": "microsoft.dotnet.platformabstractions/3.1.6", + "hashPath": "microsoft.dotnet.platformabstractions.3.1.6.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==", + "path": "microsoft.extensions.configuration/8.0.0", + "hashPath": "microsoft.extensions.configuration.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Binder/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mBMoXLsr5s1y2zOHWmKsE9veDcx8h1x/c3rz4baEdQKTeDcmQAPNbB54Pi/lhFO3K431eEq6PFbMgLaa6PHFfA==", + "path": "microsoft.extensions.configuration.binder/8.0.0", + "hashPath": "microsoft.extensions.configuration.binder.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.CommandLine/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NZuZMz3Q8Z780nKX3ifV1fE7lS+6pynDHK71OfU4OZ1ItgvDOhyOC7E6z+JMZrAj63zRpwbdldYFk499t3+1dQ==", + "path": "microsoft.extensions.configuration.commandline/8.0.0", + "hashPath": "microsoft.extensions.configuration.commandline.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-plvZ0ZIpq+97gdPNNvhwvrEZ92kNml9hd1pe3idMA7svR0PztdzVLkoWLcRFgySYXUJc3kSM3Xw3mNFMo/bxRA==", + "path": "microsoft.extensions.configuration.environmentvariables/8.0.0", + "hashPath": "microsoft.extensions.configuration.environmentvariables.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-McP+Lz/EKwvtCv48z0YImw+L1gi1gy5rHhNaNIY2CrjloV+XY8gydT8DjMR6zWeL13AFK+DioVpppwAuO1Gi1w==", + "path": "microsoft.extensions.configuration.fileextensions/8.0.0", + "hashPath": "microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Json/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-C2wqUoh9OmRL1akaCcKSTmRU8z0kckfImG7zLNI8uyi47Lp+zd5LWAD17waPQEqCz3ioWOCrFUo+JJuoeZLOBw==", + "path": "microsoft.extensions.configuration.json/8.0.0", + "hashPath": "microsoft.extensions.configuration.json.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.UserSecrets/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ihDHu2dJYQird9pl2CbdwuNDfvCZdOS0S7SPlNfhPt0B81UTT+yyZKz2pimFZGUp3AfuBRnqUCxB2SjsZKHVUw==", + "path": "microsoft.extensions.configuration.usersecrets/8.0.0", + "hashPath": "microsoft.extensions.configuration.usersecrets.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==", + "path": "microsoft.extensions.dependencyinjection/8.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyModel/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", + "path": "microsoft.extensions.dependencymodel/6.0.0", + "hashPath": "microsoft.extensions.dependencymodel.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Diagnostics/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3PZp/YSkIXrF7QK7PfC1bkyRYwqOHpWFad8Qx+4wkuumAeXo1NHaxpS9LboNA9OvNSAu+QOVlXbMyoY+pHSqcw==", + "path": "microsoft.extensions.diagnostics/8.0.0", + "hashPath": "microsoft.extensions.diagnostics.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==", + "path": "microsoft.extensions.diagnostics.abstractions/8.0.0", + "hashPath": "microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", + "path": "microsoft.extensions.fileproviders.abstractions/8.0.0", + "hashPath": "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Physical/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==", + "path": "microsoft.extensions.fileproviders.physical/8.0.0", + "hashPath": "microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileSystemGlobbing/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ==", + "path": "microsoft.extensions.filesystemglobbing/8.0.0", + "hashPath": "microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Hosting/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ItYHpdqVp5/oFLT5QqbopnkKlyFG9EW/9nhM6/yfObeKt6Su0wkBio6AizgRHGNwhJuAtlE5VIjow5JOTrip6w==", + "path": "microsoft.extensions.hosting/8.0.0", + "hashPath": "microsoft.extensions.hosting.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Hosting.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AG7HWwVRdCHlaA++1oKDxLsXIBxmDpMPb3VoyOoAghEWnkUvEAdYQUwnV4jJbAaa/nMYNiEh5ByoLauZBEiovg==", + "path": "microsoft.extensions.hosting.abstractions/8.0.0", + "hashPath": "microsoft.extensions.hosting.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Localization.Abstractions/8.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k/kUPm1FQBxcs9/vsM1eF4qIOg2Sovqh/+KUGHur5Mc0Y3OFGuoz9ktBX7LA0gPz53SZhW3W3oaSaMFFcjgM6Q==", + "path": "microsoft.extensions.localization.abstractions/8.0.3", + "hashPath": "microsoft.extensions.localization.abstractions.8.0.3.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tvRkov9tAJ3xP51LCv3FJ2zINmv1P8Hi8lhhtcKGqM+ImiTCC84uOPEI4z8Cdq2C3o9e+Aa0Gw0rmrsJD77W+w==", + "path": "microsoft.extensions.logging/8.0.0", + "hashPath": "microsoft.extensions.logging.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", + "path": "microsoft.extensions.logging.abstractions/8.0.0", + "hashPath": "microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Configuration/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ixXXV0G/12g6MXK65TLngYN9V5hQQRuV+fZi882WIoVJT7h5JvoYoxTEwCgdqwLjSneqh1O+66gM8sMr9z/rsQ==", + "path": "microsoft.extensions.logging.configuration/8.0.0", + "hashPath": "microsoft.extensions.logging.configuration.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Console/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-e+48o7DztoYog+PY430lPxrM4mm3PbA6qucvQtUDDwVo4MO+ejMw7YGc/o2rnxbxj4isPxdfKFzTxvXMwAz83A==", + "path": "microsoft.extensions.logging.console/8.0.0", + "hashPath": "microsoft.extensions.logging.console.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Debug/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dt0x21qBdudHLW/bjMJpkixv858RRr8eSomgVbU8qljOyfrfDGi1JQvpF9w8S7ziRPtRKisuWaOwFxJM82GxeA==", + "path": "microsoft.extensions.logging.debug/8.0.0", + "hashPath": "microsoft.extensions.logging.debug.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.EventLog/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3X9D3sl7EmOu7vQp5MJrmIJBl5XSdOhZPYXUeFfYa6Nnm9+tok8x3t3IVPLhm7UJtPOU61ohFchw8rNm9tIYOQ==", + "path": "microsoft.extensions.logging.eventlog/8.0.0", + "hashPath": "microsoft.extensions.logging.eventlog.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.EventSource/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oKcPMrw+luz2DUAKhwFXrmFikZWnyc8l2RKoQwqU3KIZZjcfoJE0zRHAnqATfhRZhtcbjl/QkiY2Xjxp0xu+6w==", + "path": "microsoft.extensions.logging.eventsource/8.0.0", + "hashPath": "microsoft.extensions.logging.eventsource.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==", + "path": "microsoft.extensions.options/8.0.0", + "hashPath": "microsoft.extensions.options.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0f4DMRqEd50zQh+UyJc+/HiBsZ3vhAQALgdkcQEalSH1L2isdC7Yj54M3cyo5e+BeO5fcBQ7Dxly8XiBBcvRgw==", + "path": "microsoft.extensions.options.configurationextensions/8.0.0", + "hashPath": "microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "path": "microsoft.extensions.primitives/8.0.0", + "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" + }, + "Scrutor/4.2.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t5VIYA7WJXoJJo7s4DoHakMGwTu+MeEnZumMOhTCH7kz9xWha24G7dJNxWrHPlu0ZdZAS4jDZCxxAnyaBh7uYw==", + "path": "scrutor/4.2.2", + "hashPath": "scrutor.4.2.2.nupkg.sha512" + }, + "Serilog/3.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P6G4/4Kt9bT635bhuwdXlJ2SCqqn2nhh4gqFqQueCOr9bK/e7W9ll/IoX1Ter948cV2Z/5+5v8pAfJYUISY03A==", + "path": "serilog/3.1.1", + "hashPath": "serilog.3.1.1.nupkg.sha512" + }, + "Serilog.Extensions.Logging/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YEAMWu1UnWgf1c1KP85l1SgXGfiVo0Rz6x08pCiPOIBt2Qe18tcZLvdBUuV5o1QHvrs8FAry9wTIhgBRtjIlEg==", + "path": "serilog.extensions.logging/8.0.0", + "hashPath": "serilog.extensions.logging.8.0.0.nupkg.sha512" + }, + "Serilog.Sinks.Console/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IZ6bn79k+3SRXOBpwSOClUHikSkp2toGPCZ0teUkscv4dpDg9E2R2xVsNkLmwddE4OpNVO3N0xiYsAH556vN8Q==", + "path": "serilog.sinks.console/5.0.0", + "hashPath": "serilog.sinks.console.5.0.0.nupkg.sha512" + }, + "Serilog.Sinks.File/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uwV5hdhWPwUH1szhO8PJpFiahqXmzPzJT/sOijH/kFgUx+cyoDTMM8MHD0adw9+Iem6itoibbUXHYslzXsLEAg==", + "path": "serilog.sinks.file/5.0.0", + "hashPath": "serilog.sinks.file.5.0.0.nupkg.sha512" + }, + "System.Buffers/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==", + "path": "system.buffers/4.5.1", + "hashPath": "system.buffers.4.5.1.nupkg.sha512" + }, + "System.Data.DataSetExtensions/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==", + "path": "system.data.datasetextensions/4.5.0", + "hashPath": "system.data.datasetextensions.4.5.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c9xLpVz6PL9lp/djOWtk5KPDZq3cSYpmXoJQY524EOtuFl5z9ZtsotpsyrDW40U1DRnQSYvcPKEUV0X//u6gkQ==", + "path": "system.diagnostics.diagnosticsource/8.0.0", + "hashPath": "system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512" + }, + "System.Diagnostics.EventLog/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==", + "path": "system.diagnostics.eventlog/8.0.0", + "hashPath": "system.diagnostics.eventlog.8.0.0.nupkg.sha512" + }, + "System.Memory/4.5.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==", + "path": "system.memory/4.5.4", + "hashPath": "system.memory.4.5.4.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==", + "path": "system.text.encodings.web/8.0.0", + "hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512" + }, + "System.Text.Json/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OdrZO2WjkiEG6ajEFRABTRCi/wuXQPxeV6g8xvUJqdxMvvuCCEk86zPla8UiIQJz3durtUEbNyY/3lIhS0yZvQ==", + "path": "system.text.json/8.0.0", + "hashPath": "system.text.json.8.0.0.nupkg.sha512" + }, + "AntiDLL.API/1.0.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + }, + "CS2-SimpleAdminApi/1.0.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Modules/AntiDLL-CS2-SimpleAdmin/COMPILED/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.dll b/Modules/AntiDLL-CS2-SimpleAdmin/COMPILED/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.dll new file mode 100644 index 0000000..585dd28 Binary files /dev/null and b/Modules/AntiDLL-CS2-SimpleAdmin/COMPILED/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.dll differ diff --git a/Modules/AntiDLL-CS2-SimpleAdmin/COMPILED/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.pdb b/Modules/AntiDLL-CS2-SimpleAdmin/COMPILED/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.pdb new file mode 100644 index 0000000..4c8e8ac Binary files /dev/null and b/Modules/AntiDLL-CS2-SimpleAdmin/COMPILED/AntiDLL-CS2-SimpleAdmin/AntiDLL-CS2-SimpleAdmin.pdb differ diff --git a/Modules/AntiDLL-CS2-SimpleAdmin/COMPILED/AntiDLL-CS2-SimpleAdmin/CS2-SimpleAdminApi.dll b/Modules/AntiDLL-CS2-SimpleAdmin/COMPILED/AntiDLL-CS2-SimpleAdmin/CS2-SimpleAdminApi.dll new file mode 100644 index 0000000..20c9407 Binary files /dev/null and b/Modules/AntiDLL-CS2-SimpleAdmin/COMPILED/AntiDLL-CS2-SimpleAdmin/CS2-SimpleAdminApi.dll differ diff --git a/Modules/AntiDLL-CS2-SimpleAdmin/CS2-SimpleAdminApi.dll b/Modules/AntiDLL-CS2-SimpleAdmin/CS2-SimpleAdminApi.dll new file mode 100644 index 0000000..20c9407 Binary files /dev/null and b/Modules/AntiDLL-CS2-SimpleAdmin/CS2-SimpleAdminApi.dll differ diff --git a/Modules/AntiDLL-CS2-SimpleAdmin/global.json b/Modules/AntiDLL-CS2-SimpleAdmin/global.json new file mode 100644 index 0000000..2ddda36 --- /dev/null +++ b/Modules/AntiDLL-CS2-SimpleAdmin/global.json @@ -0,0 +1,7 @@ +{ + "sdk": { + "version": "8.0.0", + "rollForward": "latestMinor", + "allowPrerelease": false + } +} \ No newline at end of file diff --git a/Modules/CS2-SimpleAdmin_CleanModule/CS2-SimpleAdminApi.dll b/Modules/CS2-SimpleAdmin_CleanModule/CS2-SimpleAdminApi.dll index ad16a31..20c9407 100644 Binary files a/Modules/CS2-SimpleAdmin_CleanModule/CS2-SimpleAdminApi.dll and b/Modules/CS2-SimpleAdmin_CleanModule/CS2-SimpleAdminApi.dll differ diff --git a/Modules/CS2-SimpleAdmin_ExampleModule/CS2-SimpleAdminApi.dll b/Modules/CS2-SimpleAdmin_ExampleModule/CS2-SimpleAdminApi.dll index ad16a31..20c9407 100644 Binary files a/Modules/CS2-SimpleAdmin_ExampleModule/CS2-SimpleAdminApi.dll and b/Modules/CS2-SimpleAdmin_ExampleModule/CS2-SimpleAdminApi.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/CS2-SimpleAdminApi.dll b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/CS2-SimpleAdminApi.dll new file mode 100644 index 0000000..20c9407 Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/CS2-SimpleAdminApi.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/CS2-SimpleAdmin_RedisInform.deps.json b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/CS2-SimpleAdmin_RedisInform.deps.json new file mode 100644 index 0000000..6070937 --- /dev/null +++ b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/CS2-SimpleAdmin_RedisInform.deps.json @@ -0,0 +1,955 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "CS2-SimpleAdmin_RedisInform/1.0.0": { + "dependencies": { + "CounterStrikeSharp.API": "1.0.305", + "Newtonsoft.Json": "13.0.3", + "StackExchange.Redis": "2.8.24", + "CS2-SimpleAdminApi": "1.0.0.0" + }, + "runtime": { + "CS2-SimpleAdmin_RedisInform.dll": {} + } + }, + "CounterStrikeSharp.API/1.0.305": { + "dependencies": { + "McMaster.NETCore.Plugins": "1.4.0", + "Microsoft.CSharp": "4.7.0", + "Microsoft.DotNet.ApiCompat.Task": "8.0.203", + "Microsoft.Extensions.Hosting": "8.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "8.0.0", + "Microsoft.Extensions.Localization.Abstractions": "8.0.3", + "Microsoft.Extensions.Logging": "8.0.0", + "Scrutor": "4.2.2", + "Serilog.Extensions.Logging": "8.0.0", + "Serilog.Sinks.Console": "5.0.0", + "Serilog.Sinks.File": "5.0.0", + "System.Data.DataSetExtensions": "4.5.0" + }, + "runtime": { + "lib/net8.0/CounterStrikeSharp.API.dll": { + "assemblyVersion": "1.0.305.0", + "fileVersion": "1.0.305.0" + } + } + }, + "McMaster.NETCore.Plugins/1.4.0": { + "dependencies": { + "Microsoft.DotNet.PlatformAbstractions": "3.1.6", + "Microsoft.Extensions.DependencyModel": "6.0.0" + }, + "runtime": { + "lib/netcoreapp3.1/McMaster.NETCore.Plugins.dll": { + "assemblyVersion": "1.4.0.0", + "fileVersion": "1.4.0.0" + } + } + }, + "Microsoft.CSharp/4.7.0": {}, + "Microsoft.DotNet.ApiCompat.Task/8.0.203": {}, + "Microsoft.DotNet.PlatformAbstractions/3.1.6": { + "runtime": { + "lib/netstandard2.0/Microsoft.DotNet.PlatformAbstractions.dll": { + "assemblyVersion": "3.1.6.0", + "fileVersion": "3.100.620.31604" + } + } + }, + "Microsoft.Extensions.Configuration/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.Binder/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.CommandLine/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.CommandLine.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.Json/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "System.Text.Json": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Json.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.UserSecrets/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Json": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.UserSecrets.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.DependencyModel/6.0.0": { + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "8.0.0", + "System.Text.Json": "8.0.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Diagnostics/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Diagnostics.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "System.Diagnostics.DiagnosticSource": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.FileProviders.Physical/8.0.0": { + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.FileProviders.Physical.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.FileSystemGlobbing/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Hosting/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Binder": "8.0.0", + "Microsoft.Extensions.Configuration.CommandLine": "8.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "8.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", + "Microsoft.Extensions.Configuration.Json": "8.0.0", + "Microsoft.Extensions.Configuration.UserSecrets": "8.0.0", + "Microsoft.Extensions.DependencyInjection": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Diagnostics": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging.Configuration": "8.0.0", + "Microsoft.Extensions.Logging.Console": "8.0.0", + "Microsoft.Extensions.Logging.Debug": "8.0.0", + "Microsoft.Extensions.Logging.EventLog": "8.0.0", + "Microsoft.Extensions.Logging.EventSource": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Hosting.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Hosting.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Localization.Abstractions/8.0.3": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.Localization.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.324.11615" + } + } + }, + "Microsoft.Extensions.Logging/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.Configuration/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Binder": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.Console/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging.Configuration": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "System.Text.Json": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Console.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.Debug/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Debug.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.EventLog/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "System.Diagnostics.EventLog": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.EventLog.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.EventSource/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0", + "System.Text.Json": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.EventSource.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Options/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Binder": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Newtonsoft.Json/13.0.3": { + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.3.27908" + } + } + }, + "Pipelines.Sockets.Unofficial/2.2.8": { + "dependencies": { + "System.IO.Pipelines": "5.0.1" + }, + "runtime": { + "lib/net5.0/Pipelines.Sockets.Unofficial.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "2.2.8.1080" + } + } + }, + "Scrutor/4.2.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyModel": "6.0.0" + }, + "runtime": { + "lib/net6.0/Scrutor.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.0.0.0" + } + } + }, + "Serilog/3.1.1": { + "runtime": { + "lib/net7.0/Serilog.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "3.1.1.0" + } + } + }, + "Serilog.Extensions.Logging/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Logging": "8.0.0", + "Serilog": "3.1.1" + }, + "runtime": { + "lib/net8.0/Serilog.Extensions.Logging.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "8.0.0.0" + } + } + }, + "Serilog.Sinks.Console/5.0.0": { + "dependencies": { + "Serilog": "3.1.1" + }, + "runtime": { + "lib/net7.0/Serilog.Sinks.Console.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "Serilog.Sinks.File/5.0.0": { + "dependencies": { + "Serilog": "3.1.1" + }, + "runtime": { + "lib/net5.0/Serilog.Sinks.File.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "StackExchange.Redis/2.8.24": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Pipelines.Sockets.Unofficial": "2.2.8" + }, + "runtime": { + "lib/net8.0/StackExchange.Redis.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.8.24.3255" + } + } + }, + "System.Buffers/4.5.1": {}, + "System.Data.DataSetExtensions/4.5.0": {}, + "System.Diagnostics.DiagnosticSource/8.0.0": {}, + "System.Diagnostics.EventLog/8.0.0": { + "runtime": { + "lib/net8.0/System.Diagnostics.EventLog.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "8.0.0.0", + "fileVersion": "0.0.0.0" + }, + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "System.IO.Pipelines/5.0.1": { + "runtime": { + "lib/netcoreapp3.0/System.IO.Pipelines.dll": { + "assemblyVersion": "5.0.0.1", + "fileVersion": "5.0.120.57516" + } + } + }, + "System.Memory/4.5.4": {}, + "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, + "System.Text.Encodings.Web/8.0.0": {}, + "System.Text.Json/8.0.0": { + "dependencies": { + "System.Text.Encodings.Web": "8.0.0" + } + }, + "CS2-SimpleAdminApi/1.0.0.0": { + "runtime": { + "CS2-SimpleAdminApi.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "CS2-SimpleAdmin_RedisInform/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "CounterStrikeSharp.API/1.0.305": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WoeI/sQ85HM2UG0ADvtfm7JaWNSETPn4gwTvKTKdX7uRoNPavVuemW1jB7dCKQQMW/7So96FVL0qbqYhE91Jpw==", + "path": "counterstrikesharp.api/1.0.305", + "hashPath": "counterstrikesharp.api.1.0.305.nupkg.sha512" + }, + "McMaster.NETCore.Plugins/1.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UKw5Z2/QHhkR7kiAJmqdCwVDMQV0lwsfj10+FG676r8DsJWIpxtachtEjE0qBs9WoK5GUQIqxgyFeYUSwuPszg==", + "path": "mcmaster.netcore.plugins/1.4.0", + "hashPath": "mcmaster.netcore.plugins.1.4.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", + "path": "microsoft.csharp/4.7.0", + "hashPath": "microsoft.csharp.4.7.0.nupkg.sha512" + }, + "Microsoft.DotNet.ApiCompat.Task/8.0.203": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nPEGMojf1mj1oVixe0aiBimSn6xUoZswSjpMPZFMkZ+znYm2GEM5tWGZEWb6OSNIo5gWKyDi1WcI4IL7YiL1Zw==", + "path": "microsoft.dotnet.apicompat.task/8.0.203", + "hashPath": "microsoft.dotnet.apicompat.task.8.0.203.nupkg.sha512" + }, + "Microsoft.DotNet.PlatformAbstractions/3.1.6": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jek4XYaQ/PGUwDKKhwR8K47Uh1189PFzMeLqO83mXrXQVIpARZCcfuDedH50YDTepBkfijCZN5U/vZi++erxtg==", + "path": "microsoft.dotnet.platformabstractions/3.1.6", + "hashPath": "microsoft.dotnet.platformabstractions.3.1.6.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==", + "path": "microsoft.extensions.configuration/8.0.0", + "hashPath": "microsoft.extensions.configuration.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Binder/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mBMoXLsr5s1y2zOHWmKsE9veDcx8h1x/c3rz4baEdQKTeDcmQAPNbB54Pi/lhFO3K431eEq6PFbMgLaa6PHFfA==", + "path": "microsoft.extensions.configuration.binder/8.0.0", + "hashPath": "microsoft.extensions.configuration.binder.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.CommandLine/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NZuZMz3Q8Z780nKX3ifV1fE7lS+6pynDHK71OfU4OZ1ItgvDOhyOC7E6z+JMZrAj63zRpwbdldYFk499t3+1dQ==", + "path": "microsoft.extensions.configuration.commandline/8.0.0", + "hashPath": "microsoft.extensions.configuration.commandline.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-plvZ0ZIpq+97gdPNNvhwvrEZ92kNml9hd1pe3idMA7svR0PztdzVLkoWLcRFgySYXUJc3kSM3Xw3mNFMo/bxRA==", + "path": "microsoft.extensions.configuration.environmentvariables/8.0.0", + "hashPath": "microsoft.extensions.configuration.environmentvariables.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-McP+Lz/EKwvtCv48z0YImw+L1gi1gy5rHhNaNIY2CrjloV+XY8gydT8DjMR6zWeL13AFK+DioVpppwAuO1Gi1w==", + "path": "microsoft.extensions.configuration.fileextensions/8.0.0", + "hashPath": "microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Json/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-C2wqUoh9OmRL1akaCcKSTmRU8z0kckfImG7zLNI8uyi47Lp+zd5LWAD17waPQEqCz3ioWOCrFUo+JJuoeZLOBw==", + "path": "microsoft.extensions.configuration.json/8.0.0", + "hashPath": "microsoft.extensions.configuration.json.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.UserSecrets/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ihDHu2dJYQird9pl2CbdwuNDfvCZdOS0S7SPlNfhPt0B81UTT+yyZKz2pimFZGUp3AfuBRnqUCxB2SjsZKHVUw==", + "path": "microsoft.extensions.configuration.usersecrets/8.0.0", + "hashPath": "microsoft.extensions.configuration.usersecrets.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==", + "path": "microsoft.extensions.dependencyinjection/8.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyModel/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", + "path": "microsoft.extensions.dependencymodel/6.0.0", + "hashPath": "microsoft.extensions.dependencymodel.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Diagnostics/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3PZp/YSkIXrF7QK7PfC1bkyRYwqOHpWFad8Qx+4wkuumAeXo1NHaxpS9LboNA9OvNSAu+QOVlXbMyoY+pHSqcw==", + "path": "microsoft.extensions.diagnostics/8.0.0", + "hashPath": "microsoft.extensions.diagnostics.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==", + "path": "microsoft.extensions.diagnostics.abstractions/8.0.0", + "hashPath": "microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", + "path": "microsoft.extensions.fileproviders.abstractions/8.0.0", + "hashPath": "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Physical/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==", + "path": "microsoft.extensions.fileproviders.physical/8.0.0", + "hashPath": "microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileSystemGlobbing/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ==", + "path": "microsoft.extensions.filesystemglobbing/8.0.0", + "hashPath": "microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Hosting/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ItYHpdqVp5/oFLT5QqbopnkKlyFG9EW/9nhM6/yfObeKt6Su0wkBio6AizgRHGNwhJuAtlE5VIjow5JOTrip6w==", + "path": "microsoft.extensions.hosting/8.0.0", + "hashPath": "microsoft.extensions.hosting.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Hosting.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AG7HWwVRdCHlaA++1oKDxLsXIBxmDpMPb3VoyOoAghEWnkUvEAdYQUwnV4jJbAaa/nMYNiEh5ByoLauZBEiovg==", + "path": "microsoft.extensions.hosting.abstractions/8.0.0", + "hashPath": "microsoft.extensions.hosting.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Localization.Abstractions/8.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k/kUPm1FQBxcs9/vsM1eF4qIOg2Sovqh/+KUGHur5Mc0Y3OFGuoz9ktBX7LA0gPz53SZhW3W3oaSaMFFcjgM6Q==", + "path": "microsoft.extensions.localization.abstractions/8.0.3", + "hashPath": "microsoft.extensions.localization.abstractions.8.0.3.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tvRkov9tAJ3xP51LCv3FJ2zINmv1P8Hi8lhhtcKGqM+ImiTCC84uOPEI4z8Cdq2C3o9e+Aa0Gw0rmrsJD77W+w==", + "path": "microsoft.extensions.logging/8.0.0", + "hashPath": "microsoft.extensions.logging.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", + "path": "microsoft.extensions.logging.abstractions/8.0.0", + "hashPath": "microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Configuration/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ixXXV0G/12g6MXK65TLngYN9V5hQQRuV+fZi882WIoVJT7h5JvoYoxTEwCgdqwLjSneqh1O+66gM8sMr9z/rsQ==", + "path": "microsoft.extensions.logging.configuration/8.0.0", + "hashPath": "microsoft.extensions.logging.configuration.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Console/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-e+48o7DztoYog+PY430lPxrM4mm3PbA6qucvQtUDDwVo4MO+ejMw7YGc/o2rnxbxj4isPxdfKFzTxvXMwAz83A==", + "path": "microsoft.extensions.logging.console/8.0.0", + "hashPath": "microsoft.extensions.logging.console.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Debug/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dt0x21qBdudHLW/bjMJpkixv858RRr8eSomgVbU8qljOyfrfDGi1JQvpF9w8S7ziRPtRKisuWaOwFxJM82GxeA==", + "path": "microsoft.extensions.logging.debug/8.0.0", + "hashPath": "microsoft.extensions.logging.debug.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.EventLog/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3X9D3sl7EmOu7vQp5MJrmIJBl5XSdOhZPYXUeFfYa6Nnm9+tok8x3t3IVPLhm7UJtPOU61ohFchw8rNm9tIYOQ==", + "path": "microsoft.extensions.logging.eventlog/8.0.0", + "hashPath": "microsoft.extensions.logging.eventlog.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.EventSource/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oKcPMrw+luz2DUAKhwFXrmFikZWnyc8l2RKoQwqU3KIZZjcfoJE0zRHAnqATfhRZhtcbjl/QkiY2Xjxp0xu+6w==", + "path": "microsoft.extensions.logging.eventsource/8.0.0", + "hashPath": "microsoft.extensions.logging.eventsource.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==", + "path": "microsoft.extensions.options/8.0.0", + "hashPath": "microsoft.extensions.options.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0f4DMRqEd50zQh+UyJc+/HiBsZ3vhAQALgdkcQEalSH1L2isdC7Yj54M3cyo5e+BeO5fcBQ7Dxly8XiBBcvRgw==", + "path": "microsoft.extensions.options.configurationextensions/8.0.0", + "hashPath": "microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "path": "microsoft.extensions.primitives/8.0.0", + "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==", + "path": "newtonsoft.json/13.0.3", + "hashPath": "newtonsoft.json.13.0.3.nupkg.sha512" + }, + "Pipelines.Sockets.Unofficial/2.2.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zG2FApP5zxSx6OcdJQLbZDk2AVlN2BNQD6MorwIfV6gVj0RRxWPEp2LXAxqDGZqeNV1Zp0BNPcNaey/GXmTdvQ==", + "path": "pipelines.sockets.unofficial/2.2.8", + "hashPath": "pipelines.sockets.unofficial.2.2.8.nupkg.sha512" + }, + "Scrutor/4.2.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t5VIYA7WJXoJJo7s4DoHakMGwTu+MeEnZumMOhTCH7kz9xWha24G7dJNxWrHPlu0ZdZAS4jDZCxxAnyaBh7uYw==", + "path": "scrutor/4.2.2", + "hashPath": "scrutor.4.2.2.nupkg.sha512" + }, + "Serilog/3.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P6G4/4Kt9bT635bhuwdXlJ2SCqqn2nhh4gqFqQueCOr9bK/e7W9ll/IoX1Ter948cV2Z/5+5v8pAfJYUISY03A==", + "path": "serilog/3.1.1", + "hashPath": "serilog.3.1.1.nupkg.sha512" + }, + "Serilog.Extensions.Logging/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YEAMWu1UnWgf1c1KP85l1SgXGfiVo0Rz6x08pCiPOIBt2Qe18tcZLvdBUuV5o1QHvrs8FAry9wTIhgBRtjIlEg==", + "path": "serilog.extensions.logging/8.0.0", + "hashPath": "serilog.extensions.logging.8.0.0.nupkg.sha512" + }, + "Serilog.Sinks.Console/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IZ6bn79k+3SRXOBpwSOClUHikSkp2toGPCZ0teUkscv4dpDg9E2R2xVsNkLmwddE4OpNVO3N0xiYsAH556vN8Q==", + "path": "serilog.sinks.console/5.0.0", + "hashPath": "serilog.sinks.console.5.0.0.nupkg.sha512" + }, + "Serilog.Sinks.File/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uwV5hdhWPwUH1szhO8PJpFiahqXmzPzJT/sOijH/kFgUx+cyoDTMM8MHD0adw9+Iem6itoibbUXHYslzXsLEAg==", + "path": "serilog.sinks.file/5.0.0", + "hashPath": "serilog.sinks.file.5.0.0.nupkg.sha512" + }, + "StackExchange.Redis/2.8.24": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GWllmsFAtLyhm4C47cOCipGxyEi1NQWTFUHXnJ8hiHOsK/bH3T5eLkWPVW+LRL6jDiB3g3izW3YEHgLuPoJSyA==", + "path": "stackexchange.redis/2.8.24", + "hashPath": "stackexchange.redis.2.8.24.nupkg.sha512" + }, + "System.Buffers/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==", + "path": "system.buffers/4.5.1", + "hashPath": "system.buffers.4.5.1.nupkg.sha512" + }, + "System.Data.DataSetExtensions/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==", + "path": "system.data.datasetextensions/4.5.0", + "hashPath": "system.data.datasetextensions.4.5.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c9xLpVz6PL9lp/djOWtk5KPDZq3cSYpmXoJQY524EOtuFl5z9ZtsotpsyrDW40U1DRnQSYvcPKEUV0X//u6gkQ==", + "path": "system.diagnostics.diagnosticsource/8.0.0", + "hashPath": "system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512" + }, + "System.Diagnostics.EventLog/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==", + "path": "system.diagnostics.eventlog/8.0.0", + "hashPath": "system.diagnostics.eventlog.8.0.0.nupkg.sha512" + }, + "System.IO.Pipelines/5.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qEePWsaq9LoEEIqhbGe6D5J8c9IqQOUuTzzV6wn1POlfdLkJliZY3OlB0j0f17uMWlqZYjH7txj+2YbyrIA8Yg==", + "path": "system.io.pipelines/5.0.1", + "hashPath": "system.io.pipelines.5.0.1.nupkg.sha512" + }, + "System.Memory/4.5.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==", + "path": "system.memory/4.5.4", + "hashPath": "system.memory.4.5.4.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==", + "path": "system.text.encodings.web/8.0.0", + "hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512" + }, + "System.Text.Json/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OdrZO2WjkiEG6ajEFRABTRCi/wuXQPxeV6g8xvUJqdxMvvuCCEk86zPla8UiIQJz3durtUEbNyY/3lIhS0yZvQ==", + "path": "system.text.json/8.0.0", + "hashPath": "system.text.json.8.0.0.nupkg.sha512" + }, + "CS2-SimpleAdminApi/1.0.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/CS2-SimpleAdmin_RedisInform.dll b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/CS2-SimpleAdmin_RedisInform.dll new file mode 100644 index 0000000..07f5f70 Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/CS2-SimpleAdmin_RedisInform.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/CS2-SimpleAdmin_RedisInform.pdb b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/CS2-SimpleAdmin_RedisInform.pdb new file mode 100644 index 0000000..a697fd7 Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/CS2-SimpleAdmin_RedisInform.pdb differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/Newtonsoft.Json.dll b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/Newtonsoft.Json.dll new file mode 100644 index 0000000..d035c38 Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/Newtonsoft.Json.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/Pipelines.Sockets.Unofficial.dll b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/Pipelines.Sockets.Unofficial.dll new file mode 100644 index 0000000..c5b223d Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/Pipelines.Sockets.Unofficial.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/Scrutor.dll b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/Scrutor.dll new file mode 100644 index 0000000..0964cf6 Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/Scrutor.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/Serilog.dll b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/Serilog.dll new file mode 100644 index 0000000..50bdb5a Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/Serilog.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/StackExchange.Redis.dll b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/StackExchange.Redis.dll new file mode 100644 index 0000000..dea5559 Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/StackExchange.Redis.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/System.IO.Pipelines.dll b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/System.IO.Pipelines.dll new file mode 100644 index 0000000..d2ab03f Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/System.IO.Pipelines.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll new file mode 100644 index 0000000..a8d91f3 Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll new file mode 100644 index 0000000..33066bd Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/COMPILED/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdminApi.dll b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdminApi.dll new file mode 100644 index 0000000..20c9407 Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdminApi.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.csproj b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.csproj new file mode 100644 index 0000000..ea58ed3 --- /dev/null +++ b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.csproj @@ -0,0 +1,22 @@ + + + + net8.0 + CS2_SimpleAdmin_RedisInform + enable + enable + + + + + + + + + + + CS2-SimpleAdminApi.dll + + + + diff --git a/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.sln b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.sln new file mode 100644 index 0000000..ef42afa --- /dev/null +++ b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.sln @@ -0,0 +1,16 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CS2-SimpleAdmin_RedisInform", "CS2-SimpleAdmin_RedisInform.csproj", "{D04330AB-3B25-4A5C-8077-4ADD46A3FBF2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D04330AB-3B25-4A5C-8077-4ADD46A3FBF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D04330AB-3B25-4A5C-8077-4ADD46A3FBF2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D04330AB-3B25-4A5C-8077-4ADD46A3FBF2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D04330AB-3B25-4A5C-8077-4ADD46A3FBF2}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.sln.DotSettings.user b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.sln.DotSettings.user new file mode 100644 index 0000000..dd0353b --- /dev/null +++ b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.sln.DotSettings.user @@ -0,0 +1,3 @@ + + True + ForceIncluded \ No newline at end of file diff --git a/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdminApi.dll b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdminApi.dll new file mode 100644 index 0000000..ad16a31 Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdminApi.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.deps.json b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.deps.json new file mode 100644 index 0000000..9c1d661 --- /dev/null +++ b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.deps.json @@ -0,0 +1,939 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "CS2-SimpleAdmin_RedisInform/1.0.0": { + "dependencies": { + "CounterStrikeSharp.API": "1.0.305", + "StackExchange.Redis": "2.8.24", + "CS2-SimpleAdminApi": "1.0.0.0" + }, + "runtime": { + "CS2-SimpleAdmin_RedisInform.dll": {} + } + }, + "CounterStrikeSharp.API/1.0.305": { + "dependencies": { + "McMaster.NETCore.Plugins": "1.4.0", + "Microsoft.CSharp": "4.7.0", + "Microsoft.DotNet.ApiCompat.Task": "8.0.203", + "Microsoft.Extensions.Hosting": "8.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "8.0.0", + "Microsoft.Extensions.Localization.Abstractions": "8.0.3", + "Microsoft.Extensions.Logging": "8.0.0", + "Scrutor": "4.2.2", + "Serilog.Extensions.Logging": "8.0.0", + "Serilog.Sinks.Console": "5.0.0", + "Serilog.Sinks.File": "5.0.0", + "System.Data.DataSetExtensions": "4.5.0" + }, + "runtime": { + "lib/net8.0/CounterStrikeSharp.API.dll": { + "assemblyVersion": "1.0.305.0", + "fileVersion": "1.0.305.0" + } + } + }, + "McMaster.NETCore.Plugins/1.4.0": { + "dependencies": { + "Microsoft.DotNet.PlatformAbstractions": "3.1.6", + "Microsoft.Extensions.DependencyModel": "6.0.0" + }, + "runtime": { + "lib/netcoreapp3.1/McMaster.NETCore.Plugins.dll": { + "assemblyVersion": "1.4.0.0", + "fileVersion": "1.4.0.0" + } + } + }, + "Microsoft.CSharp/4.7.0": {}, + "Microsoft.DotNet.ApiCompat.Task/8.0.203": {}, + "Microsoft.DotNet.PlatformAbstractions/3.1.6": { + "runtime": { + "lib/netstandard2.0/Microsoft.DotNet.PlatformAbstractions.dll": { + "assemblyVersion": "3.1.6.0", + "fileVersion": "3.100.620.31604" + } + } + }, + "Microsoft.Extensions.Configuration/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.Binder/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Binder.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.CommandLine/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.CommandLine.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.FileExtensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.Json/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "System.Text.Json": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.Json.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Configuration.UserSecrets/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Json": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Configuration.UserSecrets.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.DependencyModel/6.0.0": { + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "8.0.0", + "System.Text.Json": "8.0.0" + }, + "runtime": { + "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, + "Microsoft.Extensions.Diagnostics/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Diagnostics.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "System.Diagnostics.DiagnosticSource": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Diagnostics.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.FileProviders.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.FileProviders.Physical/8.0.0": { + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.FileProviders.Physical.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.FileSystemGlobbing/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.FileSystemGlobbing.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Hosting/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Binder": "8.0.0", + "Microsoft.Extensions.Configuration.CommandLine": "8.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "8.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0", + "Microsoft.Extensions.Configuration.Json": "8.0.0", + "Microsoft.Extensions.Configuration.UserSecrets": "8.0.0", + "Microsoft.Extensions.DependencyInjection": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Diagnostics": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Physical": "8.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging.Configuration": "8.0.0", + "Microsoft.Extensions.Logging.Console": "8.0.0", + "Microsoft.Extensions.Logging.Debug": "8.0.0", + "Microsoft.Extensions.Logging.EventLog": "8.0.0", + "Microsoft.Extensions.Logging.EventSource": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Hosting.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Hosting.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Diagnostics.Abstractions": "8.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Hosting.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Localization.Abstractions/8.0.3": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.Localization.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.324.11615" + } + } + }, + "Microsoft.Extensions.Logging/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.Configuration/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration": "8.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Binder": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Configuration.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.Console/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging.Configuration": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "System.Text.Json": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Console.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.Debug/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Debug.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.EventLog/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "System.Diagnostics.EventLog": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.EventLog.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Logging.EventSource/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Logging": "8.0.0", + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0", + "System.Text.Json": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.EventSource.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Options/8.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0", + "Microsoft.Extensions.Configuration.Binder": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.Options": "8.0.0", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.ConfigurationExtensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Pipelines.Sockets.Unofficial/2.2.8": { + "dependencies": { + "System.IO.Pipelines": "5.0.1" + }, + "runtime": { + "lib/net5.0/Pipelines.Sockets.Unofficial.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "2.2.8.1080" + } + } + }, + "Scrutor/4.2.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyModel": "6.0.0" + }, + "runtime": { + "lib/net6.0/Scrutor.dll": { + "assemblyVersion": "4.0.0.0", + "fileVersion": "4.0.0.0" + } + } + }, + "Serilog/3.1.1": { + "runtime": { + "lib/net7.0/Serilog.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "3.1.1.0" + } + } + }, + "Serilog.Extensions.Logging/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Logging": "8.0.0", + "Serilog": "3.1.1" + }, + "runtime": { + "lib/net8.0/Serilog.Extensions.Logging.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "8.0.0.0" + } + } + }, + "Serilog.Sinks.Console/5.0.0": { + "dependencies": { + "Serilog": "3.1.1" + }, + "runtime": { + "lib/net7.0/Serilog.Sinks.Console.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "Serilog.Sinks.File/5.0.0": { + "dependencies": { + "Serilog": "3.1.1" + }, + "runtime": { + "lib/net5.0/Serilog.Sinks.File.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "StackExchange.Redis/2.8.24": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.0", + "Pipelines.Sockets.Unofficial": "2.2.8" + }, + "runtime": { + "lib/net8.0/StackExchange.Redis.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.8.24.3255" + } + } + }, + "System.Buffers/4.5.1": {}, + "System.Data.DataSetExtensions/4.5.0": {}, + "System.Diagnostics.DiagnosticSource/8.0.0": {}, + "System.Diagnostics.EventLog/8.0.0": { + "runtime": { + "lib/net8.0/System.Diagnostics.EventLog.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "8.0.0.0", + "fileVersion": "0.0.0.0" + }, + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "System.IO.Pipelines/5.0.1": { + "runtime": { + "lib/netcoreapp3.0/System.IO.Pipelines.dll": { + "assemblyVersion": "5.0.0.1", + "fileVersion": "5.0.120.57516" + } + } + }, + "System.Memory/4.5.4": {}, + "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, + "System.Text.Encodings.Web/8.0.0": {}, + "System.Text.Json/8.0.0": { + "dependencies": { + "System.Text.Encodings.Web": "8.0.0" + } + }, + "CS2-SimpleAdminApi/1.0.0.0": { + "runtime": { + "CS2-SimpleAdminApi.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "CS2-SimpleAdmin_RedisInform/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "CounterStrikeSharp.API/1.0.305": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WoeI/sQ85HM2UG0ADvtfm7JaWNSETPn4gwTvKTKdX7uRoNPavVuemW1jB7dCKQQMW/7So96FVL0qbqYhE91Jpw==", + "path": "counterstrikesharp.api/1.0.305", + "hashPath": "counterstrikesharp.api.1.0.305.nupkg.sha512" + }, + "McMaster.NETCore.Plugins/1.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UKw5Z2/QHhkR7kiAJmqdCwVDMQV0lwsfj10+FG676r8DsJWIpxtachtEjE0qBs9WoK5GUQIqxgyFeYUSwuPszg==", + "path": "mcmaster.netcore.plugins/1.4.0", + "hashPath": "mcmaster.netcore.plugins.1.4.0.nupkg.sha512" + }, + "Microsoft.CSharp/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", + "path": "microsoft.csharp/4.7.0", + "hashPath": "microsoft.csharp.4.7.0.nupkg.sha512" + }, + "Microsoft.DotNet.ApiCompat.Task/8.0.203": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nPEGMojf1mj1oVixe0aiBimSn6xUoZswSjpMPZFMkZ+znYm2GEM5tWGZEWb6OSNIo5gWKyDi1WcI4IL7YiL1Zw==", + "path": "microsoft.dotnet.apicompat.task/8.0.203", + "hashPath": "microsoft.dotnet.apicompat.task.8.0.203.nupkg.sha512" + }, + "Microsoft.DotNet.PlatformAbstractions/3.1.6": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jek4XYaQ/PGUwDKKhwR8K47Uh1189PFzMeLqO83mXrXQVIpARZCcfuDedH50YDTepBkfijCZN5U/vZi++erxtg==", + "path": "microsoft.dotnet.platformabstractions/3.1.6", + "hashPath": "microsoft.dotnet.platformabstractions.3.1.6.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==", + "path": "microsoft.extensions.configuration/8.0.0", + "hashPath": "microsoft.extensions.configuration.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Binder/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mBMoXLsr5s1y2zOHWmKsE9veDcx8h1x/c3rz4baEdQKTeDcmQAPNbB54Pi/lhFO3K431eEq6PFbMgLaa6PHFfA==", + "path": "microsoft.extensions.configuration.binder/8.0.0", + "hashPath": "microsoft.extensions.configuration.binder.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.CommandLine/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NZuZMz3Q8Z780nKX3ifV1fE7lS+6pynDHK71OfU4OZ1ItgvDOhyOC7E6z+JMZrAj63zRpwbdldYFk499t3+1dQ==", + "path": "microsoft.extensions.configuration.commandline/8.0.0", + "hashPath": "microsoft.extensions.configuration.commandline.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-plvZ0ZIpq+97gdPNNvhwvrEZ92kNml9hd1pe3idMA7svR0PztdzVLkoWLcRFgySYXUJc3kSM3Xw3mNFMo/bxRA==", + "path": "microsoft.extensions.configuration.environmentvariables/8.0.0", + "hashPath": "microsoft.extensions.configuration.environmentvariables.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-McP+Lz/EKwvtCv48z0YImw+L1gi1gy5rHhNaNIY2CrjloV+XY8gydT8DjMR6zWeL13AFK+DioVpppwAuO1Gi1w==", + "path": "microsoft.extensions.configuration.fileextensions/8.0.0", + "hashPath": "microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Json/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-C2wqUoh9OmRL1akaCcKSTmRU8z0kckfImG7zLNI8uyi47Lp+zd5LWAD17waPQEqCz3ioWOCrFUo+JJuoeZLOBw==", + "path": "microsoft.extensions.configuration.json/8.0.0", + "hashPath": "microsoft.extensions.configuration.json.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.UserSecrets/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ihDHu2dJYQird9pl2CbdwuNDfvCZdOS0S7SPlNfhPt0B81UTT+yyZKz2pimFZGUp3AfuBRnqUCxB2SjsZKHVUw==", + "path": "microsoft.extensions.configuration.usersecrets/8.0.0", + "hashPath": "microsoft.extensions.configuration.usersecrets.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-V8S3bsm50ig6JSyrbcJJ8bW2b9QLGouz+G1miK3UTaOWmMtFwNNNzUf4AleyDWUmTrWMLNnFSLEQtxmxgNQnNQ==", + "path": "microsoft.extensions.dependencyinjection/8.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cjWrLkJXK0rs4zofsK4bSdg+jhDLTaxrkXu4gS6Y7MAlCvRyNNgwY/lJi5RDlQOnSZweHqoyvgvbdvQsRIW+hg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.0", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyModel/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", + "path": "microsoft.extensions.dependencymodel/6.0.0", + "hashPath": "microsoft.extensions.dependencymodel.6.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Diagnostics/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3PZp/YSkIXrF7QK7PfC1bkyRYwqOHpWFad8Qx+4wkuumAeXo1NHaxpS9LboNA9OvNSAu+QOVlXbMyoY+pHSqcw==", + "path": "microsoft.extensions.diagnostics/8.0.0", + "hashPath": "microsoft.extensions.diagnostics.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Diagnostics.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JHYCQG7HmugNYUhOl368g+NMxYE/N/AiclCYRNlgCY9eVyiBkOHMwK4x60RYMxv9EL3+rmj1mqHvdCiPpC+D4Q==", + "path": "microsoft.extensions.diagnostics.abstractions/8.0.0", + "hashPath": "microsoft.extensions.diagnostics.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==", + "path": "microsoft.extensions.fileproviders.abstractions/8.0.0", + "hashPath": "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileProviders.Physical/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==", + "path": "microsoft.extensions.fileproviders.physical/8.0.0", + "hashPath": "microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.FileSystemGlobbing/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ==", + "path": "microsoft.extensions.filesystemglobbing/8.0.0", + "hashPath": "microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Hosting/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ItYHpdqVp5/oFLT5QqbopnkKlyFG9EW/9nhM6/yfObeKt6Su0wkBio6AizgRHGNwhJuAtlE5VIjow5JOTrip6w==", + "path": "microsoft.extensions.hosting/8.0.0", + "hashPath": "microsoft.extensions.hosting.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Hosting.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AG7HWwVRdCHlaA++1oKDxLsXIBxmDpMPb3VoyOoAghEWnkUvEAdYQUwnV4jJbAaa/nMYNiEh5ByoLauZBEiovg==", + "path": "microsoft.extensions.hosting.abstractions/8.0.0", + "hashPath": "microsoft.extensions.hosting.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Localization.Abstractions/8.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k/kUPm1FQBxcs9/vsM1eF4qIOg2Sovqh/+KUGHur5Mc0Y3OFGuoz9ktBX7LA0gPz53SZhW3W3oaSaMFFcjgM6Q==", + "path": "microsoft.extensions.localization.abstractions/8.0.3", + "hashPath": "microsoft.extensions.localization.abstractions.8.0.3.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tvRkov9tAJ3xP51LCv3FJ2zINmv1P8Hi8lhhtcKGqM+ImiTCC84uOPEI4z8Cdq2C3o9e+Aa0Gw0rmrsJD77W+w==", + "path": "microsoft.extensions.logging/8.0.0", + "hashPath": "microsoft.extensions.logging.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-arDBqTgFCyS0EvRV7O3MZturChstm50OJ0y9bDJvAcmEPJm0FFpFyjU/JLYyStNGGey081DvnQYlncNX5SJJGA==", + "path": "microsoft.extensions.logging.abstractions/8.0.0", + "hashPath": "microsoft.extensions.logging.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Configuration/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ixXXV0G/12g6MXK65TLngYN9V5hQQRuV+fZi882WIoVJT7h5JvoYoxTEwCgdqwLjSneqh1O+66gM8sMr9z/rsQ==", + "path": "microsoft.extensions.logging.configuration/8.0.0", + "hashPath": "microsoft.extensions.logging.configuration.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Console/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-e+48o7DztoYog+PY430lPxrM4mm3PbA6qucvQtUDDwVo4MO+ejMw7YGc/o2rnxbxj4isPxdfKFzTxvXMwAz83A==", + "path": "microsoft.extensions.logging.console/8.0.0", + "hashPath": "microsoft.extensions.logging.console.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Debug/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dt0x21qBdudHLW/bjMJpkixv858RRr8eSomgVbU8qljOyfrfDGi1JQvpF9w8S7ziRPtRKisuWaOwFxJM82GxeA==", + "path": "microsoft.extensions.logging.debug/8.0.0", + "hashPath": "microsoft.extensions.logging.debug.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.EventLog/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3X9D3sl7EmOu7vQp5MJrmIJBl5XSdOhZPYXUeFfYa6Nnm9+tok8x3t3IVPLhm7UJtPOU61ohFchw8rNm9tIYOQ==", + "path": "microsoft.extensions.logging.eventlog/8.0.0", + "hashPath": "microsoft.extensions.logging.eventlog.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.EventSource/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oKcPMrw+luz2DUAKhwFXrmFikZWnyc8l2RKoQwqU3KIZZjcfoJE0zRHAnqATfhRZhtcbjl/QkiY2Xjxp0xu+6w==", + "path": "microsoft.extensions.logging.eventsource/8.0.0", + "hashPath": "microsoft.extensions.logging.eventsource.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JOVOfqpnqlVLUzINQ2fox8evY2SKLYJ3BV8QDe/Jyp21u1T7r45x/R/5QdteURMR5r01GxeJSBBUOCOyaNXA3g==", + "path": "microsoft.extensions.options/8.0.0", + "hashPath": "microsoft.extensions.options.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Options.ConfigurationExtensions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0f4DMRqEd50zQh+UyJc+/HiBsZ3vhAQALgdkcQEalSH1L2isdC7Yj54M3cyo5e+BeO5fcBQ7Dxly8XiBBcvRgw==", + "path": "microsoft.extensions.options.configurationextensions/8.0.0", + "hashPath": "microsoft.extensions.options.configurationextensions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "path": "microsoft.extensions.primitives/8.0.0", + "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" + }, + "Pipelines.Sockets.Unofficial/2.2.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zG2FApP5zxSx6OcdJQLbZDk2AVlN2BNQD6MorwIfV6gVj0RRxWPEp2LXAxqDGZqeNV1Zp0BNPcNaey/GXmTdvQ==", + "path": "pipelines.sockets.unofficial/2.2.8", + "hashPath": "pipelines.sockets.unofficial.2.2.8.nupkg.sha512" + }, + "Scrutor/4.2.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-t5VIYA7WJXoJJo7s4DoHakMGwTu+MeEnZumMOhTCH7kz9xWha24G7dJNxWrHPlu0ZdZAS4jDZCxxAnyaBh7uYw==", + "path": "scrutor/4.2.2", + "hashPath": "scrutor.4.2.2.nupkg.sha512" + }, + "Serilog/3.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P6G4/4Kt9bT635bhuwdXlJ2SCqqn2nhh4gqFqQueCOr9bK/e7W9ll/IoX1Ter948cV2Z/5+5v8pAfJYUISY03A==", + "path": "serilog/3.1.1", + "hashPath": "serilog.3.1.1.nupkg.sha512" + }, + "Serilog.Extensions.Logging/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YEAMWu1UnWgf1c1KP85l1SgXGfiVo0Rz6x08pCiPOIBt2Qe18tcZLvdBUuV5o1QHvrs8FAry9wTIhgBRtjIlEg==", + "path": "serilog.extensions.logging/8.0.0", + "hashPath": "serilog.extensions.logging.8.0.0.nupkg.sha512" + }, + "Serilog.Sinks.Console/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IZ6bn79k+3SRXOBpwSOClUHikSkp2toGPCZ0teUkscv4dpDg9E2R2xVsNkLmwddE4OpNVO3N0xiYsAH556vN8Q==", + "path": "serilog.sinks.console/5.0.0", + "hashPath": "serilog.sinks.console.5.0.0.nupkg.sha512" + }, + "Serilog.Sinks.File/5.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uwV5hdhWPwUH1szhO8PJpFiahqXmzPzJT/sOijH/kFgUx+cyoDTMM8MHD0adw9+Iem6itoibbUXHYslzXsLEAg==", + "path": "serilog.sinks.file/5.0.0", + "hashPath": "serilog.sinks.file.5.0.0.nupkg.sha512" + }, + "StackExchange.Redis/2.8.24": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GWllmsFAtLyhm4C47cOCipGxyEi1NQWTFUHXnJ8hiHOsK/bH3T5eLkWPVW+LRL6jDiB3g3izW3YEHgLuPoJSyA==", + "path": "stackexchange.redis/2.8.24", + "hashPath": "stackexchange.redis.2.8.24.nupkg.sha512" + }, + "System.Buffers/4.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==", + "path": "system.buffers/4.5.1", + "hashPath": "system.buffers.4.5.1.nupkg.sha512" + }, + "System.Data.DataSetExtensions/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-221clPs1445HkTBZPL+K9sDBdJRB8UN8rgjO3ztB0CQ26z//fmJXtlsr6whGatscsKGBrhJl5bwJuKSA8mwFOw==", + "path": "system.data.datasetextensions/4.5.0", + "hashPath": "system.data.datasetextensions.4.5.0.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c9xLpVz6PL9lp/djOWtk5KPDZq3cSYpmXoJQY524EOtuFl5z9ZtsotpsyrDW40U1DRnQSYvcPKEUV0X//u6gkQ==", + "path": "system.diagnostics.diagnosticsource/8.0.0", + "hashPath": "system.diagnostics.diagnosticsource.8.0.0.nupkg.sha512" + }, + "System.Diagnostics.EventLog/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fdYxcRjQqTTacKId/2IECojlDSFvp7LP5N78+0z/xH7v/Tuw5ZAxu23Y6PTCRinqyu2ePx+Gn1098NC6jM6d+A==", + "path": "system.diagnostics.eventlog/8.0.0", + "hashPath": "system.diagnostics.eventlog.8.0.0.nupkg.sha512" + }, + "System.IO.Pipelines/5.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qEePWsaq9LoEEIqhbGe6D5J8c9IqQOUuTzzV6wn1POlfdLkJliZY3OlB0j0f17uMWlqZYjH7txj+2YbyrIA8Yg==", + "path": "system.io.pipelines/5.0.1", + "hashPath": "system.io.pipelines.5.0.1.nupkg.sha512" + }, + "System.Memory/4.5.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==", + "path": "system.memory/4.5.4", + "hashPath": "system.memory.4.5.4.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + }, + "System.Text.Encodings.Web/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==", + "path": "system.text.encodings.web/8.0.0", + "hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512" + }, + "System.Text.Json/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OdrZO2WjkiEG6ajEFRABTRCi/wuXQPxeV6g8xvUJqdxMvvuCCEk86zPla8UiIQJz3durtUEbNyY/3lIhS0yZvQ==", + "path": "system.text.json/8.0.0", + "hashPath": "system.text.json.8.0.0.nupkg.sha512" + }, + "CS2-SimpleAdminApi/1.0.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.dll b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.dll new file mode 100644 index 0000000..aaa1acc Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.pdb b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.pdb new file mode 100644 index 0000000..488e323 Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform.pdb differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/Pipelines.Sockets.Unofficial.dll b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/Pipelines.Sockets.Unofficial.dll new file mode 100644 index 0000000..c5b223d Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/Pipelines.Sockets.Unofficial.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/StackExchange.Redis.dll b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/StackExchange.Redis.dll new file mode 100644 index 0000000..dea5559 Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/StackExchange.Redis.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/System.IO.Pipelines.dll b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/System.IO.Pipelines.dll new file mode 100644 index 0000000..d2ab03f Binary files /dev/null and b/Modules/CS2-SimpleAdmin_RedisInform/CS2-SimpleAdmin_RedisInform/System.IO.Pipelines.dll differ diff --git a/Modules/CS2-SimpleAdmin_RedisInform/CS2_SimpleAdmin_RedisInform.cs b/Modules/CS2-SimpleAdmin_RedisInform/CS2_SimpleAdmin_RedisInform.cs new file mode 100644 index 0000000..30e3a35 --- /dev/null +++ b/Modules/CS2-SimpleAdmin_RedisInform/CS2_SimpleAdmin_RedisInform.cs @@ -0,0 +1,96 @@ +using System.Text.Json.Serialization; +using CounterStrikeSharp.API.Core; +using CounterStrikeSharp.API.Core.Capabilities; +using CS2_SimpleAdminApi; +using Microsoft.Extensions.Logging; +using Newtonsoft.Json; + +namespace CS2_SimpleAdmin_RedisInform; + +public class PluginConfig : IBasePluginConfig +{ + [JsonPropertyName("ConfigVersion")] public int Version { get; set; } = 1; + [JsonPropertyName("RedisConnectionString")] public string RedisConnectionString { get; set; } = "172.18.0.1"; + [JsonPropertyName("RedisPassword")] public string RedisPassword { get; set; } = ""; +} + +public class CS2_SimpleAdmin_RedisInform: BasePlugin, IPluginConfig +{ + public override string ModuleName => "[CS2-SimpleAdmin] Redis Inform"; + public override string ModuleVersion => "v1.0.0"; + public override string ModuleAuthor => "daffyy"; + + internal static CS2_SimpleAdmin_RedisInform Instance = new (); + public PluginConfig Config { get; set; } = new(); + internal static ICS2_SimpleAdminApi? SharedApi; + private readonly PluginCapability _pluginCapability = new("simpleadmin:api"); + + private RedisSubscriber? _redisSubscriber; + + public override void Load(bool hotReload) + { + Instance = this; + + if (hotReload) + { + _ = _redisSubscriber?.DisposeAsync(); + } + } + + public void OnConfigParsed(PluginConfig config) + { + Config = config; + } + + public override void Unload(bool hotReload) + { + _ = _redisSubscriber?.DisposeAsync(); + } + + public override void OnAllPluginsLoaded(bool hotReload) + { + SharedApi = _pluginCapability.Get(); + + if (SharedApi == null) + { + Logger.LogError("CS2-SimpleAdmin SharedApi not found"); + Unload(false); + return; + } + + SharedApi.OnAdminShowActivity += OnAdminShowActivity; + + if (hotReload) + { + _ = _redisSubscriber?.DisposeAsync(); + } + + _redisSubscriber = new RedisSubscriber(Guid.NewGuid().ToString("N")); + if (!_redisSubscriber.IsRunning) + _redisSubscriber.Start(); + } + + private void OnAdminShowActivity(string messageKey, string? callerName, bool dontPublish, object messageArgs) + { + var message = new + { + MessageKey = messageKey, + CallerName = callerName, + MessageArgs = messageArgs + }; + + var jsonMessage = JsonConvert.SerializeObject(message); + _redisSubscriber?.PublishMessageAsync(jsonMessage); + } + + // [ConsoleCommand("css_redistest")] + // public void RedisTestCommand(CCSPlayerController? caller, CommandInfo commandInfo) + // { + // SharedApi?.ShowAdminActivity("sa_admin_gag_message_time", "🦊 daffyy | UtopiaFPS.pl 🦊", [ + // "CALLER", + // "🦊 daffyy | UtopiaFPS.pl 🦊", + // "test", + // 1 + // ]); + // } +} \ No newline at end of file diff --git a/Modules/CS2-SimpleAdmin_RedisInform/RedisSubscriber.cs b/Modules/CS2-SimpleAdmin_RedisInform/RedisSubscriber.cs new file mode 100644 index 0000000..f0f9575 --- /dev/null +++ b/Modules/CS2-SimpleAdmin_RedisInform/RedisSubscriber.cs @@ -0,0 +1,112 @@ +using CounterStrikeSharp.API; +using StackExchange.Redis; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; + +namespace CS2_SimpleAdmin_RedisInform; + +public class RedisSubscriber(string serverIdentifier) +{ + private ConnectionMultiplexer? _connection; + private ISubscriber? _subscriber; + + public bool IsRunning; + + private async Task InitializeAsync() + { + var options = new ConfigurationOptions + { + EndPoints = { CS2_SimpleAdmin_RedisInform.Instance.Config.RedisConnectionString }, + Password = CS2_SimpleAdmin_RedisInform.Instance.Config.RedisPassword, + AbortOnConnectFail = false, + ConnectRetry = 5, + ReconnectRetryPolicy = new LinearRetry(1000) + }; + + _connection = await ConnectionMultiplexer.ConnectAsync(options); + _subscriber = _connection.GetSubscriber(); + } + + private async Task StartSubscriberAsync() + { + if (_subscriber == null) + throw new InvalidOperationException("Failed to initialize redis subscriber."); + + IsRunning = true; + + try + { + await _subscriber.SubscribeAsync(RedisChannel.Literal("cs2-simpleadmin_events1"), + (_, message) => + { + var parts = message.ToString().Split([':'], 2); + if (parts.Length < 2) + return; + + var senderMachineId = parts[0]; + if (senderMachineId == serverIdentifier) + return; + + var deserializedMessage = JsonConvert.DeserializeObject(parts[1]); + if (deserializedMessage == null) + return; + + Server.NextFrame(() => CS2_SimpleAdmin_RedisInform.SharedApi?.ShowAdminActivity(deserializedMessage.MessageKey.ToString(), deserializedMessage.CallerName.ToString(), true, GetMessageArgsAsStringArray(deserializedMessage.MessageArgs))); + }); + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + } + + private async Task StopSubscriberAsync() + { + if (IsRunning && _subscriber != null) + { + await _subscriber.UnsubscribeAllAsync(); + IsRunning = false; + } + } + + public async Task PublishMessageAsync(string message) + { + if (_subscriber == null) + throw new InvalidOperationException("Subscriber not initialized."); + + var messageWithId = $"{serverIdentifier}:{message}"; + await _subscriber.PublishAsync(RedisChannel.Literal("cs2-simpleadmin_events"), messageWithId); + } + + public async Task DisposeAsync() + { + if (_connection != null) + { + await StopSubscriberAsync(); + await _connection.CloseAsync(); + await _connection.DisposeAsync(); + } + } + + public void Start() + { + Task.Run(async () => + { + await InitializeAsync(); + await StartSubscriberAsync(); + }); + } + + private static string[]? GetMessageArgsAsStringArray(dynamic messageArgs) + { + if (messageArgs == null) + return []; // Return empty array if null + + return messageArgs switch + { + JArray jArray => jArray.ToObject(), + IEnumerable enumerable => enumerable.Select(arg => arg?.ToString() ?? string.Empty).ToArray(), + _ => [messageArgs.ToString()] + }; + } +} \ No newline at end of file diff --git a/Modules/CS2-SimpleAdmin_RedisInform/global.json b/Modules/CS2-SimpleAdmin_RedisInform/global.json new file mode 100644 index 0000000..2ddda36 --- /dev/null +++ b/Modules/CS2-SimpleAdmin_RedisInform/global.json @@ -0,0 +1,7 @@ +{ + "sdk": { + "version": "8.0.0", + "rollForward": "latestMinor", + "allowPrerelease": false + } +} \ No newline at end of file