1362{
1364 if (!policy)
1366
1368 if (!maxPacketCounterAllowed)
1370
1371
1374 {
1377 }
1378
1379
1380 if (++packetCounter.
amountCounter <= maxPacketCounterAllowed)
1382
1384 {
1385 LOG_WARN(
"network",
"AntiDOS: Account {}, IP: {}, Ping: {}, Character: {}, flooding packet (opc: {} (0x{:X}), count: {})",
1388 }
1389
1391 {
1393 {
1396 break;
1397 }
1399 {
1402 std::string nameOrIp = "";
1403 switch (bm)
1404 {
1405 case 0:
1407 sBan->BanAccount(nameOrIp, std::to_string(duration),
"DOS (Packet Flooding/Spoofing",
"Server: AutoDOS");
1408 break;
1409 case 1:
1411 sBan->BanIP(nameOrIp, std::to_string(duration),
"DOS (Packet Flooding/Spoofing",
"Server: AutoDOS");
1412 break;
1413 }
1414
1415 LOG_INFO(
"network",
"AntiDOS: Player automatically banned for {} seconds.", duration);
1416 break;
1417 }
1419 {
1421 break;
1422 }
1423 default:
1424 break;
1425 }
1426
1428}
#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:330
@ CONFIG_PACKET_SPOOF_BANMODE
Definition WorldConfig.h:329
#define sWorldGlobals
Definition WorldGlobals.h:42
static bool GetName(uint32 accountId, std::string &name)
Definition AccountMgr.cpp:276
PacketThrottlingMap _PacketThrottlingMap
Definition WorldSession.h:1201
Policy
Definition WorldSession.h:1185
uint32 GetAccountId() const
Definition WorldSession.h:453
uint32 GetLatency() const
Definition WorldSession.h:593
std::string const & GetRemoteAddress()
Definition WorldSession.h:463
void KickPlayer(bool setKicked=true)
Definition WorldSession.h:492
std::string const & GetPlayerName() const
Definition WorldSession.cpp:246
Opcodes
List of Opcodes.
Definition Opcodes.h:30
OpcodeTable opcodeTable
Definition Opcodes.cpp:51
#define sWorld
Definition World.h:317
Definition WorldGlobals.h:25
uint8 Policy
Definition WorldGlobals.h:26
uint16 MaxAllowedCount
Definition WorldGlobals.h:27
Definition WorldSession.h:377
time_t lastReceiveTime
Definition WorldSession.h:378
uint16 amountCounter
Definition WorldSession.h:379