▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
RxNoBots

RxNoBots

The best plugin for eliminating bots in Velocity using LimboAPI

Оцените первым
129
6

RxNoBots 🤖🚫

Advanced bot protection for Velocity servers using chat & movement verification with elegant purple gradient styling

License


🇺🇸 English version

🔒 About the plugin

RxNoBots is a powerful anti‑bot plugin for Velocity proxy that filters unwanted players before they connect to the main servers.

The plugin uses LimboAPI to create an isolated environment where the player undergoes a two‑step verification process.

🔍 How verification works

  1. 🗣 Chat step – the player types a unique code displayed on screen.
  2. 🎯 Movement step – the player looks in a specified direction (up/down/left/right) and holds it for a few seconds.
  3. Success – upon passing both steps, the player is allowed to join the server.

💡 New: Detailed on‑screen instructions and a stylish purple gradient interface help players understand exactly what to do, reducing confusion and failed attempts.


✨ Key features

CategoryDescription
🗣 Chat verificationGenerates a unique alphanumeric code.
🎯 MovementGaze tracking (up, down, left, right) with configurable hold duration.
🎲 RandomizationEach session generates unique movement sequences.
📦 Session persistenceSessions resume after disconnection (e.g., server restart).
🔁 CooldownVerified players are not re‑verified for a configurable period.
FlexibilityFully customizable logic – chat‑only, movement‑only, or hybrid modes.
🛡 BypassWhitelist by IP address or permission (rxnobots.bypass).
📊 StatisticsReal‑time stats via /rnb stats and bStats integration.
🔧 Admin controlFull management through dedicated commands.
🌐 LocalizationBuilt‑in English and Russian language files (easily extendable).
🎨 UI/UXStylish purple gradient messages with clear step‑by‑step instructions for players.

📸 Example workflow

Step 1Step 2Result
Enter codeHold gaze directionJoin server


🛠 Commands & permissions

CommandPermissionDescription
/rnb reloadrxnobots.adminReload configuration and language files.
/rnb verify <player>rxnobots.adminManually verify a player.
/rnb reset <player>rxnobots.adminReset a player's verification status.
/rnb timeout <player> <seconds>rxnobots.adminSet a timeout for a player.
/rnb bypass <player>rxnobots.adminToggle bypass permission for a player.
/rnb statsrxnobots.adminShow global statistics.
/rnb session info <player>rxnobots.adminDisplay detailed session information.
/rnb session end <player>rxnobots.adminForce‑end a player's verification session.
/rnb cache clear <player>rxnobots.adminClear cached player data (useful for debugging).

Additional permission:
rxnobots.bypass – grants automatic bypass for players with this permission.


⚙ Config

config.yml
# RxNoBots Plugin - Configuration
version: 1.2

# General Settings
general:
  language: "ru"           # Available: en, ru, de, fr, ja, pt, zh.
  debug: true             # Enable for detailed logs (disable in production)
  plugin-prefix: "<gradient:#ff5555:#ff00aa>RxNoBots</gradient> <dark_gray>»</dark_gray>"

# Database Settings
database:
  type: "h2"           # sqlite, mysql, h2
  sqlite:
    file: "rxnobots.db"
  mysql:
    host: "localhost"
    port: 3306
    database: "rxnobots"
    username: "root"
    password: "password"
    connection-pool-size: 5      # HikariCP pool size (connections to MySQL)
    thread-pool-size: 4          # Size of async DB thread pool (MySQL only)

# Limbo Server Settings (requires LimboAPI)
limbo:
  enabled: true
  host: "127.0.0.1"
  port: 25566
  brand-name: "<gradient:#ff5555:#ff00aa>RxNoBots</gradient> <gray>Verification</gray>"

# Verification System
verification:
  enabled: true
  type: "HYBRID"           # HYBRID, CHAT_ONLY, MOVEMENT_ONLY

  # Chat Code Settings
  code:
    length: 4
    characters: "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    case-sensitive: false

  # Movement Verification Settings
  movement:
    directions:            # Predefined directions (used when random: false)
      - "up:2"
      - "left:2"
    random: true           # Generate random sequence of directions
    min-duration: 2        # Minimum hold time per direction (seconds)
    max-duration: 4        # Maximum hold time per direction (seconds)
    available-directions:  # Pool of directions for random generation
      - "up"
      - "down"
      - "left"
      - "right"
    angles:                # Angle thresholds for each direction
      up:
        pitch-min: -90.0
        pitch-max: -30.0
      down:
        pitch-min: 30.0
        pitch-max: 90.0
      left:
        yaw-min: 135.0
        yaw-max: 225.0
      right:
        yaw-min: -45.0
        yaw-max: 45.0
    tolerance: 15.0        # Allowed deviation from exact angle (currently not used)
    response-timeout: 30   # Inactivity timeout per stage (seconds)
    kick-on-timeout: true  # Disconnect player on timeout

  # Attempt Limits
  attempts:
    max-attempts: 3        # Max failed code attempts per session
    max-sessions: 3        # Max total verification sessions before timeout
    reset-on-success: true

  # Timeout Settings (after failing max attempts or max sessions)
  timeout:
    duration: 600          # Timeout duration (seconds) = 10 minutes

  # Successful Verification Actions
  success:
    action: "DISCONNECT"   # DISCONNECT or SERVER (send to target server)
    target-server: "lobby"
    remember-duration: 86400  # Cooldown before requiring re-verification (seconds) = 24h

  # Cooldown Tracking (prevents repeated verifications)
  cooldown:
    track-by-user: true
    track-by-ip: true
    duration: 86400        # Cooldown duration (seconds)

# Bypass Settings
bypass:
  permission: "rxnobots.bypass"
  ip-whitelist:
    - "127.0.0.1"
    - "localhost"

# Performance Tuning
performance:
  cleanup-interval: 3600      # Cache cleanup interval (seconds) – legacy, replaced by Guava TTL
  max-sessions: 500           # Max concurrent verification sessions
  session-timeout: 300        # Max session lifetime (seconds)
  max-cache-size: 10000       # Maximum number of PlayerData entries in cache
  batch-save-interval: 10     # Interval (seconds) for batch saving dirty sessions

# Security Settings
security:
  max-verification-time: 120   # Overall verification time limit (seconds)
  anti-spam-delay: 1000        # Chat anti-spam delay (ms)
  log-attempts: true           # Log failed verification attempts

🗂 Database support

TypeDescription
H2Embedded, used as fallback and for migration.
SQLiteLightweight file‑based database.
MySQLProduction‑ready with connection pooling.

Data is automatically migrated from H2 to your chosen database on first startup.


📦 Dependencies

  • Velocity 3.5.0+
  • LimboAPI (required) – provides the virtual world for verification.

🔧 Installation

  1. Place RxNoBots.jar in your Velocity plugins/ folder.
  2. Place LimboAPI.jar in the same folder.
  3. Start the server – default configuration and language files will be generated.
  4. Adjust config.yml and language files (lang/en.yml, lang/ru.yml) as needed.
  5. Reload with /rnb reload or restart the proxy.

🤝 Contributing

Issues and pull requests are welcome!
For discussions, join our Discord or Telegram.


🇷🇺 Русская версия

🔒 О плагине

RxNoBots — это мощный анти‑бот плагин для прокси Velocity, который фильтрует нежелательных игроков до подключения к основным серверам.

Плагин использует LimboAPI, создавая изолированное окружение, где игрок проходит двухэтапную проверку.

🔍 Как работает проверка

  1. 🗣 Чат‑этап – игрок вводит уникальный код, отображаемый на экране.
  2. 🎯 Этап движения – игрок смотрит в указанном направлении (вверх/вниз/влево/вправо) и удерживает взгляд несколько секунд.
  3. Успех – после прохождения обоих этапов игрок допускается на сервер.

💡 Новое: Подробные инструкции на экране и стильный фиолетовый интерфейс помогают игрокам точно понять, что делать, уменьшая количество ошибок и неудачных попыток.


✨ Ключевые возможности

КатегорияОписание
🗣 Чат‑проверкаГенерируется уникальный буквенно‑цифровой код.
🎯 ДвижениеОтслеживание взгляда (вверх, вниз, влево, вправо) с настраиваемой длительностью удержания.
🎲 РандомизацияКаждая сессия создаёт уникальную последовательность движений.
📦 Сохранение сессийСессии восстанавливаются после отключения (например, перезапуска сервера).
🔁 КулдаунВерифицированные игроки не проходят повторную проверку в течение настраиваемого периода.
ГибкостьПолностью настраиваемая логика – только чат, только движение или гибридный режим.
🛡 БайпасБелый список по IP‑адресу или разрешению (rxnobots.bypass).
📊 СтатистикаДанные в реальном времени через /rnb stats и интеграция с bStats.
🔧 Админ‑контрольПолное управление через специальные команды.
🌐 ЛокализацияВстроенные английский и русский языковые файлы (легко расширяются).
🎨 UI/UXСтильные фиолетовые градиентные сообщения с чёткими пошаговыми инструкциями для игроков.

📸 Пример работы

Этап 1Этап 2Результат
Ввод кодаУдержание взглядаВход на сервер


🛠 Команды и права

КомандаПравоОписание
/rnb reloadrxnobots.adminПерезагрузить конфигурацию и языковые файлы.
/rnb verify <игрок>rxnobots.adminВручную верифицировать игрока.
/rnb reset <игрок>rxnobots.adminСбросить статус проверки игрока.
/rnb timeout <игрок> <сек>rxnobots.adminУстановить таймаут для игрока.
/rnb bypass <игрок>rxnobots.adminПереключить право обхода проверки.
/rnb statsrxnobots.adminПоказать глобальную статистику.
/rnb session info <игрок>rxnobots.adminДетальная информация о сессии.
/rnb session end <игрок>rxnobots.adminПринудительно завершить сессию.
/rnb cache clear <игрок>rxnobots.adminОчистить кэш данных игрока (полезно для отладки).

Дополнительное право:
rxnobots.bypass – даёт автоматический обход проверки.


⚙ Config

config.yml
# RxNoBots Plugin - Configuration
version: 1.2

# General Settings
general:
  language: "ru"           # Available: en, ru, de, fr, ja, pt, zh.
  debug: true             # Enable for detailed logs (disable in production)
  plugin-prefix: "<gradient:#ff5555:#ff00aa>RxNoBots</gradient> <dark_gray>»</dark_gray>"

# Database Settings
database:
  type: "h2"           # sqlite, mysql, h2
  sqlite:
    file: "rxnobots.db"
  mysql:
    host: "localhost"
    port: 3306
    database: "rxnobots"
    username: "root"
    password: "password"
    connection-pool-size: 5      # HikariCP pool size (connections to MySQL)
    thread-pool-size: 4          # Size of async DB thread pool (MySQL only)

# Limbo Server Settings (requires LimboAPI)
limbo:
  enabled: true
  host: "127.0.0.1"
  port: 25566
  brand-name: "<gradient:#ff5555:#ff00aa>RxNoBots</gradient> <gray>Verification</gray>"

# Verification System
verification:
  enabled: true
  type: "HYBRID"           # HYBRID, CHAT_ONLY, MOVEMENT_ONLY

  # Chat Code Settings
  code:
    length: 4
    characters: "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    case-sensitive: false

  # Movement Verification Settings
  movement:
    directions:            # Predefined directions (used when random: false)
      - "up:2"
      - "left:2"
    random: true           # Generate random sequence of directions
    min-duration: 2        # Minimum hold time per direction (seconds)
    max-duration: 4        # Maximum hold time per direction (seconds)
    available-directions:  # Pool of directions for random generation
      - "up"
      - "down"
      - "left"
      - "right"
    angles:                # Angle thresholds for each direction
      up:
        pitch-min: -90.0
        pitch-max: -30.0
      down:
        pitch-min: 30.0
        pitch-max: 90.0
      left:
        yaw-min: 135.0
        yaw-max: 225.0
      right:
        yaw-min: -45.0
        yaw-max: 45.0
    tolerance: 15.0        # Allowed deviation from exact angle (currently not used)
    response-timeout: 30   # Inactivity timeout per stage (seconds)
    kick-on-timeout: true  # Disconnect player on timeout

  # Attempt Limits
  attempts:
    max-attempts: 3        # Max failed code attempts per session
    max-sessions: 3        # Max total verification sessions before timeout
    reset-on-success: true

  # Timeout Settings (after failing max attempts or max sessions)
  timeout:
    duration: 600          # Timeout duration (seconds) = 10 minutes

  # Successful Verification Actions
  success:
    action: "DISCONNECT"   # DISCONNECT or SERVER (send to target server)
    target-server: "lobby"
    remember-duration: 86400  # Cooldown before requiring re-verification (seconds) = 24h

  # Cooldown Tracking (prevents repeated verifications)
  cooldown:
    track-by-user: true
    track-by-ip: true
    duration: 86400        # Cooldown duration (seconds)

# Bypass Settings
bypass:
  permission: "rxnobots.bypass"
  ip-whitelist:
    - "127.0.0.1"
    - "localhost"

# Performance Tuning
performance:
  cleanup-interval: 3600      # Cache cleanup interval (seconds) – legacy, replaced by Guava TTL
  max-sessions: 500           # Max concurrent verification sessions
  session-timeout: 300        # Max session lifetime (seconds)
  max-cache-size: 10000       # Maximum number of PlayerData entries in cache
  batch-save-interval: 10     # Interval (seconds) for batch saving dirty sessions

# Security Settings
security:
  max-verification-time: 120   # Overall verification time limit (seconds)
  anti-spam-delay: 1000        # Chat anti-spam delay (ms)
  log-attempts: true           # Log failed verification attempts

🗂 Поддержка баз данных

ТипОписание
H2Встроенная, используется как резервная и для миграции.
SQLiteЛёгкая файловая база данных.
MySQLГотова к продакшену с пулом соединений.

Данные автоматически мигрируются из H2 в выбранную БД при первом запуске.


📦 Зависимости

  • Velocity 3.5.0+
  • LimboAPI (обязательно) – предоставляет виртуальный мир для проверки.

🔧 Установка

  1. Поместите RxNoBots.jar в папку plugins/ вашего Velocity.
  2. Поместите LimboAPI.jar в ту же папку.
  3. Запустите сервер – будут созданы конфигурация и языковые файлы по умолчанию.
  4. Настройте config.yml и языковые файлы (lang/en.yml, lang/ru.yml) по необходимости.
  5. Перезагрузите плагин командой /rnb reload или перезапустите прокси.

🤝 Участие в разработке

Мы приветствуем Issues и Pull Requests!
Для обсуждений присоединяйтесь к нашему Discord или Telegram.

Партнёрский материал

Сервер для плагина RxNoBots - как у профи

Плагин RxNoBots создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином RxNoBots для друзей можно за пару минут - BungeeHost всё уже подготовил.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.2.x26.1.x1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x1.15.x1.14.x1.13.x1.12.x1.11.x1.10.x1.9.x1.8.x1.7.x

Платформы

Поддерживаемые окружения

Сервер

Зависимости

Ссылки


Детали

Лицензия:
Опубликован:4 месяца назад
Обновлён:2 месяца назад
Главная