2022-06-02 19:24:13 -04:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
2022-06-02 19:30:22 -04:00
|
|
|
|
using System.Linq;
|
2020-09-30 18:15:47 -04:00
|
|
|
|
using static IW4MAdmin.Plugins.Stats.Cheat.Detection;
|
|
|
|
|
using static SharedLibraryCore.Server;
|
|
|
|
|
|
|
|
|
|
namespace Stats.Config
|
|
|
|
|
{
|
|
|
|
|
public class AnticheatConfiguration
|
|
|
|
|
{
|
|
|
|
|
public bool Enable { get; set; }
|
2022-06-02 19:24:13 -04:00
|
|
|
|
[Obsolete]
|
2020-09-30 18:15:47 -04:00
|
|
|
|
public IDictionary<long, DetectionType[]> ServerDetectionTypes { get; set; } = new Dictionary<long, DetectionType[]>();
|
2022-06-02 19:30:22 -04:00
|
|
|
|
|
|
|
|
|
public IDictionary<Game, DetectionType[]> GameDetectionTypes { get; set; } =
|
|
|
|
|
new Dictionary<Game, DetectionType[]>()
|
|
|
|
|
{
|
|
|
|
|
{ Game.IW4, Enum.GetValues(typeof(DetectionType)).Cast<DetectionType>().ToArray() },
|
|
|
|
|
{ Game.T6, new[] { DetectionType.Offset, DetectionType.Snap, DetectionType.Strain } }
|
|
|
|
|
};
|
2020-09-30 18:15:47 -04:00
|
|
|
|
public IList<long> IgnoredClientIds { get; set; } = new List<long>();
|
|
|
|
|
public IDictionary<Game, IDictionary<DetectionType, string[]>> IgnoredDetectionSpecification{ get; set; } = new Dictionary<Game, IDictionary<DetectionType, string[]>>
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
Game.IW4, new Dictionary<DetectionType, string[]>
|
|
|
|
|
{
|
|
|
|
|
{ DetectionType.Chest, new[] { "m21.+" } },
|
2020-11-14 11:53:01 -05:00
|
|
|
|
{ DetectionType.Recoil, new[] { "ranger.*_mp", "model1887.*_mp", ".+shotgun.*_mp", "turret_minigun_mp" } },
|
2020-09-30 18:15:47 -04:00
|
|
|
|
{ DetectionType.Button, new[] { ".*akimbo.*" } }
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|