1386{
1388 if (!policy)
1390
1392 if (!maxPacketCounterAllowed)
1394
1395
1398 {
1401 }
1402
1403
1404 if (++packetCounter.
amountCounter <= maxPacketCounterAllowed)
1406
1408 {
1409 LOG_WARN(
"network",
"AntiDOS: Account {}, IP: {}, Ping: {}, Character: {}, flooding packet (opc: {} (0x{:X}), count: {})",
1412 }
1413
1415 {
1417 {
1420 break;
1421 }
1423 {
1426 std::string nameOrIp = "";
1427 switch (bm)
1428 {
1429 case 0:
1431 sBan->BanAccount(nameOrIp, std::to_string(duration),
"DOS (Packet Flooding/Spoofing",
"Server: AutoDOS");
1432 break;
1433 case 1:
1435 sBan->BanIP(nameOrIp, std::to_string(duration),
"DOS (Packet Flooding/Spoofing",
"Server: AutoDOS");
1436 break;
1437 }
1438
1439 LOG_INFO(
"network",
"AntiDOS: Player automatically banned for {} seconds.", duration);
1440 break;
1441 }
1443 {
1445 break;
1446 }
1447 default:
1448 break;
1449 }
1450
1452}
#define sBan
Definition BanMgr.h:48
std::uint32_t uint32
Definition Define.h:107
#define LOG_INFO(filterType__,...)
Definition Log.h:166
#define LOG_WARN(filterType__,...)
Definition Log.h:162
@ CONFIG_PACKET_SPOOF_BANDURATION
Definition WorldConfig.h:331
@ CONFIG_PACKET_SPOOF_BANMODE
Definition WorldConfig.h:330
#define sWorldGlobals
Definition WorldGlobals.h:42
PacketThrottlingMap _PacketThrottlingMap
Definition WorldSession.h:1183
Policy
Definition WorldSession.h:1167
uint32 GetAccountId() const
Definition WorldSession.h:434
uint32 GetLatency() const
Definition WorldSession.h:574
std::string const & GetRemoteAddress()
Definition WorldSession.h:444
void KickPlayer(bool setKicked=true)
Definition WorldSession.h:473
std::string const & GetPlayerName() const
Definition WorldSession.cpp:242
Opcodes
List of Opcodes.
Definition Opcodes.h:30
OpcodeTable opcodeTable
Definition Opcodes.cpp:51
#define sWorld
Definition World.h:316
bool GetName(uint32 accountId, std::string &name)
Definition AccountMgr.cpp:264
Definition WorldGlobals.h:25
uint8 Policy
Definition WorldGlobals.h:26
uint16 MaxAllowedCount
Definition WorldGlobals.h:27
Definition WorldSession.h:368
time_t lastReceiveTime
Definition WorldSession.h:369
uint16 amountCounter
Definition WorldSession.h:370