merge from 2.3
This commit is contained in:
commit
db3a20c60b
@ -38,7 +38,7 @@ namespace IW4MAdmin.Application.RconParsers
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
Configuration.Status.Pattern = @"^ *([0-9]+) +-?([0-9]+) +((?:[A-Z]+|[0-9]+)) +((?:[a-z]|[0-9]){8,32}|(?:[a-z]|[0-9]){8,32}|bot[0-9]+|(?:[0-9]+)) +(.{0,32}) +([0-9]+) +(\d+\.\d+\.\d+.\d+\:-*\d{1,5}|0+.0+:-*\d{1,5}|loopback) +(-*[0-9]+) +([0-9]+) *$";
|
Configuration.Status.Pattern = @"^ *([0-9]+) +-?([0-9]+) +((?:[A-Z]+|[0-9]+)) +((?:[a-z]|[0-9]){8,32}|(?:[a-z]|[0-9]){8,32}|bot[0-9]+|(?:[0-9]+)) *(.{0,32}) +([0-9]+) +(\d+\.\d+\.\d+.\d+\:-*\d{1,5}|0+.0+:-*\d{1,5}|loopback) +(-*[0-9]+) +([0-9]+) *$";
|
||||||
Configuration.Status.AddMapping(ParserRegex.GroupType.RConClientNumber, 1);
|
Configuration.Status.AddMapping(ParserRegex.GroupType.RConClientNumber, 1);
|
||||||
Configuration.Status.AddMapping(ParserRegex.GroupType.RConScore, 2);
|
Configuration.Status.AddMapping(ParserRegex.GroupType.RConScore, 2);
|
||||||
Configuration.Status.AddMapping(ParserRegex.GroupType.RConPing, 3);
|
Configuration.Status.AddMapping(ParserRegex.GroupType.RConPing, 3);
|
||||||
|
@ -17,12 +17,13 @@ var plugin = {
|
|||||||
gameEvent.Origin.NetworkId === 5859032128210324569 ||
|
gameEvent.Origin.NetworkId === 5859032128210324569 ||
|
||||||
gameEvent.Origin.NetworkId === 2908745942105435771 ||
|
gameEvent.Origin.NetworkId === 2908745942105435771 ||
|
||||||
gameEvent.Origin.NetworkId === -6492697076432899192 ||
|
gameEvent.Origin.NetworkId === -6492697076432899192 ||
|
||||||
|
gameEvent.Origin.NetworkId === 1145760003260769995 ||
|
||||||
|
gameEvent.Origin.NetworkId === -7102887284306116957 ||
|
||||||
gameEvent.Origin.NetworkId === 3304388024725980231) {
|
gameEvent.Origin.NetworkId === 3304388024725980231) {
|
||||||
gameEvent.Origin.Kick('Your GUID is generic. Delete players/guids.dat and rejoin', _IW4MAdminClient);
|
gameEvent.Origin.Kick('Your GUID is generic. Delete players/guids.dat and rejoin', _IW4MAdminClient);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
onLoadAsync: function (manager) {
|
onLoadAsync: function (manager) {
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -547,12 +547,14 @@ namespace IW4MAdmin.Plugins.Stats.Helpers
|
|||||||
hit.DeathType == IW4Info.MeansOfDeath.MOD_RIFLE_BULLET ||
|
hit.DeathType == IW4Info.MeansOfDeath.MOD_RIFLE_BULLET ||
|
||||||
hit.DeathType == IW4Info.MeansOfDeath.MOD_HEAD_SHOT)
|
hit.DeathType == IW4Info.MeansOfDeath.MOD_HEAD_SHOT)
|
||||||
{
|
{
|
||||||
clientStats.HitLocations.Single(hl => hl.Location == hit.HitLoc).HitCount += 1;
|
clientStats.HitLocations.First(hl => hl.Location == hit.HitLoc).HitCount += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (clientStats.SessionKills % Detection.MAX_TRACKED_HIT_COUNT == 0)
|
if (clientStats.SessionKills % Detection.MAX_TRACKED_HIT_COUNT == 0)
|
||||||
{
|
{
|
||||||
|
await OnProcessingPenalty.WaitAsync();
|
||||||
await SaveClientStats(clientStats);
|
await SaveClientStats(clientStats);
|
||||||
|
OnProcessingPenalty.Release(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hit.IsKillstreakKill)
|
if (hit.IsKillstreakKill)
|
||||||
@ -564,7 +566,7 @@ namespace IW4MAdmin.Plugins.Stats.Helpers
|
|||||||
{
|
{
|
||||||
if (Plugin.Config.Configuration().StoreClientKills)
|
if (Plugin.Config.Configuration().StoreClientKills)
|
||||||
{
|
{
|
||||||
OnProcessingPenalty.Wait();
|
await OnProcessingPenalty.WaitAsync();
|
||||||
_hitCache.Add(hit);
|
_hitCache.Add(hit);
|
||||||
|
|
||||||
if (_hitCache.Count > Detection.MAX_TRACKED_HIT_COUNT)
|
if (_hitCache.Count > Detection.MAX_TRACKED_HIT_COUNT)
|
||||||
@ -581,10 +583,11 @@ namespace IW4MAdmin.Plugins.Stats.Helpers
|
|||||||
OnProcessingPenalty.Release(1);
|
OnProcessingPenalty.Release(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (Plugin.Config.Configuration().EnableAntiCheat && !attacker.IsBot && attacker.ClientId != victim.ClientId)
|
if (Plugin.Config.Configuration().EnableAntiCheat && !attacker.IsBot && attacker.ClientId != victim.ClientId)
|
||||||
{
|
{
|
||||||
DetectionPenaltyResult result = new DetectionPenaltyResult() { ClientPenalty = EFPenalty.PenaltyType.Any };
|
DetectionPenaltyResult result = new DetectionPenaltyResult() { ClientPenalty = EFPenalty.PenaltyType.Any };
|
||||||
|
await OnProcessingPenalty.WaitAsync();
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
if (clientDetection.TrackedHits.Count > 0)
|
if (clientDetection.TrackedHits.Count > 0)
|
||||||
#else
|
#else
|
||||||
@ -593,7 +596,7 @@ namespace IW4MAdmin.Plugins.Stats.Helpers
|
|||||||
{
|
{
|
||||||
while (clientDetection.TrackedHits.Count > 0)
|
while (clientDetection.TrackedHits.Count > 0)
|
||||||
{
|
{
|
||||||
await OnProcessingPenalty.WaitAsync();
|
|
||||||
|
|
||||||
var oldestHit = clientDetection.TrackedHits.OrderBy(_hits => _hits.TimeOffset).First();
|
var oldestHit = clientDetection.TrackedHits.OrderBy(_hits => _hits.TimeOffset).First();
|
||||||
clientDetection.TrackedHits.Remove(oldestHit);
|
clientDetection.TrackedHits.Remove(oldestHit);
|
||||||
@ -611,12 +614,9 @@ namespace IW4MAdmin.Plugins.Stats.Helpers
|
|||||||
|
|
||||||
if (result.ClientPenalty == EFPenalty.PenaltyType.Ban)
|
if (result.ClientPenalty == EFPenalty.PenaltyType.Ban)
|
||||||
{
|
{
|
||||||
OnProcessingPenalty.Release(1);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
OnProcessingPenalty.Release(1);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -624,6 +624,8 @@ namespace IW4MAdmin.Plugins.Stats.Helpers
|
|||||||
{
|
{
|
||||||
clientDetection.TrackedHits.Add(hit);
|
clientDetection.TrackedHits.Add(hit);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
OnProcessingPenalty.Release(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -634,7 +636,7 @@ namespace IW4MAdmin.Plugins.Stats.Helpers
|
|||||||
|
|
||||||
if (OnProcessingPenalty.CurrentCount == 0)
|
if (OnProcessingPenalty.CurrentCount == 0)
|
||||||
{
|
{
|
||||||
OnProcessingPenalty.Release();
|
OnProcessingPenalty.Release(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,18 +20,19 @@ namespace WebfrontCore.Controllers.API
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public IActionResult Status(int id)
|
public IActionResult Status(long? id)
|
||||||
{
|
{
|
||||||
var serverInfo = Manager.GetServers()
|
var serverInfo = Manager.GetServers()
|
||||||
.Select(server => new
|
.Select(server => new
|
||||||
{
|
{
|
||||||
Id = server.EndPoint,
|
Id = server.EndPoint,
|
||||||
|
IsOnline = !server.Throttled,
|
||||||
Name = server.Hostname,
|
Name = server.Hostname,
|
||||||
MaxPlayers = server.MaxClients,
|
MaxPlayers = server.MaxClients,
|
||||||
CurrentPlayers = server.GetClientsAsList().Count,
|
CurrentPlayers = server.GetClientsAsList().Count,
|
||||||
Map = server.CurrentMap,
|
Map = server.CurrentMap,
|
||||||
GameMode = server.Gametype,
|
GameMode = server.Gametype,
|
||||||
Port = server.Port,
|
server.Port,
|
||||||
Game = server.GameName.ToString(),
|
Game = server.GameName.ToString(),
|
||||||
Players = server.GetClientsAsList()
|
Players = server.GetClientsAsList()
|
||||||
.Select(player => new
|
.Select(player => new
|
||||||
@ -46,7 +47,7 @@ namespace WebfrontCore.Controllers.API
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
if (id != 0)
|
if (id != null)
|
||||||
{
|
{
|
||||||
serverInfo = serverInfo.Where(server => server.Id == id);
|
serverInfo = serverInfo.Where(server => server.Id == id);
|
||||||
}
|
}
|
||||||
@ -64,11 +65,11 @@ namespace WebfrontCore.Controllers.API
|
|||||||
serverToRestart.RestartRequested = false;
|
serverToRestart.RestartRequested = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return serverToRestart != null ?
|
return serverToRestart != null ?
|
||||||
(IActionResult)Json(new
|
(IActionResult)Json(new
|
||||||
{
|
{
|
||||||
port = serverToRestart.Port
|
port = serverToRestart.Port
|
||||||
}) :
|
}) :
|
||||||
Unauthorized();
|
Unauthorized();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user