TCP дає фільтру handshake, на який можна спертися. Half-open-зʼєднання очевидні. Погані джерела можна відкласти й забути.
UDP не дає фільтру нічого. Приходить один пакет, і фільтр за мікросекунди має вирішити — це ввід гравця чи частина флуду на 12 Mpps. Немає стану на рівні протоколу, на який можна спертися.
Що реально працює
Сигнатури під рушій. У кожного ігрового протоколу своя форма пакета — байти заголовка, структура payload, семантика послідовності. Generic «пропускати валідний UDP» — це не профіль.
Бюджети на джерело. Реальні гравці не шлють 50 000 pps. Атакувальники — так. Бюджети, що дивляться на packet rate, розкид payload і тайминг — а не лише на source IP — живуть довше.
Урахування міграції зʼєднань. Сучасні ігри роняють і переустановлюють сесії. Фільтри, що вважають це підозрілим, втрачають реальних гравців.
Що не працює
Captcha-челенджі. Геймплей у реальному часі не ставиться на паузу заради чекбокса.
Generic rate-limits. Вони зʼїдають легітимний burst-трафік під час великих командних боїв.