mirror of
https://github.com/daffyyyy/CS2-SimpleAdmin.git
synced 2026-09-27 20:17:04 +02:00
1.6.9c
- Added config variable to enable/disable checking for banned multiaccounts by ip `CheckMultiAccountsByIp` - Fixed css_speed after player hurt - Finally fixed vote kick (callvote) - Small fix for admins loading from database
This commit is contained in:
parent
2defb2fe14
commit
023e1a031b
12 changed files with 106 additions and 41 deletions
|
|
@ -123,7 +123,11 @@ internal class BanManager(Database.Database? database)
|
|||
|
||||
try
|
||||
{
|
||||
var sql = CS2_SimpleAdmin.Instance.Config.MultiServerMode ? """
|
||||
string sql;
|
||||
|
||||
if (CS2_SimpleAdmin.Instance.Config.OtherSettings.CheckMultiAccountsByIp)
|
||||
{
|
||||
sql = CS2_SimpleAdmin.Instance.Config.MultiServerMode ? """
|
||||
SELECT COALESCE((
|
||||
SELECT COUNT(*)
|
||||
FROM sa_bans
|
||||
|
|
@ -172,7 +176,36 @@ internal class BanManager(Database.Database? database)
|
|||
)
|
||||
), 0) AS TotalBanCount;
|
||||
""";
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = CS2_SimpleAdmin.Instance.Config.MultiServerMode ? """
|
||||
UPDATE sa_bans
|
||||
SET player_ip = CASE WHEN player_ip IS NULL THEN @PlayerIP ELSE player_ip END,
|
||||
player_name = CASE WHEN player_name IS NULL THEN @PlayerName ELSE player_name END
|
||||
WHERE (player_steamid = @PlayerSteamID OR player_ip = @PlayerIP)
|
||||
AND status = 'ACTIVE'
|
||||
AND (duration = 0 OR ends > @CurrentTime);
|
||||
|
||||
SELECT COUNT(*) FROM sa_bans
|
||||
WHERE (player_steamid = @PlayerSteamID OR player_ip = @PlayerIP)
|
||||
AND status = 'ACTIVE'
|
||||
AND (duration = 0 OR ends > @CurrentTime);
|
||||
""" : """
|
||||
UPDATE sa_bans
|
||||
SET player_ip = CASE WHEN player_ip IS NULL THEN @PlayerIP ELSE player_ip END,
|
||||
player_name = CASE WHEN player_name IS NULL THEN @PlayerName ELSE player_name END
|
||||
WHERE (player_steamid = @PlayerSteamID OR player_ip = @PlayerIP)
|
||||
AND status = 'ACTIVE'
|
||||
AND (duration = 0 OR ends > @CurrentTime) AND server_id = @ServerId;
|
||||
|
||||
SELECT COUNT(*) FROM sa_bans
|
||||
WHERE (player_steamid = @PlayerSteamID OR player_ip = @PlayerIP)
|
||||
AND status = 'ACTIVE'
|
||||
AND (duration = 0 OR ends > @CurrentTime) AND server_id = @ServerId;
|
||||
""";
|
||||
}
|
||||
|
||||
await using var connection = await database.GetConnectionAsync();
|
||||
|
||||
var parameters = new
|
||||
|
|
|
|||
|
|
@ -90,13 +90,12 @@ public class PermissionManager(Database.Database? database)
|
|||
))
|
||||
.ToList();
|
||||
|
||||
/*
|
||||
foreach (var player in groupedPlayers)
|
||||
{
|
||||
Console.WriteLine($"Player SteamID: {player.PlayerSteamId}, Name: {player.PlayerName}, Flags: {string.Join(", ", player.Flags)}, Immunity: {player.Immunity}, Ends: {player.Ends}");
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
// foreach (var player in groupedPlayers)
|
||||
// {
|
||||
// Console.WriteLine($"Player SteamID: {player.PlayerSteamId}, Name: {player.PlayerName}, Flags: {string.Join(", ", player.Flags)}, Immunity: {player.Immunity}, Ends: {player.Ends}");
|
||||
// }
|
||||
|
||||
List<(string, string, List<string>, int, DateTime?)> filteredFlagsWithImmunity = [];
|
||||
|
||||
// Add the grouped players to the list
|
||||
|
|
|
|||
|
|
@ -16,15 +16,26 @@ public class PlayerManager
|
|||
|
||||
public void LoadPlayerData(CCSPlayerController player)
|
||||
{
|
||||
if (player.IsBot || string.IsNullOrEmpty(player.IpAddress) || player.IpAddress.Contains("127.0.0.1")
|
||||
|| !player.UserId.HasValue)
|
||||
if (player.IsBot || string.IsNullOrEmpty(player.IpAddress) || player.IpAddress.Contains("127.0.0.1"))
|
||||
return;
|
||||
|
||||
if (!player.UserId.HasValue)
|
||||
{
|
||||
Helper.KickPlayer(player, NetworkDisconnectionReason.NETWORK_DISCONNECT_REJECT_INVALIDCONNECTION);
|
||||
return;
|
||||
}
|
||||
|
||||
var ipAddress = player.IpAddress?.Split(":")[0];
|
||||
|
||||
CS2_SimpleAdmin.PlayersInfo[player.UserId.Value] =
|
||||
new PlayerInfo(player.UserId.Value, player.Slot, new SteamID(player.SteamID), player.PlayerName, ipAddress);
|
||||
|
||||
// if (!player.UserId.HasValue)
|
||||
// {
|
||||
// Helper.KickPlayer(player, NetworkDisconnectionReason.NETWORK_DISCONNECT_REJECT_INVALIDCONNECTION);
|
||||
// return;
|
||||
// }
|
||||
|
||||
var userId = player.UserId.Value;
|
||||
|
||||
// Check if the player's IP or SteamID is in the bannedPlayers list
|
||||
|
|
@ -32,8 +43,7 @@ public class PlayerManager
|
|||
CS2_SimpleAdmin.BannedPlayers.Contains(player.SteamID.ToString()))
|
||||
{
|
||||
// Kick the player if banned
|
||||
if (player.UserId.HasValue)
|
||||
Helper.KickPlayer(player.UserId.Value, NetworkDisconnectionReason.NETWORK_DISCONNECT_REJECT_BANNED);
|
||||
Helper.KickPlayer(player.UserId.Value, NetworkDisconnectionReason.NETWORK_DISCONNECT_REJECT_BANNED);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -113,7 +123,7 @@ public class PlayerManager
|
|||
{
|
||||
var victim = Utilities.GetPlayerFromUserid(userId);
|
||||
|
||||
if (victim?.UserId == null) return;
|
||||
if (victim == null || !victim.UserId.HasValue) return;
|
||||
|
||||
if (CS2_SimpleAdmin.UnlockedCommands)
|
||||
Server.ExecuteCommand($"banid 1 {userId}");
|
||||
|
|
|
|||
|
|
@ -11,11 +11,11 @@ public class ServerManager
|
|||
|
||||
public void LoadServerData()
|
||||
{
|
||||
CS2_SimpleAdmin.Instance.AddTimer(2.0f, () =>
|
||||
CS2_SimpleAdmin.Instance.AddTimer(1.2f, () =>
|
||||
{
|
||||
if (CS2_SimpleAdmin.ServerLoaded || CS2_SimpleAdmin.ServerId != null || CS2_SimpleAdmin.Database == null) return;
|
||||
|
||||
if (_getIpTryCount > 16 && Helper.GetServerIp().StartsWith("0.0.0.0") || string.IsNullOrEmpty(Helper.GetServerIp()))
|
||||
if (_getIpTryCount > 32 && Helper.GetServerIp().StartsWith("0.0.0.0") || string.IsNullOrEmpty(Helper.GetServerIp()))
|
||||
{
|
||||
CS2_SimpleAdmin._logger?.LogError("Unable to load server data - can't fetch ip address!");
|
||||
return;
|
||||
|
|
@ -27,7 +27,7 @@ public class ServerManager
|
|||
{
|
||||
ipAddress = Helper.GetServerIp();
|
||||
|
||||
if (_getIpTryCount <= 16)
|
||||
if (_getIpTryCount <= 32)
|
||||
{
|
||||
_getIpTryCount++;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue