1434{
1436 if (!policy)
1438
1440 if (!maxPacketCounterAllowed)
1442
1443
1446 {
1449 }
1450
1451
1452 if (++packetCounter.
amountCounter <= maxPacketCounterAllowed)
1454
1456 {
1457 LOG_WARN(
"network",
"AntiDOS: Account {}, IP: {}, Ping: {}, Character: {}, flooding packet (opc: {} (0x{:X}), count: {})",
1460 }
1461
1463 {
1465 {
1468 break;
1469 }
1471 {
1474 std::string nameOrIp = "";
1475 switch (bm)
1476 {
1477 case 0:
1479 sBan->BanAccount(nameOrIp, std::to_string(duration),
"DOS (Packet Flooding/Spoofing",
"Server: AutoDOS");
1480 break;
1481 case 1:
1483 sBan->BanIP(nameOrIp, std::to_string(duration),
"DOS (Packet Flooding/Spoofing",
"Server: AutoDOS");
1484 break;
1485 }
1486
1487 LOG_INFO(
"network",
"AntiDOS: Player automatically banned for {} seconds.", duration);
1488 break;
1489 }
1491 {
1493 break;
1494 }
1495 default:
1496 break;
1497 }
1498
1500}
#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:345
@ CONFIG_PACKET_SPOOF_BANMODE
Definition WorldConfig.h:344
#define sWorldGlobals
Definition WorldGlobals.h:42
static bool GetName(uint32 accountId, std::string &name)
Definition AccountMgr.cpp:276
PacketThrottlingMap _PacketThrottlingMap
Definition WorldSession.h:1237
Policy
Definition WorldSession.h:1221
uint32 GetAccountId() const
Definition WorldSession.h:479
uint32 GetLatency() const
Definition WorldSession.h:627
std::string const & GetRemoteAddress()
Definition WorldSession.h:489
void KickPlayer(bool setKicked=true)
Definition WorldSession.h:528
std::string const & GetPlayerName() const
Definition WorldSession.cpp:262
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:402
time_t lastReceiveTime
Definition WorldSession.h:403
uint16 amountCounter
Definition WorldSession.h:404