Skip to content

Commit

Permalink
feat: add option to disable anti-C-Bug via configuration file (#305)
Browse files Browse the repository at this point in the history
  • Loading branch information
MrDave1999 authored Jan 22, 2025
1 parent 94775b7 commit b8fb9d7
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 2 deletions.
2 changes: 2 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ CommandCooldowns__Coins=3
TopPlayers__RequiredTotalKills=150
TopPlayers__RequiredMaxKillingSpree=10

AntiCBug__Disabled=false

MariaDB__Server=mariadb
MariaDB__Port=3306
MariaDB__Database=gamemode
Expand Down
6 changes: 6 additions & 0 deletions src/Application/Players/AntiCBug/AntiCBugSettings.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
namespace CTF.Application.Players.AntiCBug;

public class AntiCBugSettings
{
public bool Disabled { get; set; } = false;
}
7 changes: 6 additions & 1 deletion src/Application/Players/AntiCBug/AntiCBugSystem.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
namespace CTF.Application.Players.AntiCBug;

public class AntiCBugSystem(UnixTimeSeconds unixTimeSeconds) : ISystem
public class AntiCBugSystem(
UnixTimeSeconds unixTimeSeconds,
AntiCBugSettings antiCBugSettings) : ISystem
{
[Event]
public void OnPlayerConnect(Player player)
Expand All @@ -11,6 +13,9 @@ public void OnPlayerConnect(Player player)
[Event]
public void OnPlayerKeyStateChange(Player player, Keys newKeys, Keys oldKeys)
{
if (antiCBugSettings.Disabled)
return;

if (player.State != PlayerState.OnFoot)
return;

Expand Down
7 changes: 6 additions & 1 deletion src/Host/Extensions/AppSettingsExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,17 @@ public static IServiceCollection AddSettings(
.GetRequiredSection("FlagCarrier")
.Get<FlagCarrierSettings>();

var antiCBugSettings = configuration
.GetRequiredSection("AntiCBug")
.Get<AntiCBugSettings>();

services
.AddSingleton(serverSettings)
.AddSingleton(commandCooldowns)
.AddSingleton(topPlayersSettings)
.AddSingleton(serverOwnerSettings)
.AddSingleton(flagCarrierSettings);
.AddSingleton(flagCarrierSettings)
.AddSingleton(antiCBugSettings);

return services;
}
Expand Down
1 change: 1 addition & 0 deletions src/Host/Usings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
global using CTF.Application.Players.Accounts;
global using CTF.Application.Players.AFK;
global using CTF.Application.Players.Combos;
global using CTF.Application.Players.AntiCBug;
global using CTF.Application.Players.TopPlayers.Models;
global using CTF.Application.Teams.Flags;
global using CTF.Application.Teams.Flags.Systems;
Expand Down

0 comments on commit b8fb9d7

Please sign in to comment.