Temporary bans issued via css_addban or css_banip will be written in the database as intended but can be simply bypassed by reconnecting to the server.
After reconnecting the Expiry check task will run and mark the ban as "EXPIRED" in the database.
The css_addban and css_banip with 0 value (permanent) works as intended.
My guess is that it has something to do with the following piece of code from Events.cs
` public HookResult OnPlayerFullConnect(EventPlayerConnectFull @event, GameEventInfo info)
{
CCSPlayerController? player = @event.Userid;
if DEBUG
Logger.LogCritical($"[OnPlayerConnect] Before check {player.PlayerName} : {player.IpAddress}");
endif
if (player is null
|| string.IsNullOrEmpty(player.IpAddress) || player.IpAddress.Contains("127.0.0.1")
|| player.IsBot || player.IsHLTV || !player.UserId.HasValue) return HookResult.Continue;
if DEBUG
Logger.LogCritical("[OnPlayerConnect] After Check");
Temporary bans issued via css_addban or css_banip will be written in the database as intended but can be simply bypassed by reconnecting to the server. After reconnecting the Expiry check task will run and mark the ban as "EXPIRED" in the database. The css_addban and css_banip with 0 value (permanent) works as intended.
My guess is that it has something to do with the following piece of code from Events.cs
` public HookResult OnPlayerFullConnect(EventPlayerConnectFull @event, GameEventInfo info) { CCSPlayerController? player = @event.Userid;
if DEBUG
endif
if DEBUG
endif