Fix gulag & tweak ratio (#36)
* - tweak: Tweak gulag ratio * - fix: Fix gulag.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using System.Text;
|
||||
using Content.Server.Administration.Managers;
|
||||
using Content.Server.Database;
|
||||
using Content.Shared.Administration;
|
||||
using Robust.Shared.Console;
|
||||
@@ -16,6 +17,7 @@ namespace Content.Server.Administration.Commands
|
||||
{
|
||||
var player = shell.Player;
|
||||
var dbMan = IoCManager.Resolve<IServerDbManager>();
|
||||
var banManager = IoCManager.Resolve<IBanManager>();
|
||||
|
||||
if (args.Length != 1)
|
||||
{
|
||||
@@ -37,6 +39,9 @@ namespace Content.Server.Administration.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
if (ban.UserId.HasValue)
|
||||
banManager.RemoveCachedServerBan(ban.UserId.Value, banId);
|
||||
|
||||
if (ban.Unban != null)
|
||||
{
|
||||
var response = new StringBuilder("This ban has already been pardoned");
|
||||
|
||||
@@ -207,7 +207,26 @@ public sealed class BanManager : IBanManager, IPostInjectInit
|
||||
|
||||
if (banDef.UserId.HasValue)
|
||||
{
|
||||
_cachedServerBans.GetOrNew(banDef.UserId.Value).Add(banDef);
|
||||
var banlist = await _db.GetServerBansAsync(addressRange?.Item1, target, hwid, false);
|
||||
if (banlist.Count > 0 && banlist[^1].Id.HasValue)
|
||||
{
|
||||
var banDefWithId = new ServerBanDef(
|
||||
banlist[^1].Id,
|
||||
banDef.UserId,
|
||||
banDef.Address,
|
||||
banDef.HWId,
|
||||
banDef.BanTime,
|
||||
banDef.ExpirationTime,
|
||||
banDef.RoundId,
|
||||
banDef.PlaytimeAtNote,
|
||||
banDef.Reason,
|
||||
banDef.Severity,
|
||||
banDef.BanningAdmin,
|
||||
banDef.Unban,
|
||||
banDef.ServerName);
|
||||
|
||||
_cachedServerBans.GetOrNew(banDef.UserId.Value).Add(banDefWithId);
|
||||
}
|
||||
}
|
||||
|
||||
// If we're not banning a player we don't care about disconnecting people
|
||||
@@ -241,6 +260,22 @@ public sealed class BanManager : IBanManager, IPostInjectInit
|
||||
|
||||
return new HashSet<ServerBanDef>();
|
||||
}
|
||||
|
||||
public void RemoveCachedServerBan(NetUserId userId, int? id)
|
||||
{
|
||||
if (_cachedServerBans.TryGetValue(userId, out var bans))
|
||||
{
|
||||
bans.RemoveWhere(ban => ban.Id == id);
|
||||
}
|
||||
}
|
||||
|
||||
public void AddCachedServerBan(ServerBanDef banDef)
|
||||
{
|
||||
if (banDef.UserId == null)
|
||||
return;
|
||||
|
||||
_cachedServerBans.GetOrNew(banDef.UserId.Value).Add(banDef);
|
||||
}
|
||||
//Miracle edit end
|
||||
|
||||
#region Job Bans
|
||||
|
||||
@@ -30,6 +30,9 @@ public interface IBanManager
|
||||
public HashSet<string>? GetJobBans(NetUserId playerUserId);
|
||||
|
||||
public HashSet<ServerBanDef> GetServerBans(NetUserId userId); // Miracle edit
|
||||
public void RemoveCachedServerBan(NetUserId userId, int? id); // Miracle edit
|
||||
|
||||
public void AddCachedServerBan(ServerBanDef banDef); // Miracle edit
|
||||
|
||||
/// <summary>
|
||||
/// Creates a job ban for the specified target, username or GUID
|
||||
|
||||
Reference in New Issue
Block a user