only fix double forward slash characters (instead of single) when sending messages

retry kicks on banned players if they're banned from webfront, but don't actually get kicked because the game doesn't process the command (looking at you T6)
allow capturing chat messages for names spoofed to an empty string
make sure mostkills uses days not month for cutoff
This commit is contained in:
RaidMax 2020-05-16 20:55:18 -05:00
parent d3d1f31ee0
commit 0cabf6f8a3
5 changed files with 7 additions and 11 deletions

View File

@ -23,7 +23,7 @@ namespace IW4MAdmin.Application.EventParsers
GameDirectory = "main",
};
Configuration.Say.Pattern = @"^(say|sayteam);(-?[A-Fa-f0-9_]{1,32}|bot[0-9]+|0);([0-9]+);(.+);(.*)$";
Configuration.Say.Pattern = @"^(say|sayteam);(-?[A-Fa-f0-9_]{1,32}|bot[0-9]+|0);([0-9]+);([^;]*);(.*)$";
Configuration.Say.AddMapping(ParserRegex.GroupType.EventType, 1);
Configuration.Say.AddMapping(ParserRegex.GroupType.OriginNetworkId, 2);
Configuration.Say.AddMapping(ParserRegex.GroupType.OriginClientNumber, 3);

View File

@ -667,7 +667,8 @@ namespace IW4MAdmin
}
}
else if (client.IPAddress != null && client.State == ClientState.Disconnecting)
else if ((client.IPAddress != null && client.State == ClientState.Disconnecting) ||
client.Level == Permission.Banned)
{
Logger.WriteWarning($"{client} state is Unknown (probably kicked), but they are still connected. trying to kick again...");
await client.CanConnect(client.IPAddress);

View File

@ -52,7 +52,7 @@ namespace IW4MAdmin.Plugins.Stats.Commands
{
using (var ctx = contextFactory.CreateContext(enableTracking: false))
{
var dayInPast = DateTime.UtcNow.AddMonths(-config.MostKillsMaxInactivityDays);
var dayInPast = DateTime.UtcNow.AddDays(-config.MostKillsMaxInactivityDays);
var iqStats = (from stats in ctx.Set<EFClientStatistics>()
join client in ctx.Clients

View File

@ -532,7 +532,7 @@ namespace IW4MAdmin.Plugins.Stats
/// <returns></returns>
private bool ShouldIgnoreEvent(EFClient origin, EFClient target)
{
return ((origin?.NetworkId == 1 && target?.NetworkId == 1));
return ((origin?.NetworkId == Utilities.WORLD_ID && target?.NetworkId == Utilities.WORLD_ID));
}
/// <summary>

View File

@ -1,9 +1,4 @@
#if DEBUG
using Microsoft.EntityFrameworkCore.Query;
using Microsoft.EntityFrameworkCore.Query.Internal;
using Microsoft.EntityFrameworkCore.Storage;
#endif
using SharedLibraryCore.Database.Models;
using SharedLibraryCore.Database.Models;
using SharedLibraryCore.Helpers;
using SharedLibraryCore.Interfaces;
using System;
@ -172,7 +167,7 @@ namespace SharedLibraryCore
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string FixIW4ForwardSlash(this string str) => str.Replace("/", " /");
public static string FixIW4ForwardSlash(this string str) => str.Replace("//", "/ /");
private static readonly IList<string> _zmGameTypes = new[] { "zclassic", "zstandard", "zcleansed", "zgrief" };
/// <summary>