1445{
1447 if (!policy)
1449
1451 if (!maxPacketCounterAllowed)
1453
1454
1457 {
1460 }
1461
1462
1463 if (++packetCounter.
amountCounter <= maxPacketCounterAllowed)
1465
1467 {
1468 LOG_WARN(
"network",
"AntiDOS: Account {}, IP: {}, Ping: {}, Character: {}, flooding packet (opc: {} (0x{:X}), count: {})",
1471 }
1472
1474 {
1476 {
1479 break;
1480 }
1482 {
1485 std::string nameOrIp = "";
1486 switch (bm)
1487 {
1488 case 0:
1490 sBan->BanAccount(nameOrIp, std::to_string(duration),
"DOS (Packet Flooding/Spoofing",
"Server: AutoDOS");
1491 break;
1492 case 1:
1494 sBan->BanIP(nameOrIp, std::to_string(duration),
"DOS (Packet Flooding/Spoofing",
"Server: AutoDOS");
1495 break;
1496 }
1497
1498 LOG_INFO(
"network",
"AntiDOS: Player automatically banned for {} seconds.", duration);
1499 break;
1500 }
1502 {
1504 break;
1505 }
1506 default:
1507 break;
1508 }
1509
1511}
#define sBan
Definition BanMgr.h:48
std::uint32_t uint32
Definition Define.h:107
#define LOG_INFO(filterType__,...)
Definition Log.h:153
#define LOG_WARN(filterType__,...)
Definition Log.h:149
@ CONFIG_PACKET_SPOOF_BANDURATION
Definition WorldConfig.h:344
@ CONFIG_PACKET_SPOOF_BANMODE
Definition WorldConfig.h:343
#define sWorldGlobals
Definition WorldGlobals.h:42
static bool GetName(uint32 accountId, std::string &name)
Definition AccountMgr.cpp:276
PacketThrottlingMap _PacketThrottlingMap
Definition WorldSession.h:1264
Policy
Definition WorldSession.h:1248
uint32 GetAccountId() const
Definition WorldSession.h:502
uint32 GetLatency() const
Definition WorldSession.h:651
std::string const & GetRemoteAddress()
Definition WorldSession.h:512
void KickPlayer(bool setKicked=true)
Definition WorldSession.h:551
std::string const & GetPlayerName() const
Definition WorldSession.cpp:267
Opcodes
List of Opcodes.
Definition Opcodes.h:30
OpcodeTable opcodeTable
Definition Opcodes.cpp:51
#define sWorld
Definition World.h:318
Definition WorldGlobals.h:25
uint8 Policy
Definition WorldGlobals.h:26
uint16 MaxAllowedCount
Definition WorldGlobals.h:27
Definition WorldSession.h:423
time_t lastReceiveTime
Definition WorldSession.h:424
uint16 amountCounter
Definition WorldSession.h:425