Ко всем статьям
•
~5 мин чтения

Связка серверов Minecraft через Velocity: настройка современного прокси

Подробный гайд по созданию сети серверов (BungeeCord/Velocity): архитектура лобби и подсерверов, Modern Forwarding с секретным ключом, защита бэкэндов и оптимизация прокси.

Когда один сервер Minecraft разрастается до нескольких игровых режимов (например, Спавн/Хаб, Ванильное выживание, Анархия и Мини-игры), удерживать весь онлайн в одном процессе становится невозможным. Одно ядро процессора перегружается, а падение одного мира приводит к отключению всех игроков.

Решением является мультисерверная сеть под управлением прокси-сервера. Игроки подключаются по единому IP-адресу, попадают в стартовое лобби и могут бесшовно перемещаться между независимыми серверами через порталы или меню.

В 2026 году безоговорочным лидером среди прокси-ядер является Velocity от команды PaperMC. В этой статье мы пошагово разберем настройку сети на базе Velocity и Paper/Purpur.


1. Почему именно Velocity, а не BungeeCord или Waterfall?#

Классический BungeeCord был написан более 10 лет назад, а его форк Waterfall официально закрыт и не поддерживается.

КритерийBungeeCord / WaterfallVelocity
ПроизводительностьУмеренная, заметны задержки при смене мировМаксимальная (асинхронный Netty 4, сжатие с Zstandard)
Безопасность IPУстаревший IP-forwarding (легко обойти без BungeeGuard)Modern Forwarding с криптографическим HMAC-секретом
Защита от ботовТребуются сторонние тяжелые плагиныНативная устойчивость к флуду соединений
Поддержка версийБазоваяПолная совместимость с 1.7–1.21+ клиентами
Потребление RAM~512–1024 МБ128–256 МБ даже при сотнях игроков

2. Архитектура сети#

Схема движения трафика в мультисерверном проекте выглядит следующим образом:

plaintext
               [ Клиенты игроков: play.myserver.ru ]
                                │
                                ▼
                 ┌─────────────────────────────┐
                 │    Velocity Прокси (25565)   │
                 │   - Единый вход             │
                 │   - Шифрование сессий        │
                 │   - Авторизация / Защита     │
                 └──────────────┬──────────────┘
                                │
        ┌───────────────────────┼───────────────────────┐
        ▼                       ▼                       ▼
 ┌───────────────┐       ┌───────────────┐       ┌───────────────┐
 │ Лобби / Хаб   │       │   Выживание   │       │    Анархия    │
 │ (Порт: 25566) │       │ (Порт: 25567) │       │ (Порт: 25568) │
 └───────────────┘       └───────────────┘       └───────────────┘

Критическое правило: игроки должны подключаться только к порту Velocity (25565). Прямые порты подсерверов (25566, 25567 и т.д.) должны быть полностью изолированы от внешнего мира!


3. Настройка Velocity (velocity.toml)#

После первого запуска Velocity в корневой папке создается конфигурационный файл velocity.toml.

💡 Справочник по параметрам: краткую шпаргалку по директивам velocity.toml смотрите в нашей базе знаний: Настройка Velocity в Wiki.

toml
# Порт, на который подключаются игроки
bind = "0.0.0.0:25565"

# Описание сервера в списке (MOTD)
motd = "<#00d4aa>Obsy Network</#00d4aa> <gray>| Лучшие сервера Minecraft</gray>"

# Максимум видимых игроков
show-max-players = 500

# Режим пересылки данных игроков: "modern" — самый безопасный
player-info-forwarding-mode = "modern"

# Файл с секретным ключом шифрования (генерируется автоматически)
forwarding-secret-file = "forwarding.secret"

[servers]
  # Список ваших подсерверов: имя = "IP:порт"
  lobby = "127.0.0.1:25566"
  survival = "127.0.0.1:25567"
  anarchy = "127.0.0.1:25568"

  # Очередность подключения (куда игрок попадает при входе)
  try = [
    "lobby"
  ]

[forced-hosts]
  # Опционально: можно привязать поддомены к конкретным режимам
  "anarchy.myserver.ru" = [ "anarchy" ]
  "survival.myserver.ru" = [ "survival" ]

Скопируйте сгенерированную строку из файла forwarding.secret — она потребуется для настройки каждого игрового сервера.


4. Настройка подсерверов (Paper / Purpur)#

Каждый подсервер (Лобби, Выживание) должен знать, что он находится за прокси Velocity, и проверять секретный ключ.

Шаг 1: server.properties#

properties
# Отключаем онлайн-мод на бэкэндах (авторизацию берет на себя Velocity)
online-mode=false
# Задаем уникальный локальный порт
server-port=25566

Шаг 2: config/paper-global.yml (в современных версиях Paper 1.19–1.21+)#

Найдите секцию proxies.velocity:

yaml
proxies:
  velocity:
    enabled: true
    online-mode: true
    # Вставьте сюда значение из файла forwarding.secret прокси Velocity:
    secret: "СКОПИРОВАННЫЙ_СЕКРЕТНЫЙ_ТОКЕН_ИЗ_VELOCITY"

Если вы используете старую версию Paper (1.18 и ниже), настройка находится в paper.yml:

yaml
settings:
  velocity-support:
    enabled: true
    online-mode: true
    secret: "ВАШ_СЕКРЕТНЫЙ_ТОКЕН"

5. Защита от прямого подключения (Security)#

Если злоумышленник узнает прямой порт вашего подсервера (например, 25567), и защита настроена неверно, он может подключиться с любым никнеймом (даже Admin) без ввода пароля!

3 уровня защиты:#

  1. Modern Forwarding (встроенный): При включенном secret сервер Paper мгновенно разрывает соединение, если пакет не подписан секретным ключом Velocity. Прямое подключение клиента невозможно.

  2. Привязка к локальному адресу (Localhost): Если все серверы живут на одной машине или в одной Docker-сети хостинга, в server.properties каждого бэкэнда укажите:

    properties
    server-ip=127.0.0.1

    В этом случае порт физически недоступен из интернета.

  3. Сетевой экран (Firewall / iptables): Если серверы размещены на разных физических нодах, закройте порты бэкэндов для всех IP, кроме адреса ноды с Velocity (подробнее о настройке фаервола читайте в руководстве по безопасности сети в Wiki):

    bash
    # Разрешить подключение к 25566 только с IP прокси (например, 192.168.1.10)
    iptables -A INPUT -p tcp -s 192.168.1.10 --dport 25566 -j ACCEPT
    # Запретить всем остальным
    iptables -A INPUT -p tcp --dport 25566 -j DROP

6. Полезные плагины для Velocity#

На сам прокси-сервер не ставятся плагины для Bukkit/Spigot — здесь работают специализированные плагины под Velocity API:

  1. LuckPerms for Velocity — единые права на уровне прокси (например, право на команду /server survival или скрытие режимов).
  2. MiniPlaceholders — поддержка красивого форматирования MiniMessage в табе и чате.
  3. FastForward / SignedVelocity — решение проблем с криптографическими подписями чата Mojang на версиях 1.19.2+.
  4. Simple Voice Chat (Proxy) — маршрутизация голосового чата между серверами без разрыва звонка при переходе между мирами.

Связка Velocity + Paper — золотой стандарт архитектуры в 2026 году. Она гарантирует минимальный пинг, защиту от атак и возможность легко добавлять новые игровые режимы по мере роста вашего сообщества.

📚 Смотрите также в Wiki:

Готовы запустить свой Minecraft сервер?
Собственная панель управления, быстрые NVMe накопители, защита от DDoS и запуск за пару минут.