/resetpw für headadmins hinzugefügert

This commit is contained in:
Luke
2021-07-04 00:23:31 +02:00
parent 6cf2ee2f4b
commit f6e71075ac

View File

@@ -1774,6 +1774,46 @@ namespace ReallifeGamemode.Server.Commands
Medic.AddTaskToList(reviveTask);
}*/
[Command("resetpw", "~m~Benutzung: ~s~/resetpw [Spieler]")]
public void CmdAdminResetPw(Player player, string targetName)
{
if (!player.GetUser().IsAdmin(AdminLevel.HEADADMIN))
{
ChatService.NotAuthorized(player);
return;
}
Player targetPlayer = PlayerService.GetPlayerByNameOrId(targetName);
if (targetPlayer != null && targetPlayer.IsLoggedIn())
{
ChatService.ErrorMessage(player, "Dieser Spieler ist bereits eingeloggt");
return;
}
User targetUser;
string password;
using (var dbContext = new DatabaseContext())
{
targetUser = dbContext.Users.FirstOrDefault(u => u.Name == targetName);
if (targetUser == null)
{
ChatService.ErrorMessage(player, "Dieser Spieler existiert nicht");
return;
}
password = new Random().Next(000000, 999999 + 1).ToString();
targetUser.Password = NAPI.Util.GetHashSha256(password);
dbContext.SaveChanges();
}
ChatService.SendMessage(player, $"~b~[ADMIN] ~s~Du hast das Passwort von ~b~{targetUser.Name} ~s~geändert ('{password}').");
ChatService.SendMessage(player, $"~b~[ADMIN] ~s~Wichtig: Der Spieler soll im Anschluss mit '/changepw [Alt] [Neu]' das Passwort ändern!");
ChatService.BroadcastAdmin($"~b~[ADMIN] ~s~Das Passwort von ~b~{targetUser.Name} ~s~wurde von ~b~{player.Name} ~s~zurückgesetzt.", AdminLevel.HEADADMIN);
logger.LogInformation("Admin {0} reset the password of {1} to '{2}'", player.Name, targetUser.Name, password);
}
[Command("setblipcolor", "~m~Benutzung:~s~ /setblipcolor [ID]")]
public void CmdAdmSetBlipColor(Player player, int blipId)
{