*Descriere:
Salut. Am gasit si eu asta pe la turci.
Va explic mai jos ce face de fapt.
Este un cod care verifica fiecare pachet primit, iar daca acesta invalid, acesta este blocat pentur un anumit timp pentru a nu permite incarcarea serverului.
Serverul ia primul byte (header-ul) si verifica daca este un header corect.
Daca nu exista in lista de pachete valide → este considerat "unknown header".
Daca un IP trimite prea multe pachete invalide → este banat temporar.
Ajuta impotriva:
- spam cu pachete stricate
- flood cu date random
- incercari de a crapa serverul cu pachete invalide
- boti prost facuti
Nu este cine stie ce protectie, dar e mai buna decat niciuna. Nu blocheaza botnet sau alte atacuri masive in totalitate, dar ajuta sa iti tina serverul in picioare cat de cat. Foarte util pentru flood packet si atacuri ddos mai mici.
*Poze / Video:
*Link download / Code:
Adaugam in service.h / CommonDefines.h:
Deschidem input.cpp si cautam:
Modificam asa:
Deschidem input_db.cpp si cautam:
Modificam asa:
Deschidem input_udp.cpp si cautam:
Modificam asa:
Salut. Am gasit si eu asta pe la turci.
Este un cod care verifica fiecare pachet primit, iar daca acesta invalid, acesta este blocat pentur un anumit timp pentru a nu permite incarcarea serverului.
Serverul ia primul byte (header-ul) si verifica daca este un header corect.
Daca nu exista in lista de pachete valide → este considerat "unknown header".
Daca un IP trimite prea multe pachete invalide → este banat temporar.
Ajuta impotriva:
- spam cu pachete stricate
- flood cu date random
- incercari de a crapa serverul cu pachete invalide
- boti prost facuti
Nu este cine stie ce protectie, dar e mai buna decat niciuna. Nu blocheaza botnet sau alte atacuri masive in totalitate, dar ajuta sa iti tina serverul in picioare cat de cat. Foarte util pentru flood packet si atacuri ddos mai mici.
*Poze / Video:
- 11-19-2025, 14-11-30.png (451.06 KiB) Vizualizat de 992 ori
*Link download / Code:
Adaugam in service.h / CommonDefines.h:
Cod: Selectaţi tot
#ifndef __INC_METIN_II_GAME_DEFINE_H__
#define __INC_METIN_II_GAME_DEFINE_H__
#include <map>
#include <string>
#include <time.h>
static std::map<std::string, int> g_unknownHeaderCount;
static std::map<std::string, time_t> g_unknownHeaderBan;
// IP ban and unknown header protection defines
#define ENABLE_UNKNOWN_HEADER_IP_BAN
#define UNKNOWN_HEADER_MAX_COUNT 5
#define UNKNOWN_HEADER_BAN_DURATION 600 // seconds
#endif // __INC_METIN_II_GAME_DEFINE_H__
Cod: Selectaţi tot
bool CInputProcessor::Process(LPDESC lpDesc, const void * c_pvOrig, int iBytes, int & r_iBytesProceed) Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Deschidem input_db.cpp si cautam:
Cod: Selectaţi tot
bool CInputDB::Process(LPDESC d, const void * orig, int bytes, int & r_iBytesProceed) Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Deschidem input_udp.cpp si cautam:
Cod: Selectaţi tot
bool CInputUDP::Process(LPDESC pDesc, const void * c_pvOrig, int iBytes, int & r_iBytesProceed) Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.


