1
0
mirror of https://github.com/RaidMax/IW4M-Admin.git synced 2025-06-10 23:31:13 -05:00

implement client server connection tracking persistence

This commit is contained in:
RaidMax
2021-08-31 18:21:40 -05:00
parent ce12d3e490
commit d46c090301
37 changed files with 4961 additions and 22 deletions

View File

@ -31,7 +31,7 @@ namespace WebfrontCore.Controllers
ID = s.EndPoint,
Port = s.Port,
Map = s.CurrentMap.Alias,
ClientCount = s.ClientNum,
ClientCount = s.Clients.Count(client => client != null),
MaxClients = s.MaxClients,
GameType = s.Gametype,
Players = s.GetClientsAsList()

View File

@ -66,7 +66,8 @@ namespace WebfrontCore.ViewComponents
case MetaType.ReceivedPenalty:
meta = await metaService.GetRuntimeMeta<ReceivedPenaltyResponse>(request, metaType.Value);
break;
default:
case MetaType.ConnectionHistory:
meta = await metaService.GetRuntimeMeta<ConnectionHistoryResponse>(request, metaType.Value);
break;
}
}

View File

@ -59,7 +59,7 @@ namespace WebfrontCore.ViewComponents
ID = server.EndPoint,
Port = server.Port,
Map = server.CurrentMap.Alias,
ClientCount = server.ClientNum,
ClientCount = server.Clients.Count(client => client != null),
MaxClients = server.MaxClients,
GameType = server.Gametype,
PlayerHistory = server.ClientHistory.ToArray(),

View File

@ -0,0 +1,28 @@
@using Data.Models
@model SharedLibraryCore.Dtos.Meta.Responses.ConnectionHistoryResponse
@{
var localizationKey = $"WEBFRONT_CLIENT_META_CONNECTION_{Model.ConnectionType.ToString().ToUpper()}";
}
@foreach (var token in Utilities.SplitTranslationTokens(localizationKey))
{
if (token.IsInterpolation)
{
switch (token.MatchValue)
{
case "action":
<span class="@(Model.ConnectionType == Reference.ConnectionType.Connect ? "text-light-green" : "text-warning")">@token.TranslationValue</span>
break;
case "server":
<span class="text-white">
<color-code value="@Model.ServerName" allow="@ViewBag.EnableColorCodes"></color-code>
</span>
break;
}
}
else
{
<span class="text-muted">@token.MatchValue</span>
}
}

View File

@ -441,3 +441,7 @@ div.card {
.cursor-help {
cursor: help;
}
.text-light-green {
color: #88aa82;
}