1354{
1356 if (!policy)
1358
1360 if (!maxPacketCounterAllowed)
1362
1363
1366 {
1369 }
1370
1371
1372 if (++packetCounter.
amountCounter <= maxPacketCounterAllowed)
1374
1376 {
1377 LOG_WARN(
"network",
"AntiDOS: Account {}, IP: {}, Ping: {}, Character: {}, flooding packet (opc: {} (0x{:X}), count: {})",
1380 }
1381
1383 {
1385 {
1388 break;
1389 }
1391 {
1394 std::string nameOrIp = "";
1395 switch (bm)
1396 {
1397 case 0:
1399 sBan->BanAccount(nameOrIp, std::to_string(duration),
"DOS (Packet Flooding/Spoofing",
"Server: AutoDOS");
1400 break;
1401 case 1:
1403 sBan->BanIP(nameOrIp, std::to_string(duration),
"DOS (Packet Flooding/Spoofing",
"Server: AutoDOS");
1404 break;
1405 }
1406
1407 LOG_INFO(
"network",
"AntiDOS: Player automatically banned for {} seconds.", duration);
1408 break;
1409 }
1411 {
1413 break;
1414 }
1415 default:
1416 break;
1417 }
1418
1420}
#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:327
@ CONFIG_PACKET_SPOOF_BANMODE
Definition WorldConfig.h:326
#define sWorldGlobals
Definition WorldGlobals.h:42
PacketThrottlingMap _PacketThrottlingMap
Definition WorldSession.h:1129
Policy
Definition WorldSession.h:1113
uint32 GetAccountId() const
Definition WorldSession.h:380
uint32 GetLatency() const
Definition WorldSession.h:521
std::string const & GetRemoteAddress()
Definition WorldSession.h:390
void KickPlayer(bool setKicked=true)
Definition WorldSession.h:419
std::string const & GetPlayerName() const
Definition WorldSession.cpp:210
Opcodes
List of Opcodes.
Definition Opcodes.h:30
OpcodeTable opcodeTable
Definition Opcodes.cpp:51
#define sWorld
Definition World.h:320
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:323
time_t lastReceiveTime
Definition WorldSession.h:324
uint16 amountCounter
Definition WorldSession.h:325