Revert "Kicking AFK players (#12812)" (#12909)

This reverts commit ca260ee666.
This commit is contained in:
Kara
2022-12-07 08:07:58 -06:00
committed by GitHub
parent 8ad010ea9b
commit 8bf0d16fad
3 changed files with 4 additions and 29 deletions

View File

@@ -1,6 +1,5 @@
using System.Linq;
using Content.Server.Afk.Events;
using Content.Server.Chat.Managers;
using Content.Server.GameTicking;
using Content.Shared.CCVar;
using Robust.Server.Player;
@@ -21,20 +20,17 @@ public sealed class AFKSystem : EntitySystem
[Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IGameTiming _timing = default!;
[Dependency] private readonly GameTicker _ticker = default!;
[Dependency] private readonly IChatManager _chatManager = default!;
private float _checkDelay;
private float _kickDelay;
private TimeSpan _checkTime;
private readonly Dictionary<IPlayerSession, TimeSpan> _afkPlayers = new();
private readonly HashSet<IPlayerSession> _afkPlayers = new();
public override void Initialize()
{
base.Initialize();
_playerManager.PlayerStatusChanged += OnPlayerChange;
_configManager.OnValueChanged(CCVars.AfkTime, SetAfkDelay, true);
_configManager.OnValueChanged(CCVars.AfkKickTime, SetAfkKickDelay, true);
}
private void SetAfkDelay(float obj)
@@ -42,11 +38,6 @@ public sealed class AFKSystem : EntitySystem
_checkDelay = obj;
}
private void SetAfkKickDelay(float obj)
{
_kickDelay = obj;
}
private void OnPlayerChange(object? sender, SessionStatusEventArgs e)
{
switch (e.NewStatus)
@@ -63,7 +54,6 @@ public sealed class AFKSystem : EntitySystem
_afkPlayers.Clear();
_playerManager.PlayerStatusChanged -= OnPlayerChange;
_configManager.UnsubValueChanged(CCVars.AfkTime, SetAfkDelay);
_configManager.UnsubValueChanged(CCVars.AfkKickTime, SetAfkKickDelay);
}
public override void Update(float frameTime)
@@ -88,25 +78,18 @@ public sealed class AFKSystem : EntitySystem
var pSession = (IPlayerSession) session;
var isAfk = _afkManager.IsAfk(pSession);
if (isAfk && _afkPlayers.TryAdd(pSession, _timing.CurTime))
if (isAfk && _afkPlayers.Add(pSession))
{
var ev = new AFKEvent(pSession);
RaiseLocalEvent(ref ev);
_chatManager.DispatchServerMessage(pSession, Loc.GetString("afk-system-kick-warning"));
continue;
}
if (!isAfk && _afkPlayers.Remove(pSession))
{
var ev = new UnAFKEvent(pSession);
RaiseLocalEvent(ref ev);
}
if (isAfk &&
_afkPlayers.TryGetValue(pSession, out var startAfkTime) &&
_timing.CurTime - startAfkTime >= TimeSpan.FromSeconds(_kickDelay))
{
pSession.ConnectedClient.Disconnect( Loc.GetString("afk-system-kick-reason"));
continue;
}
}
}

View File

@@ -1161,12 +1161,6 @@ namespace Content.Shared.CCVar
public static readonly CVarDef<float> AfkTime =
CVarDef.Create("afk.time", 60f, CVar.SERVERONLY);
/// <summary>
/// How long seconds a client can go after being detected as AFK before being kicked.
/// </summary>
public static readonly CVarDef<float> AfkKickTime =
CVarDef.Create("afk.kick_time", 600f, CVar.SERVERONLY);
/*
* IC
*/

View File

@@ -1,2 +0,0 @@
afk-system-kick-warning = You will be kicked for being AFK soon!
afk-system-kick-reason = You were kicked for being AFK!