> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vetox.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Анти-Рейд

> Обнаружение массовых рейдов и проверка подозрительных аккаунтов на входе через настраиваемые условия Join Guard. Тариф Basic.

Анти-Рейд делает две независимые задачи: реагирует на **наплыв** входов и проверяет **отдельные** аккаунты по мере их прибытия.

<Info>
  Требует **Basic** premium. Ниже него вся страница заменяется ценами — сами настройки не показываются вовсе.
</Info>

<Note>
  У Анти-Рейд также должен быть включён переключатель на странице [Setup](/ru/server-management/setup). Если он выключен, эта страница показывает янтарный баннер, а **все элементы управления отключены** до включения.
</Note>

## Обнаружение рейдов

Когда за ваше окно входит достаточно участников, Vetox объявляет рейд.

| Настройка                   | По умолчанию | Диапазон                     |
| --------------------------- | ------------ | ---------------------------- |
| **Minimum Number of Users** | 15           | от **2** до 100              |
| **Interval (in seconds)**   | 5            | 1–300                        |
| **Action During Raid**      | Kick         | Kick, Ban или Mute           |
| **Account Age**             | 3 месяца     | 1, 2, 3, 6, 9 или 12 месяцев |

<Warning>
  **Account Age — это фильтр, а не требование.** К триггеру рейда причисляются только аккаунты **моложе** порога. Более старые аккаунты, входящие одновременно, полностью игнорируются.

  Поднятие порога делает Анти-Рейд более чувствительным, а не менее.
</Warning>

<Warning>
  **Наказывается только участник, зацепивший порог.** Более ранние вошедшие в окне называются в вашем алерте, но не кикаются, не банятся и не мьютятся.

  Если нужно обработать всех в волне, используйте Join Guard ниже.
</Warning>

<Note>
  Числовые поля позволяют опуститься ниже минимума 2, но сохранение такого значения падает с общей ошибкой. Держите 2 и выше.
</Note>

## Отчёты о рейдах

Выберите канал и напишите начальное и конечное сообщение. Оба поддерживают переменные.

| Переменная     | Работает в          |
| -------------- | ------------------- |
| `[Usernames]`  | Начальном сообщении |
| `[Users]`      | Начальном сообщении |
| `[UsersCount]` | Начальном сообщении |

<Warning>
  Здесь два ограничения:

  * **`[ServerName]` предлагается в пикере, но никогда не подставляется.** Публикуется как есть.
  * **Конечное сообщение вообще ничего не подставляет.** Любая переменная в нём публикуется буквально. Пишите его обычным текстом.
</Warning>

<Note>
  `[UsersCount]` исключает участника, спровоцировавшего рейд, поэтому число оказывается на единицу меньше вашего порога.
</Note>

<Warning>
  **Очистка канала отчёта не сохраняется.** Селектор внешне очищается, но старый канал остаётся, и алерты продолжают идти туда. Канал видимо возвращается после сохранения.

  Чтобы перестать получать алерты, направьте их в канал, который можно архивировать, а не пытайтесь очистить поле.
</Warning>

## Join Guard

Join Guard проверяет каждый вход по отдельности и работает **независимо от порога рейда** — действует и когда рейд идёт, и когда нет. До 10 условий.

### Правила

Каждое условие содержит до пяти правил:

| Правило               | Проверяет                                                          |
| --------------------- | ------------------------------------------------------------------ |
| **Account Age**       | Старше или младше заданного числа часов, дней или месяцев          |
| **Default Avatar**    | Аккаунт никогда не ставил аватар                                   |
| **No Banner**         | У аккаунта нет баннера                                             |
| **Username Contains** | Юзернейм содержит любое из ваших ключевых слов, по одному в строке |
| **Generated Name**    | Юзернейм соответствует шаблонам машинной генерации                 |

Определение сгенерированных имён покрывает: имена, заканчивающиеся тремя и более цифрами, начинающиеся с цифр, подчёркивание с цифрами, цифры с подчёркиванием, только цифры и короткие случайные комбинации букв и цифр.

### Совпадение

Каждое условие выбирает **All rules must match** или **Any rule must match**.

<Warning>
  «Any» с широким правилом вроде *default avatar* будет срабатывать на большой доле обычных новичков. Комбинируйте правила и предпочитайте «All», если не уверены.
</Warning>

### Действия

До пяти на условие: назначить роль, kick, ban, timeout на N минут, отправить DM, опубликовать в канал или открыть кейс модерации.

<Note>
  Действия выполняются по порядку, и **kick или ban останавливают всё** — оставшиеся действия в этом условии и все последующие условия пропускаются.

  Ставьте логирование и DM **перед** любым kick или ban, иначе они не выполнятся.
</Note>

Сообщения Join Guard поддерживают гораздо более богатый набор переменных, чем отчёты о рейде, включая участника, возраст его аккаунта, совпавшие правила и имя условия.

## Как собрать разумную конфигурацию

<Steps>
  <Step title="Начните с одного обнаружения рейдов">
    Значения по умолчанию покрывают очевидный случай. Оставьте Join Guard пустым сначала.
  </Step>

  <Step title="Добавьте одно узкое условие Join Guard">
    Скомбинируйте два-три правила с «All» — очень молодой аккаунт **и** дефолтный аватар **и** сгенерированное имя почти никогда не настоящий участник.
  </Step>

  <Step title="Используйте неразрушительное действие, пока наблюдаете">
    Назначайте карантин-роль и открывайте кейс, а не баньте. Понаблюдайте неделю.
  </Step>

  <Step title="Ужесточайте, только когда доверяете">
    Переходите к кику или бану, увидев, как условие ведёт себя на реальном трафике.
  </Step>
</Steps>

## Решение проблем

<AccordionGroup>
  <Accordion title="Рейды не обнаруживаются">
    Убедитесь, что входящие аккаунты реально младше порога Account Age — более старые никогда не учитываются.
  </Accordion>

  <Accordion title="Наказан только один участник">
    Ожидаемо. Обнаружение рейдов действует только на триггерящего. Используйте Join Guard, чтобы обрабатывать каждый подходящий вход.
  </Accordion>

  <Accordion title="Переменная опубликовалась как текст">
    `[ServerName]` не подставляется, а конечное сообщение не подставляет ничего вовсе.
  </Accordion>

  <Accordion title="Алерты по-прежнему идут в старый канал">
    Очистка канала отчёта не сохраняется. Выберите другой канал вместо этого.
  </Accordion>

  <Accordion title="Сохранение падает с общей ошибкой">
    Обычно порог пользователей ниже 2 или интервал выше 300 секунд. Форма это принимает, а при сохранении отклоняет.
  </Accordion>

  <Accordion title="Join Guard пропустил моё логирование">
    Kick или ban выше по списку действий обрывает всё после него. Переставьте так, чтобы логирование шло первым.
  </Accordion>
</AccordionGroup>

## Связанное

<CardGroup cols={2}>
  <Card title="Protection" icon="lock" href="/ru/moderation/protection">
    Защита от вреда изнутри.
  </Card>

  <Card title="Auto-Roles" icon="user-plus" href="/ru/engagement/auto-roles">
    Delayed roles — более тихая антирейд-мера.
  </Card>
</CardGroup>
