- fix: Fix gulag again (#37)
This commit is contained in:
@@ -115,7 +115,7 @@ public sealed class BanManager : IBanManager, IPostInjectInit
|
|||||||
{
|
{
|
||||||
// Clear out players that have disconnected.
|
// Clear out players that have disconnected.
|
||||||
var toRemove = new List<NetUserId>();
|
var toRemove = new List<NetUserId>();
|
||||||
foreach (var player in _cachedRoleBans.Keys)
|
foreach (var player in _cachedRoleBans.Keys.Concat(_cachedServerBans.Keys)) // Miracle edit
|
||||||
{
|
{
|
||||||
if (!_playerManager.TryGetSessionById(player, out _))
|
if (!_playerManager.TryGetSessionById(player, out _))
|
||||||
toRemove.Add(player);
|
toRemove.Add(player);
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ public interface IBanManager
|
|||||||
|
|
||||||
public HashSet<ServerBanDef> GetServerBans(NetUserId userId); // Miracle edit
|
public HashSet<ServerBanDef> GetServerBans(NetUserId userId); // Miracle edit
|
||||||
public void RemoveCachedServerBan(NetUserId userId, int? id); // Miracle edit
|
public void RemoveCachedServerBan(NetUserId userId, int? id); // Miracle edit
|
||||||
|
|
||||||
public void AddCachedServerBan(ServerBanDef banDef); // Miracle edit
|
public void AddCachedServerBan(ServerBanDef banDef); // Miracle edit
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -147,8 +147,8 @@ public sealed partial class GulagSystem : SharedGulagSystem
|
|||||||
}
|
}
|
||||||
|
|
||||||
var banDef = ban.First();
|
var banDef = ban.First();
|
||||||
var newExpirationTime = banDef.ExpirationTime!.Value.DateTime + TimeSpan.FromDays(1);
|
var newExpirationTime = banDef.ExpirationTime!.Value + TimeSpan.FromDays(1);
|
||||||
_db.EditServerBan(banDef.Id!.Value, banDef.Reason, banDef.Severity, newExpirationTime, banDef.UserId!.Value, DateTime.Now);
|
EditServerBan(banDef, newExpirationTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Update(float frameTime)
|
public override void Update(float frameTime)
|
||||||
@@ -379,24 +379,29 @@ public sealed partial class GulagSystem : SharedGulagSystem
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
var newExpirationTime = banDef.ExpirationTime!.Value.DateTime - ConvertPointsToTime(points);
|
var newExpirationTime = banDef.ExpirationTime!.Value - ConvertPointsToTime(points);
|
||||||
|
|
||||||
_db.EditServerBan(banDef.Id!.Value, banDef.Reason, banDef.Severity, newExpirationTime, banDef.UserId!.Value, DateTime.Now);
|
EditServerBan(banDef, newExpirationTime);
|
||||||
|
|
||||||
// Update time
|
|
||||||
_banManager.RemoveCachedServerBan(banDef.UserId.Value, banDef.Id.Value);
|
|
||||||
_banManager.AddCachedServerBan(new ServerBanDef(
|
|
||||||
banDef.Id, banDef.UserId, banDef.Address, banDef.HWId, banDef.BanTime, newExpirationTime,
|
|
||||||
banDef.RoundId, banDef.PlaytimeAtNote, banDef.Reason, banDef.Severity, banDef.BanningAdmin,
|
|
||||||
banDef.Unban, banDef.ServerName));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_pointsPerPlayer.Clear();
|
_pointsPerPlayer.Clear();
|
||||||
|
|
||||||
_activeMap = null!;
|
_activeMap = null!;
|
||||||
_mapEntity = null!;
|
_mapEntity = null!;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void EditServerBan(ServerBanDef banDef, DateTimeOffset newExpirationTime)
|
||||||
|
{
|
||||||
|
_db.EditServerBan(banDef.Id!.Value, banDef.Reason, banDef.Severity, newExpirationTime.UtcDateTime, banDef.UserId!.Value,
|
||||||
|
DateTime.UtcNow);
|
||||||
|
|
||||||
|
_banManager.RemoveCachedServerBan(banDef.UserId.Value, banDef.Id.Value);
|
||||||
|
_banManager.AddCachedServerBan(new ServerBanDef(
|
||||||
|
banDef.Id, banDef.UserId, banDef.Address, banDef.HWId, banDef.BanTime, newExpirationTime,
|
||||||
|
banDef.RoundId, banDef.PlaytimeAtNote, banDef.Reason, banDef.Severity, banDef.BanningAdmin,
|
||||||
|
banDef.Unban, banDef.ServerName));
|
||||||
|
}
|
||||||
|
|
||||||
private void OnRoundStarting(RoundStartingEvent ev)
|
private void OnRoundStarting(RoundStartingEvent ev)
|
||||||
{
|
{
|
||||||
//Spawn Gulag
|
//Spawn Gulag
|
||||||
|
|||||||
Reference in New Issue
Block a user