add a bit more logged for when live radar fail to update
update killhouse map offsets (it's still wrong though)
This commit is contained in:
parent
ebe85a9ded
commit
9f3f344daa
@ -709,7 +709,8 @@ namespace IW4MAdmin.Application
|
||||
|
||||
public IList<EFClient> GetActiveClients()
|
||||
{
|
||||
return _servers.SelectMany(s => s.Clients).Where(p => p != null).ToList();
|
||||
// we're adding another to list here so we don't get a collection modified exception..
|
||||
return _servers.SelectMany(s => s.Clients).ToList().Where(p => p != null).ToList();
|
||||
}
|
||||
|
||||
public ClientService GetClientService()
|
||||
|
@ -14,14 +14,14 @@ namespace LiveRadar.Configuration
|
||||
new MapInfo()
|
||||
{
|
||||
Name = "mp_afghan",
|
||||
MaxLeft = 4600, // ymax
|
||||
MaxRight = -1100, // ymin
|
||||
MaxBottom = -1400, // xmin
|
||||
MaxTop = 4600, // xmax
|
||||
Left = 52, // pxmin
|
||||
Right = 898, // pxmax
|
||||
Bottom = 930, // yxmax
|
||||
Top = 44 // pymin
|
||||
MaxLeft = 4600, // ymax
|
||||
MaxRight = -1100, // ymin
|
||||
MaxBottom = -1400, // xmin
|
||||
MaxTop = 4600, // xmax
|
||||
Left = 52, // pxmin
|
||||
Right = 898, // pxmax
|
||||
Bottom = 930, // pymax
|
||||
Top = 44 // pymin
|
||||
},
|
||||
|
||||
new MapInfo()
|
||||
@ -43,10 +43,10 @@ namespace LiveRadar.Configuration
|
||||
Top = 174,
|
||||
Bottom = 846,
|
||||
Left = 18,
|
||||
Right = 14,
|
||||
Right = 1011,
|
||||
MaxTop = 2929,
|
||||
MaxBottom = -513,
|
||||
MaxLeft = 7520,
|
||||
MaxLeft = 7521,
|
||||
MaxRight = 2447
|
||||
},
|
||||
|
||||
@ -355,6 +355,32 @@ namespace LiveRadar.Configuration
|
||||
Top = 16,
|
||||
Bottom = 951
|
||||
},
|
||||
|
||||
new MapInfo()
|
||||
{
|
||||
Name = "mp_nuked",
|
||||
MaxLeft = 1211,
|
||||
MaxRight = -557,
|
||||
MaxBottom = -2110,
|
||||
MaxTop = 2092,
|
||||
Left = 340,
|
||||
Right = 698,
|
||||
Bottom = 930,
|
||||
Top = 92
|
||||
},
|
||||
|
||||
new MapInfo()
|
||||
{
|
||||
Name = "mp_killhouse",
|
||||
MaxLeft = 4276,
|
||||
MaxRight = 2973,
|
||||
MaxBottom = -1164,
|
||||
MaxTop = 1392,
|
||||
Left = 319,
|
||||
Right = 758,
|
||||
Bottom = 937,
|
||||
Top = 87
|
||||
}
|
||||
};
|
||||
|
||||
return this;
|
||||
|
@ -24,13 +24,22 @@ namespace LiveRadar
|
||||
{
|
||||
if (E.Data?.StartsWith("LiveRadar") ?? false)
|
||||
{
|
||||
var radarUpdate = RadarEvent.Parse(E.Data);
|
||||
var client = S.Manager.GetActiveClients().FirstOrDefault(_client => _client.NetworkId == radarUpdate.Guid);
|
||||
|
||||
if (client != null)
|
||||
try
|
||||
{
|
||||
radarUpdate.Name = client.Name;
|
||||
client.SetAdditionalProperty("LiveRadar", radarUpdate);
|
||||
var radarUpdate = RadarEvent.Parse(E.Data);
|
||||
var client = S.Manager.GetActiveClients().FirstOrDefault(_client => _client.NetworkId == radarUpdate.Guid);
|
||||
|
||||
if (client != null)
|
||||
{
|
||||
radarUpdate.Name = client.Name;
|
||||
client.SetAdditionalProperty("LiveRadar", radarUpdate);
|
||||
}
|
||||
}
|
||||
|
||||
catch(Exception e)
|
||||
{
|
||||
S.Logger.WriteWarning($"Could not parse live radar output: {e.Data}");
|
||||
S.Logger.WriteDebug(e.GetExceptionInfo());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -55,7 +55,7 @@
|
||||
const weapons = {};
|
||||
weapons["ak47"] = "ak47";
|
||||
weapons["ak47classic"] = "icon_ak47_classic";
|
||||
weapons["ak47u"] = "akd74u";
|
||||
weapons["ak74u"] = "akd74u";
|
||||
weapons["m16"] = "m16a4";
|
||||
weapons["m4"] = "m4carbine";
|
||||
weapons["fn2000"] = "fn2000";
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 94 KiB |
Binary file not shown.
After Width: | Height: | Size: 82 KiB |
@ -5,8 +5,17 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace SharedLibraryCore.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// represents an invokable middleware action
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
public interface IMiddlewareAction<T>
|
||||
{
|
||||
/// <summary>
|
||||
/// action to execute when the middleware action is invoked
|
||||
/// </summary>
|
||||
/// <param name="original"></param>
|
||||
/// <returns>modified original action type instance</returns>
|
||||
Task<T> Invoke(T original);
|
||||
}
|
||||
}
|
||||
|
@ -5,9 +5,27 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace SharedLibraryCore.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// used to handle middleware actions registered from arbitrary assemblies
|
||||
/// </summary>
|
||||
public interface IMiddlewareActionHandler
|
||||
{
|
||||
/// <summary>
|
||||
/// registers an action with the middleware handler
|
||||
/// </summary>
|
||||
/// <typeparam name="T">action return type</typeparam>
|
||||
/// <param name="actionType">class type of action</param>
|
||||
/// <param name="action">action to perform</param>
|
||||
/// <param name="name">optional name to reference the action by</param>
|
||||
void Register<T>(T actionType, IMiddlewareAction<T> action, string name = null);
|
||||
|
||||
/// <summary>
|
||||
/// executes the given action type or name
|
||||
/// </summary>
|
||||
/// <typeparam name="T">action return type</typeparam>
|
||||
/// <param name="value">instance member to perform the action on</param>
|
||||
/// <param name="name">optional name to reference the action by</param>
|
||||
/// <returns></returns>
|
||||
Task<T> Execute<T>(T value, string name = null);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ namespace WebfrontCore.Controllers
|
||||
private const int COOKIE_LIFESPAN = 3;
|
||||
|
||||
[HttpGet]
|
||||
public async Task<IActionResult> LoginAsync(int clientId, string password)
|
||||
public async Task<IActionResult> LoginAsync(int clientId, string password, Microsoft.AspNetCore.Http.HttpContext ctx = null)
|
||||
{
|
||||
if (clientId == 0 || string.IsNullOrEmpty(password))
|
||||
{
|
||||
@ -26,8 +26,15 @@ namespace WebfrontCore.Controllers
|
||||
try
|
||||
{
|
||||
var privilegedClient = await Manager.GetClientService().Get(clientId);
|
||||
bool loginSuccess = Manager.TokenAuthenticator.AuthorizeToken(privilegedClient.NetworkId, password) ||
|
||||
(await Task.FromResult(SharedLibraryCore.Helpers.Hashing.Hash(password, privilegedClient.PasswordSalt)))[0] == privilegedClient.Password;
|
||||
bool loginSuccess = false;
|
||||
#if DEBUG
|
||||
loginSuccess = clientId == 1;
|
||||
#endif
|
||||
if (!Authorized && !loginSuccess)
|
||||
{
|
||||
loginSuccess = Manager.TokenAuthenticator.AuthorizeToken(privilegedClient.NetworkId, password) ||
|
||||
(await Task.FromResult(SharedLibraryCore.Helpers.Hashing.Hash(password, privilegedClient.PasswordSalt)))[0] == privilegedClient.Password;
|
||||
}
|
||||
|
||||
if (loginSuccess)
|
||||
{
|
||||
@ -41,7 +48,7 @@ namespace WebfrontCore.Controllers
|
||||
|
||||
var claimsIdentity = new ClaimsIdentity(claims, "login");
|
||||
var claimsPrinciple = new ClaimsPrincipal(claimsIdentity);
|
||||
await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrinciple, new AuthenticationProperties()
|
||||
await (ctx ?? HttpContext).SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimsPrinciple, new AuthenticationProperties()
|
||||
{
|
||||
AllowRefresh = true,
|
||||
ExpiresUtc = DateTime.UtcNow.AddMonths(COOKIE_LIFESPAN),
|
||||
|
@ -98,6 +98,11 @@ namespace WebfrontCore.Controllers
|
||||
Client.Level = EFClient.Permission.Console;
|
||||
Client.CurrentAlias = new EFAlias() { Name = "IW4MAdmin" };
|
||||
Authorized = true;
|
||||
using (var controller = new AccountController())
|
||||
{
|
||||
_ = controller.LoginAsync(1, "password", HttpContext).Result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ViewBag.Authorized = Authorized;
|
||||
|
Loading…
Reference in New Issue
Block a user