Added max ban duration and perm ban right
This commit is contained in:
parent
00343b6b66
commit
fb251aadef
2 changed files with 32 additions and 0 deletions
|
|
@ -51,6 +51,9 @@ namespace CS2_SimpleAdmin
|
|||
{
|
||||
if (_database == null || player is null || !player.IsValid) return;
|
||||
|
||||
if (CheckValidBan(caller, time) == false)
|
||||
return;
|
||||
|
||||
callerName ??= caller == null ? "Console" : caller.PlayerName;
|
||||
|
||||
if (player.PawnIsAlive)
|
||||
|
|
@ -143,6 +146,7 @@ namespace CS2_SimpleAdmin
|
|||
public void OnAddBanCommand(CCSPlayerController? caller, CommandInfo command)
|
||||
{
|
||||
if (_database == null) return;
|
||||
|
||||
string callerName = caller == null ? "Console" : caller.PlayerName;
|
||||
if (command.ArgCount < 2)
|
||||
return;
|
||||
|
|
@ -163,6 +167,9 @@ namespace CS2_SimpleAdmin
|
|||
|
||||
int.TryParse(command.GetArg(2), out int time);
|
||||
|
||||
if (CheckValidBan(caller, time) == false)
|
||||
return;
|
||||
|
||||
if (command.ArgCount >= 3 && command.GetArg(3).Length > 0)
|
||||
reason = command.GetArg(3);
|
||||
|
||||
|
|
@ -283,6 +290,8 @@ namespace CS2_SimpleAdmin
|
|||
};
|
||||
|
||||
int.TryParse(command.GetArg(2), out int time);
|
||||
if (CheckValidBan(caller, time) == false)
|
||||
return;
|
||||
|
||||
if (command.ArgCount >= 3 && command.GetArg(3).Length > 0)
|
||||
reason = command.GetArg(3);
|
||||
|
|
@ -369,6 +378,26 @@ namespace CS2_SimpleAdmin
|
|||
command?.ReplyToCommand($"Banned player with IP address {ipAddress}.");
|
||||
}
|
||||
|
||||
private bool CheckValidBan(CCSPlayerController? caller, int duration)
|
||||
{
|
||||
bool validCaller = caller != null && caller.IsValid;
|
||||
|
||||
if (duration > Config.MaxBanDuration)
|
||||
{
|
||||
if (validCaller)
|
||||
caller.PrintToChat($"[Simple Admin] Ban duration cannot exceed {Config.MaxBanDuration} minutes.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (duration == 0 && validCaller && AdminManager.PlayerHasPermissions(caller, "@css/permban") == false)
|
||||
{
|
||||
caller.PrintToChat($"[Simple Admin] You do not have the right to permanently ban.");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
[ConsoleCommand("css_unban")]
|
||||
[RequiresPermissions("@css/unban")]
|
||||
[CommandHelper(minArgs: 1, usage: "<steamid or name or ip> [reason]", whoCanExecute: CommandUsage.CLIENT_AND_SERVER)]
|
||||
|
|
|
|||
|
|
@ -58,6 +58,9 @@ namespace CS2_SimpleAdmin
|
|||
[JsonPropertyName("DisableDangerousCommands")]
|
||||
public bool DisableDangerousCommands { get; set; } = true;
|
||||
|
||||
[JsonPropertyName("MaxBanDuration")]
|
||||
public int MaxBanDuration { get; set; } = 60 * 24 * 7; // 7 days
|
||||
|
||||
[JsonPropertyName("BanType")]
|
||||
public int BanType { get; set; } = 1;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue