Связка серверов Minecraft через Velocity: настройка современного прокси
Подробный гайд по созданию сети серверов (BungeeCord/Velocity): архитектура лобби и подсерверов, Modern Forwarding с секретным ключом, защита бэкэндов и оптимизация прокси.
Когда один сервер Minecraft разрастается до нескольких игровых режимов (например, Спавн/Хаб, Ванильное выживание, Анархия и Мини-игры), удерживать весь онлайн в одном процессе становится невозможным. Одно ядро процессора перегружается, а падение одного мира приводит к отключению всех игроков.
Решением является мультисерверная сеть под управлением прокси-сервера. Игроки подключаются по единому IP-адресу, попадают в стартовое лобби и могут бесшовно перемещаться между независимыми серверами через порталы или меню.
В 2026 году безоговорочным лидером среди прокси-ядер является Velocity от команды PaperMC. В этой статье мы пошагово разберем настройку сети на базе Velocity и Paper/Purpur.
1. Почему именно Velocity, а не BungeeCord или Waterfall?#
Классический BungeeCord был написан более 10 лет назад, а его форк Waterfall официально закрыт и не поддерживается.
| Критерий | BungeeCord / Waterfall | Velocity |
|---|---|---|
| Производительность | Умеренная, заметны задержки при смене миров | Максимальная (асинхронный Netty 4, сжатие с Zstandard) |
| Безопасность IP | Устаревший IP-forwarding (легко обойти без BungeeGuard) | Modern Forwarding с криптографическим HMAC-секретом |
| Защита от ботов | Требуются сторонние тяжелые плагины | Нативная устойчивость к флуду соединений |
| Поддержка версий | Базовая | Полная совместимость с 1.7–1.21+ клиентами |
| Потребление RAM | ~512–1024 МБ | 128–256 МБ даже при сотнях игроков |
2. Архитектура сети#
Схема движения трафика в мультисерверном проекте выглядит следующим образом:
[ Клиенты игроков: play.myserver.ru ]
│
▼
┌─────────────────────────────┐
│ Velocity Прокси (25565) │
│ - Единый вход │
│ - Шифрование сессий │
│ - Авторизация / Защита │
└──────────────┬──────────────┘
│
┌───────────────────────┼───────────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ Лобби / Хаб │ │ Выживание │ │ Анархия │
│ (Порт: 25566) │ │ (Порт: 25567) │ │ (Порт: 25568) │
└───────────────┘ └───────────────┘ └───────────────┘Критическое правило: игроки должны подключаться только к порту Velocity (25565). Прямые порты подсерверов (25566, 25567 и т.д.) должны быть полностью изолированы от внешнего мира!
3. Настройка Velocity (velocity.toml)#
После первого запуска Velocity в корневой папке создается конфигурационный файл velocity.toml.
💡 Справочник по параметрам: краткую шпаргалку по директивам
velocity.tomlсмотрите в нашей базе знаний: Настройка Velocity в Wiki.
# Порт, на который подключаются игроки
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#
# Отключаем онлайн-мод на бэкэндах (авторизацию берет на себя Velocity)
online-mode=false
# Задаем уникальный локальный порт
server-port=25566Шаг 2: config/paper-global.yml (в современных версиях Paper 1.19–1.21+)#
Найдите секцию proxies.velocity:
proxies:
velocity:
enabled: true
online-mode: true
# Вставьте сюда значение из файла forwarding.secret прокси Velocity:
secret: "СКОПИРОВАННЫЙ_СЕКРЕТНЫЙ_ТОКЕН_ИЗ_VELOCITY"Если вы используете старую версию Paper (1.18 и ниже), настройка находится в
paper.yml:yamlsettings: velocity-support: enabled: true online-mode: true secret: "ВАШ_СЕКРЕТНЫЙ_ТОКЕН"
5. Защита от прямого подключения (Security)#
Если злоумышленник узнает прямой порт вашего подсервера (например, 25567), и защита настроена неверно, он может подключиться с любым никнеймом (даже Admin) без ввода пароля!
3 уровня защиты:#
Modern Forwarding (встроенный): При включенном
secretсервер Paper мгновенно разрывает соединение, если пакет не подписан секретным ключом Velocity. Прямое подключение клиента невозможно.Привязка к локальному адресу (Localhost): Если все серверы живут на одной машине или в одной Docker-сети хостинга, в
server.propertiesкаждого бэкэнда укажите:propertiesserver-ip=127.0.0.1В этом случае порт физически недоступен из интернета.
Сетевой экран (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:
- LuckPerms for Velocity — единые права на уровне прокси (например, право на команду
/server survivalили скрытие режимов). - MiniPlaceholders — поддержка красивого форматирования MiniMessage в табе и чате.
- FastForward / SignedVelocity — решение проблем с криптографическими подписями чата Mojang на версиях 1.19.2+.
- Simple Voice Chat (Proxy) — маршрутизация голосового чата между серверами без разрыва звонка при переходе между мирами.
Связка Velocity + Paper — золотой стандарт архитектуры в 2026 году. Она гарантирует минимальный пинг, защиту от атак и возможность легко добавлять новые игровые режимы по мере роста вашего сообщества.
📚 Смотрите также в Wiki: