Защита RedM-сервера от DDoS-атак
Какие порты нужны RedM-серверу на самом деле, как защитить HTTP-эндпоинты FXServer, txAdmin и 32 слота, чем VORP и RSGCore отличаются от ESX, и с какого объёма атаки помогает только фильтрация в сети перед сервером.
RedM-сервер, который вечером пропадает посреди сессии и через десять минут появляется снова, редко имеет проблему с железом. Обычно идёт атака на порт 30120, и идёт она ровно тогда, когда онлайн больше всего игроков. В этой статье разобрано, как защитить RedM-сервер от DDoS-атак: сначала то, что вы можете закрыть сами и без дополнительных расходов, затем физическая граница этих мер, и в конце то, что должно происходить в сети перед сервером, когда атака больше вашего канала.
Все указания относятся к FXServer с gamename rdr3 под Debian 12, Debian 13, Ubuntu 22.04 LTS или Ubuntu 24.04 LTS. Команды написаны для root, если вы работаете под обычным пользователем, добавляйте перед каждой командой sudo. RedM — это модификация Red Dead Redemption 2 от Cfx.re и родственный проект FiveM. Оба работают на одной и той же серверной программе, поэтому часть сетевой техники действительно одинакова. Там, где это так, здесь стоит одно предложение, а подробный разбор лежит в статье Защита FiveM-сервера от DDoS-атак. Всё остальное в этом тексте относится именно к RedM.
Если атака идёт прямо сейчас: ничего не меняйте в server.cfg и не перезагружайте сервер. Сначала сохраните измерения (см. раздел «Собирать измерения»), после атаки их уже не будет.
Почему RedM-серверы так часто становятся целью DDoS-атак
RedM-сервер — более выгодная цель, чем можно предположить по числу игроков. Причина именно в небольшом размере сцены. В сентябре 2026 года публичные трекеры списков серверов насчитывали около 2 000 активных RedM-серверов примерно с 12 400 одновременными игроками против примерно 39 000 FiveM-серверов примерно с 325 000 игроками. Тот, кто кладёт один сервер из 2 000 RedM-серверов, убирает из сети заметно большую долю всей сцены, чем тот, кто попадает по одному из 39 000 FiveM-серверов. Для атакующего, который хочет навредить конкурирующему проекту, рычаг тем самым несравнимо больше.
К этому добавляется структура сообществ. RedM-ролевая игра живёт фиксированными сессиями в фиксированное время, часто с записью и подтверждением персонажа. Сбой в восемь вечера бьёт не по каким-то игрокам вообще, а ровно по тем, кто записался на этот вечер. Многие проекты к тому же существуют как хобби с небольшим бюджетом, держатся на одном-единственном недорогом сервере и не имеют второй площадки, на которую можно было бы переключиться. Публично задокументированные случаи из RedM-сцены описывают серии атак длиной в месяцы и почти с ежедневной частотой, которые били по игровому серверу и отдельному голосовому серверу одновременно.
Технически к этому добавляется то, что игровой трафик идёт по UDP. UDP — это транспортный протокол без установления соединения: нет процедуры подключения, которой сервер мог бы потребовать, а адреса отправителей легко подделать. Значит, атакующему не нужно ни заходить на ваш RedM-сервер, ни корректно с ним общаться, чтобы создать нагрузку. Что такое DDoS-атака и как она устроена, объясняет статья Что такое DDoS-атака?.
Порты, о которых на самом деле идёт речь
По умолчанию RedM-сервер привязывается к одному-единственному порту, причём сразу на обоих протоколах. В server.cfg это выглядит так:
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
set gamename rdr3
sv_enforceGameBuild 1491
sv_licenseKey "cfxk_..."
Строка set gamename rdr3 — единственная, которая отличает RedM-сервер от FiveM-сервера. Без неё тот же самый FXServer регистрируется как GTA-V-сервер, и RedM-клиент к нему не подключится. У RedM нет отдельного query-порта и отдельного RCON-порта: запрос состояния сервера, установление соединения, игровой трафик и RCON идут через те же две записи на 30120. Вот сухие цифры:
| Показатель | Значение у RedM |
|---|---|
| Игровой трафик | 30120 UDP |
| Установление соединения, запрос состояния, HTTP-эндпоинты, RCON | 30120 TCP |
| Собственный query-порт | нет, запрос идёт на 30120 TCP |
| Собственный RCON-порт | нет, RCON лежит на том же открытом порту |
| Панель txAdmin | 40120 TCP |
| База данных для VORP, RSGCore и RedEM:RP | 3306 TCP, место ей на 127.0.0.1 |
| Обязательная строка в server.cfg | set gamename rdr3 |
| Слоты без OneSync | 32 |
| Слоты с OneSync | 48, с Element Club до 1 024 |
| Сборки игры для sv_enforceGameBuild | 1311, 1355, 1436, 1491 |
| Лицензионный ключ | portal.cfx.re, формат cfxk_ длиной 33 символа |
| Типичный объём атаки на ролевые проекты | от 5 до 50 Гбит/с |
| Пакетов в секунду в 1 Гбит/с при 64 байтах | около 1,49 миллиона |
Из четырёх названных портов в открытую сеть относятся ровно два: 30120 TCP и 30120 UDP. Порту 40120 и порту 3306 там места нет, а SSH на порту 22 стоит ограничить собственными адресами. Это самая частая ошибка на RedM-серверах, которой можно было бы избежать: многие проекты стартуют по готовому рецепту txAdmin и после этого ни разу не проверяют, что сервер предлагает наружу.
Что вы можете сделать сами, прежде чем тратить деньги
Этот раздел самый длинный, и так задумано. Аккуратно настроенный RedM-сервер выдерживает небольшие и средние атаки собственными силами, независимо от того, у какого провайдера он стоит. Порядок выбран намеренно: сначала вы измеряете, потом закрываете и только после этого ограничиваете.
1. Инвентаризация: что вообще слушает сеть?
Прежде чем написать хотя бы одно правило, посмотрите, что ваш сервер предлагает наружу. Не гадайте, а смотрите:
ss -lntup
Интерес представляет колонка с локальным адресом. 0.0.0.0:30120 и [::]:30120 означают «доступен из всего интернета», 127.0.0.1:3306 означает «только локально» и правила файрвола не требует. Рядом с FXServer на RedM-сервере регулярно обнаруживаются txAdmin на 40120, MariaDB на 3306, веб-сервер для сайта проекта и иногда голосовая служба. Взгляд атакующего даёт скан портов снаружи:
nmap -Pn -p- --min-rate 1000 ВАШ.IP.АДРЕС.СЕРВЕРА
2. Оставьте открытыми только 30120 TCP и UDP
Для RedM наружу достаточно двух разрешений, всё остальное либо ограничивается, либо вообще не публикуется. В UFW это выглядит так, причём именно в таком порядке, чтобы не закрыть доступ самому себе:
ufw allow 22/tcp comment 'SSH'
ufw allow 30120/tcp comment 'RedM'
ufw allow 30120/udp comment 'RedM'
ufw allow from 203.0.113.10 to any port 40120 proto tcp comment 'txAdmin'
ufw default deny incoming
ufw default allow outgoing
ufw --force enable
ufw status verbose
Замените 203.0.113.10 на свой собственный адрес. При подключении с меняющимся адресом это неудобно, более подходящий путь описан в следующем разделе про txAdmin. Полная инструкция вместе с запасным путём есть в статье Настройка файрвола UFW без потери доступа.
База данных не должна попадать в открытую сеть ни при каких обстоятельствах. VORP, RSGCore и RedEM:RP все требуют MariaDB или MySQL, обычно через oxmysql со строкой подключения в server.cfg. Это соединение идёт локально, значит, порт не обязан быть доступен снаружи. Проверьте в /etc/mysql/mariadb.conf.d/50-server.cnf, что там стоит:
bind-address = 127.0.0.1
3. Защитите HTTP-эндпоинты FXServer
На TCP-части порта 30120 FXServer отвечает на HTTP-запросы, и для этого никому не нужно запускать Red Dead Redemption 2. Посмотрите, что ваш RedM-сервер там отдаёт:
curl -s http://127.0.0.1:30120/info.json | head -c 600
curl -s http://127.0.0.1:30120/players.json | head -c 600
curl -s http://127.0.0.1:30120/dynamic.json
/players.json перечисляет подключённых игроков вместе с их идентификаторами, /info.json отдаёт конфигурацию сервера и загруженные ресурсы, /dynamic.json текущую занятость. Именно эти три эндпоинта — задокументированный путь атаки уровня 7 против FiveM- и RedM-серверов: они доступны без авторизации, их можно опрашивать сколько угодно, каждый запрос стоит вашему серверу работы, а содержимое подсказывает атакующему, когда атака окупится. Две контрмеры не стоят ничего. Во-первых, сетевым адресам игроков в ответе не место, и для этого достаточно одной строки в server.cfg:
sv_endpointPrivacy true
Эта настройка скрывает IP-адреса ваших игроков в публичных ответах сервера. Во-вторых, если ваш Discord-бот или сайт проекта показывает число игроков онлайн, не опрашивайте эндпоинт из браузера посетителя, а кэшируйте результат через фиксированные промежутки. Тогда популярная страница статуса создаёт один запрос на интервал вместо одного на посетителя. В маленькой сцене вроде RedM это весит вдвойне, потому что один и тот же бот со статусом сервера может быть подключён сразу в нескольких Discord-серверах.
4. Уберите txAdmin на порту 40120 из открытой сети
txAdmin — это интерфейс управления, который входит в сборку FXServer для FiveM и RedM, и по умолчанию он слушает 40120 TCP. За ним стоит полный доступ к вашему серверу: перезапуски, список банов, база игроков, управление ресурсами. Если постоянного IP-адреса для разрешающего правила нет, оставьте порт снаружи закрытым и ходите на него через локальную переадресацию порта по SSH, после чего открывайте в браузере http://127.0.0.1:40120:
ssh -N -L 40120:127.0.0.1:40120 root@ВАШ.IP.АДРЕС.СЕРВЕРА
Тот, кто оставляет txAdmin открытым наружу, получает две проблемы сразу: форму входа, против которой можно гнать флуд попыток авторизации, и службу, которая выполняет работу на каждый запрос, хотя к игре отношения не имеет. В сомнительном случае сразу привяжите txAdmin локально, заставив службу слушать только 127.0.0.1.
5. Ограничьте число соединений и интенсивность пакетов на один адрес источника
Против небольших атак и неаккуратных ботов помогает верхний предел на каждый адрес источника. Оба правила относятся к 30120, то есть к обоим протоколам игры:
iptables -I INPUT -p tcp --dport 30120 --syn -m connlimit --connlimit-above 8 --connlimit-mask 32 -j DROP
iptables -I INPUT -p udp --dport 30120 -m hashlimit --hashlimit-name redm_udp --hashlimit-mode srcip --hashlimit-above 500/sec --hashlimit-burst 750 -j DROP
Первое правило отбрасывает новые TCP-соединения, как только с одного адреса их одновременно открыто больше восьми, второе отбрасывает UDP-пакеты, если из того же источника устойчиво идёт больше 500 пакетов в секунду. Стартовые значения здесь немного ниже, чем у FiveM-сервера, потому что RedM-сервер с 32 слотами просто создаёт меньше легитимных соединений на один адрес. Но это стартовые значения, а не истина в последней инстанции: полный ролевой вечер создаёт заметно больше пакетов, чем пустой сервер, а слишком жёсткая настройка выбрасывает ваших же игроков. Сначала померьте неделю в обычном режиме.
Два замечания к этому. Просто добавленные правила iptables после перезагрузки исчезают, в Debian и Ubuntu их сохраняют так:
apt-get install -y iptables-persistent
netfilter-persistent save
А при работе с UFW такие правила помещают в /etc/ufw/before.rules, иначе они пропадут при следующем ufw reload. Ещё одно часто упускаемое узкое место — отслеживание соединений в ядре: когда таблица заполняется, сервер отбрасывает и легитимные пакеты, а в логе появляется «nf_conntrack: table full». Текущее значение и верхний предел показывает:
sysctl net.netfilter.nf_conntrack_count net.netfilter.nf_conntrack_max
6. Защитите 32 слота от флуда подключений
RedM-сервер без OneSync имеет ровно 32 слота. С OneSync их 48, а сверх того нужна подписка Element Club на количество мест до 1 024. Эта цифра имеет прямое отношение к безопасности, потому что она и есть верхний предел, который атакующему нужно заполнить: тот, кто держит открытыми 32 попытки подключения одновременно, занимает стандартный сервер целиком, и при этом ни один игрок в игру реально не попадает. У FiveM-проекта на 128 мест тот же порог вчетверо выше.
Одно специфичное для RedM преимущество это отчасти уравновешивает: RedM требует настоящую копию Red Dead Redemption 2, купленную хоть в Steam, хоть в Epic Games, хоть у Rockstar, плюс лаунчер Rockstar. Значит, флуд подключений с тысячами одноразовых аккаунтов, обычный для бесплатных игр, здесь стоит реальных денег. Из-за этого атаки смещаются на сетевой уровень и на HTTP-эндпоинты, где копия игры не нужна.
Против всего, что идёт обычным путём подключения, белый список всё равно работает. Реализуют его на стороне сервера в событии playerConnecting: там вы придерживаете подключение функциями deferrals, проверяете идентификатор и только после этого пропускаете игрока. К этому добавляются строгая проверка аккаунта и реалистичный предел числа игроков:
sv_authMaxVariance 1
sv_authMinTrust 5
sv_maxclients 32
sv_authMaxVariance принимает значения от 1 до 5 и задаёт, насколько сильно идентификатор игрока у одного провайдера аккаунтов может меняться; 1 — самая строгая настройка. sv_authMinTrust тоже идёт от 1 до 5 и описывает, насколько маловероятной должна быть поддельная личность; здесь самое строгое значение 5. Пароль RCON задавайте только тогда, когда RCON вам действительно нужен, ведь этот доступ висит на том же открытом порту 30120. И одно нужно понимать чётко: белый список защищает вашу игровую логику, а не ваш канал. Атакующему, который заливает сервер трафиком, подключаться вообще не нужно. Его пакеты будут отклонены, но прийти они всё равно успели, и в этом вся суть.
7. Правильно оценивайте запись в списке серверов RedM
Здесь честность полезнее, чем выдавать желаемое за действительное: сохранить IP-адрес в тайне не получится. RedM использует ту же инфраструктуру мастер-серверов Cfx.re, что и FiveM, и запись в списке содержит в поле connectEndPoints конечную точку подключения в открытом виде. Через публичный интерфейс на servers-frontend.fivem.net к любому коду cfx.re можно запросить соответствующий адрес, для RedM точно так же, как для FiveM. Тот, кому публичная запись вообще не нужна, потому что проект живёт исключительно через Discord и прямое подключение, может вести сервер как частный строкой sv_master1 "": тогда через список серверов подключиться к нему нельзя. Правда, это стоит всей видимости для новых игроков, а в сцене из 2 000 серверов видимость и есть настоящий двигатель роста.
Эффективнее две привычки. Нигде не публикуйте сырой IP-адрес сами: ни в Discord-канале, ни на сайте проекта. И подключайте игроков через имя хоста, чтобы в критической ситуации можно было сменить адрес, не ломая все ссылки. Классическая ловушка здесь — старые DNS-записи: забытая A-запись на прежний адрес обесценивает любую смену.
8. Проверяйте события VORP, RSGCore и RedEM на стороне сервера
Многие сбои, о которых сообщают как о DDoS-атаке, восходят к одному-единственному скрипту. Ресурсы RedM общаются через сетевые события, и событие, которое сервер выполняет без проверки, — это открытая дверь: тот, кто со стороны клиента отправит TriggerServerEvent с произвольными значениями, может нарисовать себе доллары, заспавнить лошадей или в цикле запускать запросы к базе данных, пока сервер не встанет. Это одинаково касается всех трёх распространённых фреймворков: VORP Core, у которого с 2020 года самая большая база скриптов, RSGCore и более старого RedEM:RP.
Особенно уязвимы ресурсы инвентаря и персонажей, потому что при каждом вызове они пишут в базу данных. Цикл событий, который десять раз в секунду сохраняет состояние инвентаря, нагружает RedM-сервер сильнее иного пакетного флуда, и приходит он изнутри, где файрвол не работает.
Три правила отсекают большую часть этого. Через RegisterNetEvent регистрируйте исключительно те события, которые действительно должны приходить от клиента. Никогда не доверяйте значениям, которые присылает клиент, а определяйте игрока на стороне сервера через source. И ограничивайте, как часто игрок может вызывать одно и то же событие, особенно там, где идёт обращение к базе. Если сервер подтормаживает, а канал при этом спокоен, команда resmon 1 в консоли клиента покажет процессорное время по каждому ресурсу, и виновник обычно стоит в самом верху.
9. Собирать измерения до того, как они понадобятся
Самый важный шаг — тот, который почти никто не делает заранее: собрать базу для сравнения, пока всё работает нормально. Без нормального значения вы после инцидента не скажете, много ли это, 40 000 пакетов в секунду, или это просто хорошо посещаемый вечер вторника. С apt-get install -y vnstat sysstat измерение идёт постоянно в фоне. Во время инцидента хватает четырёх команд: интенсивность пакетов в секунду, доля отброшенных пакетов на интерфейсе, сообщения ядра и короткая выборка трафика.
sar -n DEV 1 10
ip -s link show eth0
dmesg -T | tail -50
tcpdump -ni eth0 port 30120 -c 200 -q
Для tcpdump правило одно: всегда ограничивайте объём через -c, ведь захват трафика под полной нагрузкой дополнительно нагружает и без того перегруженный сервер. Обратите внимание ещё и на то, лежит ли нагрузка на UDP- или на TCP-части порта 30120. Нагрузка по UDP указывает на пакетный флуд против игрового трафика, нагрузка по TCP указывает на флуд против HTTP-эндпоинтов, и меры против них нужны разные. Как разобрать полученные значения, описано в статье Как определить DDoS-атаку на сервере.
Где эти меры заканчиваются
Теперь та часть, которую не решит ни один server.cfg. Все описанные выше меры работают на вашем сервере, то есть в конце канала. Правило файрвола принимает решение о пакете, который уже прошёл по кабелю. Вы можете его отбросить, но не можете сделать неотправленным.
Давайте посчитаем. Типовой игровой сервер подключён на 1 Гбит/с, это 125 мегабайт в секунду, и канал заполнен, как только кто-то отправит больше. Атаки на ролевые проекты обычно лежат в диапазоне от 5 до 50 Гбит/с, то есть от пятикратного до пятидесятикратного объёма вашего канала. Насколько хорошо написано ваше правило iptables за этим каналом, роли уже не играет: пакеты ваших игроков не доходят ещё раньше.
Вторая величина — интенсивность пакетов, и упирается в неё обычно раньше, чем в полосу. При маленьких пакетах по 64 байта в канал на 1 Гбит/с помещается около 1,49 миллиона пакетов в секунду. Обычное серверное ядро в зависимости от CPU и сетевой карты обрабатывает несколько сотен тысяч из них, а дальше начинает отбрасывать. Значит, атака, которая не заполняет ваш канал даже на треть, всё равно способна положить ваш RedM-сервер, потому что процессорное время уходит на само отбрасывание. Владельцы серверов описывают это словами «загрузка ведь была совсем не высокой, а всё равно всё легло». Именно такие лаг-спайки без видимой нагрузки на сервер и есть типичная картина атаки на интенсивность пакетов.
Чтобы понимать, какие порядки величин встречаются на практике: на серверах KernelHost были отфильтрованы, среди прочего, атака мощностью более 473,4 Гбит/с при более чем 41,5 миллиона пакетов в секунду на голосовой сервер и UDP-flood мощностью более 112,2 Гбит/с на игровой сервер. Локальной настройки против такого не существует. Объёмные атаки должны заканчиваться в сети перед сервером.
Чем RedM отличается от FiveM
Короткий ответ: сетевая техника идентична, окружение нет. Оба работают на одном и том же FXServer, оба используют 30120 TCP и UDP, обоими управляют через txAdmin на 40120. Всё, что написано выше про порты, интенсивность и эндпоинты, относится к обоим. Различаются условия вокруг, и именно они решают, насколько быстро атака даёт эффект:
| Признак | RedM | FiveM |
|---|---|---|
| Базовая игра | Red Dead Redemption 2 | Grand Theft Auto V |
| Обязательная строка в server.cfg | set gamename rdr3 | нет, без указания FXServer работает как GTA-V-сервер |
| Игровой порт | 30120 TCP и UDP | 30120 TCP и UDP |
| Панель | txAdmin на 40120 TCP | txAdmin на 40120 TCP |
| Распространённые фреймворки | VORP Core, RSGCore, RedEM:RP | ESX, QBCore |
| Слоты без OneSync | 32 | 32 |
| Игроков одновременно в зоне видимости | ограничено 32, открытый вопрос у Cfx.re | заметно больше |
| Размер сцены в сентябре 2026 года | около 2 000 серверов, около 12 400 игроков | около 39 000 серверов, около 325 000 игроков |
| Стоимость одноразового аккаунта | полная цена Red Dead Redemption 2 | полная цена Grand Theft Auto V |
| Сборки игры | 1311, 1355, 1436, 1491 | собственные сборки GTA V |
Три пункта из этой таблицы решают дело для защиты. Во-первых, меньшая сцена делает каждый отдельный RedM-сервер более ценной целью, потому что сбой затрагивает большую долю игроков. Во-вторых, стандартный предел в 32 слота снижает порог, с которого флуд подключений закрывает сервер. И в-третьих, готовых рецептов защиты для RedM в сети меньше, чем для FiveM, поэтому многие проекты работают на неизменённой стандартной конфигурации. Защита та же самая, исходное состояние хуже.
Что KernelHost этому противопоставляет
Постоянная защита, которая включена в каждый сервер
Защита от DDoS в KernelHost построена в два уровня и активна постоянно, вам не нужно ничего включать, заказывать или настраивать:
- Уровень 1: 17 Тбит/с ёмкости mitigation в глобальной scrubbing-сети. Объёмные атаки вычищаются близко к источнику, ещё до того как они дойдут до дата-центра.
- Уровень 2: фильтрация Arbor в реальном времени на 3,2 Тбит/с во Франкфурте-на-Майне. Непосредственно перед сервером распознаются и отбрасываются схемы, характерные для конкретных протоколов, пакет за пакетом.
Решают два свойства. Защита работает постоянно и не должна сначала отреагировать на атаку, поэтому нет тех первых минут, когда RedM-сервера нет в сети. И null-routing не применяется: ваш IP-адрес остаётся в сети, отбрасываются только вредоносные пакеты. Тот, кто убирает IP-адрес из сети, добивается для вас того же результата, что и атакующий. Место фильтрации — Франкфурт-на-Майне. Какие игры и протоколы покрыты, перечисляет статья Защита игровых серверов от DDoS в реальном времени.
Advanced DDoS Protection для проектов под постоянным обстрелом
Некоторые проекты атакуют не время от времени, а прицельно и неделями. Для них есть Advanced DDoS Protection от 50,00 € в месяц, по модели PrePaid и без минимального срока. Разница не в большей ёмкости, а в контроле:
- Выделенный защищённый IP-адрес из франкфуртского ядра сети, на который ваш сервер переводится внутри нашей сети. С вашей стороны ничего перестраивать не нужно.
- Самостоятельно управляемые правила защиты по портам и протоколам в личном кабинете: вы отдельно задаёте, что разрешено на 30120 UDP и что на 30120 TCP, и тикет для этого писать не нужно. Именно у RedM такое разделение полезно, потому что игровой трафик и HTTP-эндпоинты лежат на одном номере порта и имеют совершенно разные схемы.
- Изменения вступают в силу в реальном времени, поэтому подстраивать их можно прямо во время идущей атаки.
- Профиль защиты под конкретное приложение. Для Cfx.re-серверов на 30120 есть подходящий профиль, как и для модифицированных и собственных приложений на любых портах TCP или UDP.
И то и другое относится к серверам, которые стоят в KernelHost. Если ваш RedM-проект сейчас работает где-то ещё и его регулярно выбивают из сети, рекомендация — это переезд, а не дополнительный продукт.
Сравнение двух уровней
| Характеристика | Включённая постоянная защита от DDoS | Advanced DDoS Protection |
|---|---|---|
| Цена | входит в каждый серверный тариф без доплаты | от 50,00 € в месяц, PrePaid |
| Ёмкость фильтрации | 17 Тбит/с глобального scrubbing плюс фильтрация Arbor в реальном времени на 3,2 Тбит/с во Франкфурте-на-Майне | та же двухуровневая фильтрация |
| IP-адрес | IP-адрес вашего сервера | дополнительный выделенный защищённый IP |
| Набор правил | автоматические профили, настраивать ничего не нужно | собственные правила по портам и протоколам в личном кабинете |
| Изменения | применяются автоматически | вступают в силу в реальном времени, в том числе во время атаки |
| Разделение 30120 TCP и 30120 UDP | автоматически по схеме трафика | настраивается отдельно по каждому протоколу |
| Null-routing | нет | нет |
| Срок | привязан к серверному тарифу | PrePaid, без минимального срока, без срока расторжения, без платы за подключение |
Большинству RedM-проектов хватает включённой постоянной защиты вместе с аккуратной настройкой сервера. Advanced DDoS Protection — это ответ на ситуацию, когда кто-то воспринимает происходящее лично.
Частые ошибки и решения
«Мой сервер не появляется в списке серверов RedM, я подозреваю атаку»: сначала проверьте конфигурацию. Если нет set gamename rdr3, FXServer регистрируется как GTA-V-сервер и в списке RedM не появляется. Если лицензионный ключ из portal.cfx.re отсутствует или неверен, записи тоже не будет. Атака выглядит иначе: запись остаётся на месте, а подключение не проходит.
«Сотни игроков получают ошибку при входе, похоже на флуд»: чаще всего это проблема со сборкой игры. Если sv_enforceGameBuild не совпадает с тем, чего ждут ваши ресурсы, клиент сообщает «server specified an invalid game enforcement». Поставьте значение, которого требует ваш фреймворк, обычно 1436 или 1491, и полностью перезапустите сервер.
«Я сменил IP-адрес и через два часа снова был офлайн»: новый адрес атакующий получил из того же источника, что и старый, обычно из записи в списке серверов, от Discord-бота или из старой DNS-записи. Смена адреса даёт время, но не решает проблему.
«Мои правила iptables не срабатывают»: частых причин три. Правила стоят позади цепочек UFW, и дело до них не доходит. Либо они пропали после последней перезагрузки (тогда помогут netfilter-persistent save или запись в /etc/ufw/before.rules). Либо атака объёмная, и правило работает корректно, только канал уже забит. Проверьте командой iptables -L INPUT -n -v, растут ли счётчики совпадений. Если они остаются на нуле, трафик до правила не доходит.
«Сервер работает, но у всех игроков резиновый эффект»: чаще это скрипт, а не атака. Сначала посмотрите через resmon 1, не съедает ли процессорное время какой-то ресурс, и проверьте ресурсы инвентаря и персонажей вашего фреймворка. Если sar -n DEV 1 10 не показывает ничего необычного, DDoS-атаки не было.
«txAdmin показывает сотни неудачных попыток подключения»: это флуд подключений, и бьёт он по игровой логике, а не по каналу. Против него работают белый список, проверка аккаунта через sv_authMinTrust и предел числа соединений на один адрес источника.
«Мой прежний провайдер заблокировал мой IP-адрес»: это и есть null-routing. Так провайдер защищает собственную сеть, а для вас результат ничем не отличается от успешной атаки, обычно ещё на несколько часов после неё. Если сомневаетесь, спросите напрямую: трафик фильтруют или адрес уводят в null-routing. Ответ определяет вашу доступность сильнее, чем любые характеристики железа.
«В tcpdump я не вижу ничего подозрительного»: если трафик отфильтрован ещё в сети перед сервером, то до самого сервера, как и ожидается, ничего не доходит. При работающей фильтрации это нормальная картина. Верно и обратное: при насыщенном канале до вас может не дойти даже та SSH-сессия, из которой вы собирались снимать измерения. Тогда используйте VNC-консоль в личном кабинете, она работает независимо от сети гостевой системы.
Коротко о главном
- RedM-серверу нужны ровно два открытых порта: 30120 TCP и 30120 UDP, заданные через
endpoint_add_tcpиendpoint_add_udp. Отдельного query-порта или RCON-порта у него нет. - txAdmin на 40120 TCP и база данных на 3306 TCP в открытой сети не нужны: им место на вашем собственном адресе и на 127.0.0.1 соответственно.
sv_endpointPrivacy trueубирает IP-адреса игроков из публичных ответов, а кэшированный статус сервера снимает нагрузку с/players.json, задокументированного пути атаки уровня 7 против Cfx.re-серверов.- RedM-сервер без OneSync имеет 32 слота, с OneSync 48, а с Element Club до 1 024. Чем меньше слотов, тем дешевле обходится флуд подключений и тем важнее белый список и проверка аккаунта.
- RedM и FiveM работают на одном и том же FXServer и различаются единственной строкой
set gamename rdr3. Поэтому сетевая защита идентична, а окружение нет: около 2 000 RedM-серверов против примерно 39 000 FiveM-серверов делают каждый отдельный RedM-проект более ценной целью. - Локальные правила файрвола заканчиваются там, где канал полон: 1 Гбит/с — это 125 мегабайт в секунду, и при размере пакета 64 байта туда помещается около 1,49 миллиона пакетов в секунду. Всё, что больше, должно заканчиваться в сети перед сервером.
- В KernelHost двухуровневая постоянная защита входит в каждый серверный тариф, активна с момента развёртывания и работает без null-routing. Тот, кто хочет управлять фильтрацией сам, получает с Advanced DDoS Protection от 50,00 € в месяц выделенный защищённый IP-адрес и собственные правила по портам и протоколам.
Если ваш RedM-проект уже работает в KernelHost, фильтрация активна, и делать для этого ничего не нужно. Если вы всё же замечаете странности, откройте тикет в поддержку, чтобы правила фильтрации подстроили под ваш IP-адрес. Во время идущей атаки с нами дополнительно можно связаться через экстренный чат WhatsApp по номеру +43 650 8209883.
Частые вопросы
Мой RedM-сервер сейчас офлайн. Как понять, что это DDoS-атака?
Какие порты нужно оставить открытыми для RedM-сервера?
Защита от DDoS для RedM такая же, как для FiveM?
Почему RedM-серверы атакуют, хотя сцена такая маленькая?
Насколько опасны /players.json и /info.json на RedM-сервере?
Почему 32 слота RedM-сервера — это вопрос безопасности?
Поможет ли быстро сменить IP-адрес RedM-сервера прямо сейчас?
Можно ли отбиться от атаки на порт 30120 средствами iptables или UFW?
С какого объёма атаки RedM-сервер уже не справится сам?
Уйдёт ли мой RedM-сервер в KernelHost в офлайн во время атаки?
Когда RedM-проекту дополнительно нужна Advanced DDoS Protection?
2026 KernelHost GmbH. Все права защищены. Эта инструкция охраняется авторским правом. Публикация на других сайтах, в том числе частично или в изменённом виде, без нашего письменного согласия не разрешается. Цитирование с указанием источника и активной ссылкой мы приветствуем.

