]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Remove baby jail (#34443)
authorMyra <vasilis@pikachu.systems>
Wed, 15 Jan 2025 21:08:15 +0000 (22:08 +0100)
committerGitHub <noreply@github.com>
Wed, 15 Jan 2025 21:08:15 +0000 (22:08 +0100)
* Remove baby jail

Closes #33893

* Test fail fix.

16 files changed:
Content.Client/Administration/UI/AdminMenuWindow.xaml
Content.Client/Administration/UI/AdminMenuWindow.xaml.cs
Content.Client/Administration/UI/Tabs/BabyJailTab/BabyJailStatusWindow.xaml [deleted file]
Content.Client/Administration/UI/Tabs/BabyJailTab/BabyJailStatusWindow.xaml.cs [deleted file]
Content.Client/Administration/UI/Tabs/BabyJailTab/BabyJailTab.xaml [deleted file]
Content.Client/Administration/UI/Tabs/BabyJailTab/BabyJailTab.xaml.cs [deleted file]
Content.Client/UserInterface/Systems/Admin/AdminUIController.cs
Content.Server.Database/Model.cs
Content.Server/Administration/Commands/BabyJailCommand.cs [deleted file]
Content.Server/Administration/Systems/AdminSystem.cs
Content.Server/Connection/ConnectionManager.cs
Content.Server/GameTicking/GameTicker.StatusShell.cs
Content.Shared/Administration/Events/BabyJailChangedEvent.cs [deleted file]
Content.Shared/CCVar/CCVars.Game.cs
Resources/ConfigPresets/WizardsDen/wizardsDenGateway.toml
Resources/Locale/en-US/administration/commands/babyjail.ftl [deleted file]

index d3d3df02d93609f7a4cb4c8804a922ab3d08135d..311d67b826c7a2aad1711832d6917c95a257b322 100644 (file)
@@ -6,8 +6,7 @@
     xmlns:tabs="clr-namespace:Content.Client.Administration.UI.Tabs"
     xmlns:playerTab="clr-namespace:Content.Client.Administration.UI.Tabs.PlayerTab"
     xmlns:objectsTab="clr-namespace:Content.Client.Administration.UI.Tabs.ObjectsTab"
-    xmlns:panic="clr-namespace:Content.Client.Administration.UI.Tabs.PanicBunkerTab"
-    xmlns:baby="clr-namespace:Content.Client.Administration.UI.Tabs.BabyJailTab">
+    xmlns:panic="clr-namespace:Content.Client.Administration.UI.Tabs.PanicBunkerTab">
     <TabContainer Name="MasterTabContainer">
         <adminTab:AdminTab />
         <adminbusTab:AdminbusTab />
@@ -15,7 +14,6 @@
         <tabs:RoundTab />
         <tabs:ServerTab />
         <panic:PanicBunkerTab Name="PanicBunkerControl" Access="Public" />
-        <baby:BabyJailTab Name="BabyJailControl" Access="Public" />
         <playerTab:PlayerTab Name="PlayerTabControl" Access="Public" />
         <objectsTab:ObjectsTab Name="ObjectsTabControl" Access="Public" />
     </TabContainer>
index d5c43e2a500e7012aab9843e268b40ee73e152e4..73fcb4f5e50774742d55dc959471b9c08f804411 100644 (file)
@@ -21,10 +21,6 @@ public sealed partial class AdminMenuWindow : DefaultWindow
         MasterTabContainer.SetTabTitle((int) TabIndex.Round, Loc.GetString("admin-menu-round-tab"));
         MasterTabContainer.SetTabTitle((int) TabIndex.Server, Loc.GetString("admin-menu-server-tab"));
         MasterTabContainer.SetTabTitle((int) TabIndex.PanicBunker, Loc.GetString("admin-menu-panic-bunker-tab"));
-        /*
-         * TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
-         */
-        MasterTabContainer.SetTabTitle((int) TabIndex.BabyJail, Loc.GetString("admin-menu-baby-jail-tab"));
         MasterTabContainer.SetTabTitle((int) TabIndex.Players, Loc.GetString("admin-menu-players-tab"));
         MasterTabContainer.SetTabTitle((int) TabIndex.Objects, Loc.GetString("admin-menu-objects-tab"));
         MasterTabContainer.OnTabChanged += OnTabChanged;
@@ -52,7 +48,6 @@ public sealed partial class AdminMenuWindow : DefaultWindow
         Round,
         Server,
         PanicBunker,
-        BabyJail,
         Players,
         Objects,
     }
diff --git a/Content.Client/Administration/UI/Tabs/BabyJailTab/BabyJailStatusWindow.xaml b/Content.Client/Administration/UI/Tabs/BabyJailTab/BabyJailStatusWindow.xaml
deleted file mode 100644 (file)
index b8034fa..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<controls:BabyJailStatusWindow
-    xmlns="https://spacestation14.io"
-    xmlns:controls="clr-namespace:Content.Client.Administration.UI.Tabs.BabyJailTab"
-    Title="{Loc admin-ui-baby-jail-window-title}">
-    <RichTextLabel Name="MessageLabel" Access="Public" />
-</controls:BabyJailStatusWindow>
diff --git a/Content.Client/Administration/UI/Tabs/BabyJailTab/BabyJailStatusWindow.xaml.cs b/Content.Client/Administration/UI/Tabs/BabyJailTab/BabyJailStatusWindow.xaml.cs
deleted file mode 100644 (file)
index 9e1d538..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-using Content.Client.Message;
-using Content.Client.UserInterface.Controls;
-using Robust.Client.AutoGenerated;
-using Robust.Client.UserInterface.CustomControls;
-using Robust.Client.UserInterface.XAML;
-
-namespace Content.Client.Administration.UI.Tabs.BabyJailTab;
-
-/*
- * TODO: Remove me once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
- */
-
-[GenerateTypedNameReferences]
-public sealed partial class BabyJailStatusWindow : FancyWindow
-{
-    public BabyJailStatusWindow()
-    {
-        RobustXamlLoader.Load(this);
-        MessageLabel.SetMarkup(Loc.GetString("admin-ui-baby-jail-is-enabled"));
-    }
-}
diff --git a/Content.Client/Administration/UI/Tabs/BabyJailTab/BabyJailTab.xaml b/Content.Client/Administration/UI/Tabs/BabyJailTab/BabyJailTab.xaml
deleted file mode 100644 (file)
index dd770c2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<controls:BabyJailTab
-    xmlns="https://spacestation14.io"
-    xmlns:controls="clr-namespace:Content.Client.Administration.UI.Tabs.BabyJailTab"
-    xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
-    Margin="4">
-    <BoxContainer Orientation="Vertical">
-        <cc:CommandButton Name="EnabledButton" Command="babyjail" ToggleMode="True"
-                          Text="{Loc admin-ui-baby-jail-disabled}"
-                          ToolTip="{Loc admin-ui-baby-jail-tooltip}" />
-        <cc:CommandButton Name="ShowReasonButton" Command="babyjail_show_reason"
-                          ToggleMode="True" Text="{Loc admin-ui-baby-jail-show-reason}"
-                          ToolTip="{Loc admin-ui-baby-jail-show-reason-tooltip}" />
-        <BoxContainer Orientation="Vertical" Margin="0 10 0 0">
-            <BoxContainer Orientation="Horizontal" Margin="2">
-                <Label Text="{Loc admin-ui-baby-jail-max-account-age}" MinWidth="175" />
-                <LineEdit Name="MaxAccountAge" MinWidth="50" Margin="0 0 5 0" />
-                <Label Text="{Loc generic-minutes}" />
-            </BoxContainer>
-            <BoxContainer Orientation="Horizontal" Margin="2">
-                <Label Text="{Loc admin-ui-baby-jail-max-overall-minutes}" MinWidth="175" />
-                <LineEdit Name="MaxOverallMinutes" MinWidth="50" Margin="0 0 5 0" />
-                <Label Text="{Loc generic-minutes}" />
-            </BoxContainer>
-        </BoxContainer>
-    </BoxContainer>
-</controls:BabyJailTab>
diff --git a/Content.Client/Administration/UI/Tabs/BabyJailTab/BabyJailTab.xaml.cs b/Content.Client/Administration/UI/Tabs/BabyJailTab/BabyJailTab.xaml.cs
deleted file mode 100644 (file)
index aa9d6ce..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-using Content.Shared.Administration.Events;
-using Robust.Client.AutoGenerated;
-using Robust.Client.UserInterface;
-using Robust.Client.UserInterface.XAML;
-using Robust.Shared.Console;
-
-/*
- * TODO: Remove me once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
- */
-
-namespace Content.Client.Administration.UI.Tabs.BabyJailTab;
-
-[GenerateTypedNameReferences]
-public sealed partial class BabyJailTab : Control
-{
-    [Dependency] private readonly IConsoleHost _console = default!;
-
-    private string _maxAccountAge;
-    private string _maxOverallMinutes;
-
-    public BabyJailTab()
-    {
-        RobustXamlLoader.Load(this);
-        IoCManager.InjectDependencies(this);
-
-        MaxAccountAge.OnTextEntered += args => SendMaxAccountAge(args.Text);
-        MaxAccountAge.OnFocusExit += args => SendMaxAccountAge(args.Text);
-        _maxAccountAge = MaxAccountAge.Text;
-
-        MaxOverallMinutes.OnTextEntered += args => SendMaxOverallMinutes(args.Text);
-        MaxOverallMinutes.OnFocusExit += args => SendMaxOverallMinutes(args.Text);
-        _maxOverallMinutes = MaxOverallMinutes.Text;
-    }
-
-    private void SendMaxAccountAge(string text)
-    {
-        if (string.IsNullOrWhiteSpace(text) ||
-            text == _maxAccountAge ||
-            !int.TryParse(text, out var minutes))
-        {
-            return;
-        }
-
-        _console.ExecuteCommand($"babyjail_max_account_age {minutes}");
-    }
-
-    private void SendMaxOverallMinutes(string text)
-    {
-        if (string.IsNullOrWhiteSpace(text) ||
-            text == _maxOverallMinutes ||
-            !int.TryParse(text, out var minutes))
-        {
-            return;
-        }
-
-        _console.ExecuteCommand($"babyjail_max_overall_minutes {minutes}");
-    }
-
-    public void UpdateStatus(BabyJailStatus status)
-    {
-        EnabledButton.Pressed = status.Enabled;
-        EnabledButton.Text = Loc.GetString(status.Enabled
-            ? "admin-ui-baby-jail-enabled"
-            : "admin-ui-baby-jail-disabled"
-        );
-        EnabledButton.ModulateSelfOverride = status.Enabled ? Color.Red : null;
-        ShowReasonButton.Pressed = status.ShowReason;
-
-        MaxAccountAge.Text = status.MaxAccountAgeMinutes.ToString();
-        _maxAccountAge = MaxAccountAge.Text;
-
-        MaxOverallMinutes.Text = status.MaxOverallMinutes.ToString();
-        _maxOverallMinutes = MaxOverallMinutes.Text;
-    }
-}
index d36a91c3733283835f1bfe177075c626fe31cb00..392a1a96de2e933857c0acd28ab3cef51f3fd302 100644 (file)
@@ -3,7 +3,6 @@ using Content.Client.Administration.Systems;
 using Content.Client.Administration.UI;
 using Content.Client.Administration.UI.Tabs.ObjectsTab;
 using Content.Client.Administration.UI.Tabs.PanicBunkerTab;
-using Content.Client.Administration.UI.Tabs.BabyJailTab;
 using Content.Client.Administration.UI.Tabs.PlayerTab;
 using Content.Client.Gameplay;
 using Content.Client.Lobby;
@@ -38,13 +37,11 @@ public sealed class AdminUIController : UIController,
     private AdminMenuWindow? _window;
     private MenuButton? AdminButton => UIManager.GetActiveUIWidgetOrNull<MenuBar.Widgets.GameTopMenuBar>()?.AdminButton;
     private PanicBunkerStatus? _panicBunker;
-    private BabyJailStatus? _babyJail;
 
     public override void Initialize()
     {
         base.Initialize();
         SubscribeNetworkEvent<PanicBunkerChangedEvent>(OnPanicBunkerUpdated);
-        SubscribeNetworkEvent<BabyJailChangedEvent>(OnBabyJailUpdated);
     }
 
     private void OnPanicBunkerUpdated(PanicBunkerChangedEvent msg, EntitySessionEventArgs args)
@@ -59,18 +56,6 @@ public sealed class AdminUIController : UIController,
         }
     }
 
-    private void OnBabyJailUpdated(BabyJailChangedEvent msg, EntitySessionEventArgs args)
-    {
-        var showDialog = _babyJail == null && msg.Status.Enabled;
-        _babyJail = msg.Status;
-        _window?.BabyJailControl.UpdateStatus(msg.Status);
-
-        if (showDialog)
-        {
-            UIManager.CreateWindow<BabyJailStatusWindow>().OpenCentered();
-        }
-    }
-
     public void OnStateEntered(GameplayState state)
     {
         EnsureWindow();
@@ -116,13 +101,6 @@ public sealed class AdminUIController : UIController,
         if (_panicBunker != null)
             _window.PanicBunkerControl.UpdateStatus(_panicBunker);
 
-        /*
-         * TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
-         */
-
-        if (_babyJail != null)
-            _window.BabyJailControl.UpdateStatus(_babyJail);
-
         _window.PlayerTabControl.OnEntryKeyBindDown += PlayerTabEntryKeyBindDown;
         _window.ObjectsTabControl.OnEntryKeyBindDown += ObjectsTabEntryKeyBindDown;
         _window.OnOpen += OnWindowOpen;
index 885bba0ffc270cd3873777d18f15eba9ffcc3d93..4e3efddc47cb32f424a013db03e32a0e3d0d85ed 100644 (file)
@@ -973,10 +973,10 @@ namespace Content.Server.Database
         Full = 2,
         Panic = 3,
         /*
-         * TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
-         *
          * If baby jail is removed, please reserve this value for as long as can reasonably be done to prevent causing ambiguity in connection denial reasons.
          * Reservation by commenting out the value is likely sufficient for this purpose, but may impact projects which depend on SS14 like SS14.Admin.
+         *
+         * Edit: It has
          */
         BabyJail = 4,
         /// Results from rejected connections with external API checking tools
diff --git a/Content.Server/Administration/Commands/BabyJailCommand.cs b/Content.Server/Administration/Commands/BabyJailCommand.cs
deleted file mode 100644 (file)
index 058b67c..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-using Content.Shared.Administration;
-using Content.Shared.CCVar;
-using Robust.Shared.Configuration;
-using Robust.Shared.Console;
-
-/*
- * TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
- */
-
-namespace Content.Server.Administration.Commands;
-
-[AdminCommand(AdminFlags.Server)]
-public sealed class BabyJailCommand : LocalizedCommands
-{
-    [Dependency] private readonly IConfigurationManager _cfg = default!;
-
-    public override string Command => "babyjail";
-
-    public override void Execute(IConsoleShell shell, string argStr, string[] args)
-    {
-        var toggle = Toggle(CCVars.BabyJailEnabled, shell, args, _cfg);
-        if (toggle == null)
-            return;
-
-        shell.WriteLine(Loc.GetString(toggle.Value ? "babyjail-command-enabled" : "babyjail-command-disabled"));
-    }
-
-    public static bool? Toggle(CVarDef<bool> cvar, IConsoleShell shell, string[] args, IConfigurationManager config)
-    {
-        if (args.Length > 1)
-        {
-            shell.WriteError(Loc.GetString("shell-need-between-arguments",("lower", 0), ("upper", 1)));
-            return null;
-        }
-
-        var enabled = config.GetCVar(cvar);
-
-        switch (args.Length)
-        {
-            case 0:
-                enabled = !enabled;
-                break;
-            case 1 when !bool.TryParse(args[0], out enabled):
-                shell.WriteError(Loc.GetString("shell-argument-must-be-boolean"));
-                return null;
-        }
-
-        config.SetCVar(cvar, enabled);
-
-        return enabled;
-    }
-}
-
-
-[AdminCommand(AdminFlags.Server)]
-public sealed class BabyJailShowReasonCommand : LocalizedCommands
-{
-    [Dependency] private readonly IConfigurationManager _cfg = default!;
-
-    public override string Command => "babyjail_show_reason";
-
-    public override void Execute(IConsoleShell shell, string argStr, string[] args)
-    {
-        var toggle = BabyJailCommand.Toggle(CCVars.BabyJailShowReason, shell, args, _cfg);
-        if (toggle == null)
-            return;
-
-        shell.WriteLine(Loc.GetString(toggle.Value
-            ? "babyjail-command-show-reason-enabled"
-            : "babyjail-command-show-reason-disabled"
-        ));
-    }
-}
-
-[AdminCommand(AdminFlags.Server)]
-public sealed class BabyJailMinAccountAgeCommand : LocalizedCommands
-{
-    [Dependency] private readonly IConfigurationManager _cfg = default!;
-
-    public override string Command => "babyjail_max_account_age";
-
-    public override void Execute(IConsoleShell shell, string argStr, string[] args)
-    {
-        switch (args.Length)
-        {
-            case 0:
-            {
-                var current = _cfg.GetCVar(CCVars.BabyJailMaxAccountAge);
-                shell.WriteLine(Loc.GetString("babyjail-command-max-account-age-is", ("minutes", current)));
-                break;
-            }
-            case > 1:
-                shell.WriteError(Loc.GetString("shell-need-between-arguments",("lower", 0), ("upper", 1)));
-                return;
-        }
-
-        if (!int.TryParse(args[0], out var minutes))
-        {
-            shell.WriteError(Loc.GetString("shell-argument-must-be-number"));
-            return;
-        }
-
-        _cfg.SetCVar(CCVars.BabyJailMaxAccountAge, minutes);
-        shell.WriteLine(Loc.GetString("babyjail-command-max-account-age-set", ("minutes", minutes)));
-    }
-}
-
-[AdminCommand(AdminFlags.Server)]
-public sealed class BabyJailMinOverallHoursCommand : LocalizedCommands
-{
-    [Dependency] private readonly IConfigurationManager _cfg = default!;
-
-    public override string Command => "babyjail_max_overall_minutes";
-
-    public override void Execute(IConsoleShell shell, string argStr, string[] args)
-    {
-        switch (args.Length)
-        {
-            case 0:
-            {
-                var current = _cfg.GetCVar(CCVars.BabyJailMaxOverallMinutes);
-                shell.WriteLine(Loc.GetString("babyjail-command-max-overall-minutes-is", ("minutes", current)));
-                break;
-            }
-            case > 1:
-                shell.WriteError(Loc.GetString("shell-need-between-arguments",("lower", 0), ("upper", 1)));
-                return;
-        }
-
-        if (!int.TryParse(args[0], out var hours))
-        {
-            shell.WriteError(Loc.GetString("shell-argument-must-be-number"));
-            return;
-        }
-
-        _cfg.SetCVar(CCVars.BabyJailMaxOverallMinutes, hours);
-        shell.WriteLine(Loc.GetString("babyjail-command-overall-minutes-set", ("hours", hours)));
-    }
-}
index 68b376610b30e91c4211a07bfad242289164fbcf..1d8c278584e6f72cca469f0d66331358fdf91615 100644 (file)
@@ -64,7 +64,6 @@ public sealed class AdminSystem : EntitySystem
 
     private readonly HashSet<NetUserId> _roundActivePlayers = new();
     public readonly PanicBunkerStatus PanicBunker = new();
-    public readonly BabyJailStatus BabyJail = new();
 
     public override void Initialize()
     {
@@ -83,16 +82,6 @@ public sealed class AdminSystem : EntitySystem
         Subs.CVar(_config, CCVars.PanicBunkerMinAccountAge, OnPanicBunkerMinAccountAgeChanged, true);
         Subs.CVar(_config, CCVars.PanicBunkerMinOverallMinutes, OnPanicBunkerMinOverallMinutesChanged, true);
 
-        /*
-         * TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
-         */
-
-        // Baby Jail Settings
-        Subs.CVar(_config, CCVars.BabyJailEnabled, OnBabyJailChanged, true);
-        Subs.CVar(_config, CCVars.BabyJailShowReason, OnBabyJailShowReasonChanged, true);
-        Subs.CVar(_config, CCVars.BabyJailMaxAccountAge, OnBabyJailMaxAccountAgeChanged, true);
-        Subs.CVar(_config, CCVars.BabyJailMaxOverallMinutes, OnBabyJailMaxOverallMinutesChanged, true);
-
         SubscribeLocalEvent<IdentityChangedEvent>(OnIdentityChanged);
         SubscribeLocalEvent<PlayerAttachedEvent>(OnPlayerAttached);
         SubscribeLocalEvent<PlayerDetachedEvent>(OnPlayerDetached);
@@ -279,17 +268,6 @@ public sealed class AdminSystem : EntitySystem
         SendPanicBunkerStatusAll();
     }
 
-    private void OnBabyJailChanged(bool enabled)
-    {
-        BabyJail.Enabled = enabled;
-        _chat.SendAdminAlert(Loc.GetString(enabled
-            ? "admin-ui-baby-jail-enabled-admin-alert"
-            : "admin-ui-baby-jail-disabled-admin-alert"
-        ));
-
-        SendBabyJailStatusAll();
-    }
-
     private void OnPanicBunkerDisableWithAdminsChanged(bool enabled)
     {
         PanicBunker.DisableWithAdmins = enabled;
@@ -314,36 +292,18 @@ public sealed class AdminSystem : EntitySystem
         SendPanicBunkerStatusAll();
     }
 
-    private void OnBabyJailShowReasonChanged(bool enabled)
-    {
-        BabyJail.ShowReason = enabled;
-        SendBabyJailStatusAll();
-    }
-
     private void OnPanicBunkerMinAccountAgeChanged(int minutes)
     {
         PanicBunker.MinAccountAgeMinutes = minutes;
         SendPanicBunkerStatusAll();
     }
 
-    private void OnBabyJailMaxAccountAgeChanged(int minutes)
-    {
-        BabyJail.MaxAccountAgeMinutes = minutes;
-        SendBabyJailStatusAll();
-    }
-
     private void OnPanicBunkerMinOverallMinutesChanged(int minutes)
     {
         PanicBunker.MinOverallMinutes = minutes;
         SendPanicBunkerStatusAll();
     }
 
-    private void OnBabyJailMaxOverallMinutesChanged(int minutes)
-    {
-        BabyJail.MaxOverallMinutes = minutes;
-        SendBabyJailStatusAll();
-    }
-
     private void UpdatePanicBunker()
     {
         var hasAdmins = false;
@@ -390,15 +350,6 @@ public sealed class AdminSystem : EntitySystem
         }
     }
 
-    private void SendBabyJailStatusAll()
-    {
-        var ev = new BabyJailChangedEvent(BabyJail);
-        foreach (var admin in _adminManager.AllAdmins)
-        {
-            RaiseNetworkEvent(ev, admin);
-        }
-    }
-
         /// <summary>
         ///     Erases a player from the round.
         ///     This removes them and any trace of them from the round, deleting their
index ab27553f446464e6744d024756be7b724715c495..bc0f06de98cc9fc8cba5215c0f003ccb678e4923 100644 (file)
@@ -283,14 +283,6 @@ namespace Content.Server.Connection
                 }
             }
 
-            if (_cfg.GetCVar(CCVars.BabyJailEnabled) && adminData == null)
-            {
-                var result = await IsInvalidConnectionDueToBabyJail(userId, e);
-
-                if (result.IsInvalid)
-                    return (ConnectionDenyReason.BabyJail, result.Reason, null);
-            }
-
             var wasInGame = EntitySystem.TryGet<GameTicker>(out var ticker) &&
                             ticker.PlayerGameStatuses.TryGetValue(userId, out var status) &&
                             status == PlayerGameStatus.JoinedGame;
@@ -349,72 +341,6 @@ namespace Content.Server.Connection
             return null;
         }
 
-        private async Task<(bool IsInvalid, string Reason)> IsInvalidConnectionDueToBabyJail(NetUserId userId, NetConnectingArgs e)
-        {
-            // If you're whitelisted then bypass this whole thing
-            if (await _db.GetWhitelistStatusAsync(userId))
-                return (false, "");
-
-            // Initial cvar retrieval
-            var showReason = _cfg.GetCVar(CCVars.BabyJailShowReason);
-            var reason = _cfg.GetCVar(CCVars.BabyJailCustomReason);
-            var maxAccountAgeMinutes = _cfg.GetCVar(CCVars.BabyJailMaxAccountAge);
-            var maxPlaytimeMinutes = _cfg.GetCVar(CCVars.BabyJailMaxOverallMinutes);
-
-            // Wait some time to lookup data
-            var record = await _db.GetPlayerRecordByUserId(userId);
-
-            // No player record = new account or the DB is having a skill issue
-            if (record == null)
-                return (false, "");
-
-            var isAccountAgeInvalid = record.FirstSeenTime.CompareTo(DateTimeOffset.UtcNow - TimeSpan.FromMinutes(maxAccountAgeMinutes)) <= 0;
-
-            if (isAccountAgeInvalid)
-            {
-                _sawmill.Debug($"Baby jail will deny {userId} for account age {record.FirstSeenTime}"); // Remove on or after 2024-09
-            }
-
-            if (isAccountAgeInvalid && showReason)
-            {
-                var locAccountReason = reason != string.Empty
-                    ? reason
-                    : Loc.GetString("baby-jail-account-denied-reason",
-                        ("reason",
-                            Loc.GetString(
-                                "baby-jail-account-reason-account",
-                                ("minutes", maxAccountAgeMinutes))));
-
-                return (true, locAccountReason);
-            }
-
-            var overallTime = ( await _db.GetPlayTimes(e.UserId)).Find(p => p.Tracker == PlayTimeTrackingShared.TrackerOverall);
-            var isTotalPlaytimeInvalid = overallTime != null && overallTime.TimeSpent.TotalMinutes >= maxPlaytimeMinutes;
-
-            if (isTotalPlaytimeInvalid)
-            {
-                _sawmill.Debug($"Baby jail will deny {userId} for playtime {overallTime!.TimeSpent}"); // Remove on or after 2024-09
-            }
-
-            if (isTotalPlaytimeInvalid && showReason)
-            {
-                var locPlaytimeReason = reason != string.Empty
-                    ? reason
-                    : Loc.GetString("baby-jail-account-denied-reason",
-                        ("reason",
-                            Loc.GetString(
-                                "baby-jail-account-reason-overall",
-                                ("minutes", maxPlaytimeMinutes))));
-
-                return (true, locPlaytimeReason);
-            }
-
-            if (!showReason && isTotalPlaytimeInvalid || isAccountAgeInvalid)
-                return (true, Loc.GetString("baby-jail-account-denied"));
-
-            return (false, "");
-        }
-
         private bool HasTemporaryBypass(NetUserId user)
         {
             return _temporaryBypasses.TryGetValue(user, out var time) && time > _gameTiming.RealTime;
index 67367b94b7f5abe10bdab6afba86d8e9f3426fe6..fcf5b1c25cd7e6f9c4c91a8a12344222b5cccdea 100644 (file)
@@ -46,12 +46,6 @@ namespace Content.Server.GameTicking
                 jObject["players"] = _playerManager.PlayerCount;
                 jObject["soft_max_players"] = _cfg.GetCVar(CCVars.SoftMaxPlayers);
                 jObject["panic_bunker"] = _cfg.GetCVar(CCVars.PanicBunkerEnabled);
-
-                /*
-                 * TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
-                 */
-
-                jObject["baby_jail"] = _cfg.GetCVar(CCVars.BabyJailEnabled);
                 jObject["run_level"] = (int) _runLevel;
                 if (preset != null)
                     jObject["preset"] = Loc.GetString(preset.ModeTitle);
diff --git a/Content.Shared/Administration/Events/BabyJailChangedEvent.cs b/Content.Shared/Administration/Events/BabyJailChangedEvent.cs
deleted file mode 100644 (file)
index 56d5ce5..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-using Robust.Shared.Serialization;
-
-/*
- * TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
- */
-
-namespace Content.Shared.Administration.Events;
-
-[Serializable, NetSerializable]
-public sealed class BabyJailStatus
-{
-    public bool Enabled;
-    public bool ShowReason;
-    public int MaxAccountAgeMinutes;
-    public int MaxOverallMinutes;
-}
-
-[Serializable, NetSerializable]
-public sealed class BabyJailChangedEvent(BabyJailStatus status) : EntityEventArgs
-{
-    public BabyJailStatus Status = status;
-}
index e04cf4325318015a5278fb1fefabd28d035acf55..4a6f1118a1d3ef0d93eaafb43e5095c4bda2550e 100644 (file)
@@ -198,48 +198,6 @@ public sealed partial class CCVars
         public static readonly CVarDef<bool> BypassBunkerWhitelist =
             CVarDef.Create("game.panic_bunker.whitelisted_can_bypass", true, CVar.SERVERONLY);
 
-        /*
-         * TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
-         */
-
-        /// <summary>
-        ///     Whether the baby jail is currently enabled.
-        /// </summary>
-        public static readonly CVarDef<bool> BabyJailEnabled  =
-            CVarDef.Create("game.baby_jail.enabled", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER);
-
-        /// <summary>
-        ///     Show reason of disconnect for user or not.
-        /// </summary>
-        public static readonly CVarDef<bool> BabyJailShowReason =
-            CVarDef.Create("game.baby_jail.show_reason", false, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Maximum age of the account (from server's PoV, so from first-seen date) in minutes that can access baby
-        ///     jailed servers.
-        /// </summary>
-        public static readonly CVarDef<int> BabyJailMaxAccountAge =
-            CVarDef.Create("game.baby_jail.max_account_age", 1440, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Maximum overall played time allowed to access baby jailed servers.
-        /// </summary>
-        public static readonly CVarDef<int> BabyJailMaxOverallMinutes =
-            CVarDef.Create("game.baby_jail.max_overall_minutes", 120, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     A custom message that will be used for connections denied due to the baby jail.
-        ///     If not empty, then will overwrite <see cref="BabyJailShowReason"/>
-        /// </summary>
-        public static readonly CVarDef<string> BabyJailCustomReason =
-            CVarDef.Create("game.baby_jail.custom_reason", string.Empty, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Allow bypassing the baby jail if the user is whitelisted.
-        /// </summary>
-        public static readonly CVarDef<bool> BypassBabyJailWhitelist =
-            CVarDef.Create("game.baby_jail.whitelisted_can_bypass", true, CVar.SERVERONLY);
-
         /// <summary>
         /// Enable IPIntel for blocking VPN connections from new players.
         /// </summary>
index 84288b8b85e8f0db9f4bcf944102178a59ec66a0..787321232609e1cbebb3fa3128c7ace38c34ef3e 100644 (file)
@@ -11,12 +11,6 @@ panic_bunker.enabled = false
 panic_bunker.disable_with_admins = false
 panic_bunker.enable_without_admins = false
 panic_bunker.custom_reason = ""
-baby_jail.enabled = true
-baby_jail.show_reason = true
-baby_jail.max_account_age = 5256000 # 10 years. Disabling this check specifically isn't currently supported
-baby_jail.max_overall_minutes = 3000 # 50 hours
-baby_jail.custom_reason = "Sorry! Only new and whitelisted players can join this server. Apply to be whitelisted in our Discord server (discord.ss14.io) or try joining another server instead!"
-baby_jail.whitelisted_can_bypass = true
 
 [hub]
 tags = "lang:en,region:am_n_e,rp:low"
diff --git a/Resources/Locale/en-US/administration/commands/babyjail.ftl b/Resources/Locale/en-US/administration/commands/babyjail.ftl
deleted file mode 100644 (file)
index 5a9d949..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-cmd-babyjail-desc = Toggles the baby jail, which enables stricter restrictions on who's allowed to join the server.
-cmd-babyjail-help = Usage: babyjail
-babyjail-command-enabled = Baby jail has been enabled.
-babyjail-command-disabled = Baby jail has been disabled.
-
-cmd-babyjail_show_reason-desc = Toggles whether or not to show connecting clients the reason why the baby jail blocked them from joining.
-cmd-babyjail_show_reason-help = Usage: babyjail_show_reason
-babyjail-command-show-reason-enabled = The baby jail will now show a reason to users it blocks from connecting.
-babyjail-command-show-reason-disabled = The baby jail will no longer show a reason to users it blocks from connecting.
-
-cmd-babyjail_max_account_age-desc = Gets or sets the maximum account age in minutes that an account can have to be allowed to connect with the baby jail enabled.
-cmd-babyjail_max_account_age-help = Usage: babyjail_max_account_age <minutes>
-babyjail-command-max-account-age-is = The maximum account age for the baby jail is {$minutes} minutes.
-babyjail-command-max-account-age-set = Set the maximum account age for the baby jail to {$minutes} minutes.
-
-cmd-babyjail_max_overall_minutes-desc = Gets or sets the maximum overall playtime in minutes that an account can have to be allowed to connect with the baby jail enabled.
-cmd-babyjail_max_overall_minutes-help = Usage: babyjail_max_overall_minutes <minutes>
-babyjail-command-max-overall-minutes-is = The maximum overall playtime for the baby jail is {$minutes} minutes.
-babyjail-command-max-overall-minutes-set = Set the maximum overall playtime for the baby jail to {$minutes} minutes.