
Водопад для Minecraft: Архитектура, Функции и Наследие
"Форк BungeeCord, направленный на улучшение производительности и стабильности."
PaperMC/Waterfall, github.com
Водопад - это не поддерживаемый форк BungeeCord. Перед установкой узнайте: разработчики рекомендуют перейти на Velocity. Однако понимание дизайна Водопада и причин его создания учит чему-то реальному о работе крупномасштабных сетей Minecraft. Для администраторов прокси или разработчиков плагинов для серверов всё ещё актуальна информация о том, что пытался решить Водопад.
Что Такое Был Водопад
BungeeCord - это отраслевой стандарт для соединения нескольких серверов Minecraft. Прокси-сервер, расположенный перед игровыми серверами, маршрутизирует игроков между ними. Однако кодовая база BungeeCord не была рассчитана на необходимую масштабируемость для некоторых администраторов. Водопад был форком, созданным командой PaperMC (та же команда, стоящая за популярным серверным ПО Paper), чтобы построить прокси, не жертвующее производительностью ради стабильности.
Проект фокусировался на трёх аспектах:
- Стабильность - тестировочная кодовая база, не лагающая под нагрузкой
- Функции - больше функциональности, чем у канонического BungeeCord, добавляемой быстрее
- Масштабируемость - поддержка тысяч одновременных игроков на современном оборудовании
Это кажется простым сейчас, но на тот момент основные разработчики BungeeCord не принимали вкладки с необходимой для сообщества скоростью. Водопад существовал, поскольку этот форк был быстрее и готов к экспериментам.
Почему Произошёл Форк (И Что Это Говорит об Открытом Коде)
Это интересная часть. BungeeCord - это открытый код, но он движется осторожно. Разработчики Водопада по сути сказали: «Мы можем сделать это быстрее». Они форкнули проект, продолжая включать изменения из основного репозитория, но также добавляли свои патчи. Это позволяло им выпускать функции и исправления, отслеживая основные обновления BungeeCord.
Это не было враждебным или противоречивым. Это было прагматично.
Сообщество администраторов серверов Minecraft имело реальные проблемы масштабирования, и форк позволил им решить эти проблемы без ожидания консенсуса в основном проекте. Так иногда работает открытый код - не все ждут разрешения.
Как Работал Водопад Под Капотом
Как и BungeeCord, Водопад располагался между игроками и бэкенд-серверами. При подключении игрока Водопад обрабатывал вход и решал, на какой сервер направить игрока. Он управлял переключением серверов, чатом, движением и всей логикой прокси. Разница заключалась в деталях: лучше производительность под параллельной нагрузкой, чище структура кода и более активный API.
Для разработчиков плагинов Водопад предоставлял чистый API JavaDocs и артефакты Maven/Gradle. Вы могли строить плагины, используя:
<repository>
<id>papermc</id>
<url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
<dependency>
<groupId>io.github.waterfallmc</groupId>
<artifactId>waterfall-api</artifactId>
<version>1.21-R0.3-SNAPSHOT</version>
<scope>provided</scope>
</dependency>Или с Gradle:
repositories {
maven {
url 'https://repo.papermc.io/repository/maven-public/'
}
}
dependencies {
compileOnly 'io.github.waterfallmc:waterfall-api:1.21-R0.3-SNAPSHOT'
}Этот API был одним из трюков Водопада - он был активно документирован и синхронизирован с выпусками, в отличие от некоторых проектов прокси, где документация API отстаёт от кода.
Установка и Сборка
Запуск Водопада требовал Java 8 или новее (довольно стандартно). Вы скачивали файл JAR с papermc.io/downloads, помещали его в папку и запускали. Конфигурация была простой YAML.
Если вы хотели собрать из исходников, Водопад сохранял простоту сборки:
git clone https://github.com/PaperMC/Waterfall.git
cd Waterfall./waterfall bЭта команда обрабатывала зависимые компоненты, запуск тестов и сборку JAR. Собранный бинарный файл оказывался в Waterfall-Proxy/bootstrap/target/. Чисто. Без ненужной церемонии.
Что Делало Водопад Различным От Плоского BungeeCord
Производительность не была просто рекламным слоганом. Патчи Водопада фокусировались на снижении нагрузки прокси. Некоторые выделяющиеся моменты:
- Лучшее управление одновременными подключениями игроков без проблем с пулами потоков
- Умное управление буферами для снижения пауз из-за сборки мусора
- Более эффективное обработание пакетов, особенно для больших количеств игроков
- Тестируемый код - разработчики фактически писали юнит-тесты, чего BungeeCord не всегда уделял приоритета
Если вы управляли сетью с 5,000+ одновременными игроками, это имело значение. Если у вас было 200 игроков, вы не заметили бы большой разницы.
Проект также быстрее реагировал на проблемы безопасности и обновления совместимости при выходе новых версий Minecraft. У PaperMC были ресурсы и мотивация для быстрых действий.
Почему Водопад Был Архивирован
PaperMC не бросили Водопад легко. Они создали что-то лучше: Velocity. Velocity не является форком BungeeCord - это полностью новая прокси, написанная заново. Она предназначена для современного Java, имеет лучшую производительность, чистые API плагинов и более активное развитие.
Разработчики Водопада сделали официальное объявление: используйте Velocity вместо этого. Они поддерживают его, улучшают и это то направление, в котором движется экосистема прокси-серверов Minecraft. После периода, когда существовали оба проекта, они решили архивировать Водопад.
Это не была неудача. Это было признание авторами того, что следующее поколение их собственного ПО было лучше, и честность с сообществом в этом отношении.
Что Это Значит для Вашей Настройки Сервера
Если вы строите новую сетевую инфраструктуру прокси сегодня, не используйте Водопад. Используйте Velocity. Он активно поддерживается, работает лучше, и вы получите исправления ошибок и обновления безопасности.
Если вы интересуетесь более глубоким пониманием того, как работают прокси Minecraft, кодовая база и архитектура Водопада всё ещё имеют образовательную ценность. Читая патчи и понимая, почему они были необходимы, вы узнаёте реальные вещи о производительности прокси.
А если вы уже используете Водопад на стабильной сети? Миграция на Velocity проста, и команда PaperMC предоставляет рекомендации для этого. Форматы конфигурации отличаются, но не радикально.
Практический совет: если вы настраиваете список серверов с текстом MOTD (сообщение, отображаемое, когда игроки видят ваш сервер в меню многопользовательской игры), инструменты, такие как наш Создатель MOTD, могут помочь вам правильно сформатировать его для вашего прокси. Водопад и Velocity оба уважают стандартный формат MOTD.
Уроки из Истории Водопада
Водопад важен не потому, что вы должны использовать его сегодня, а потому, что он представляет что-то важное в открытом коде. Команда признала реальную проблему, форкнула проект, доказала, что может решить её лучше, и затем плавно перешла к преемнику, когда стала очевидной следующая эволюция.
Он не умер, потому что был плохим. Но он был так успешен, что его создатели построили что-то лучше, чтобы заменить его, и имели честность сказать людям использовать новую версию вместо.
Кроме того, если вы строите что-то с инфраструктурой сервера Minecraft - возможно, ищете информацию о блоке или пытаётесь понять, как работают сложные игровые механики - вы найдёте ссылки на Водопад в форумах и документации. Понимание его роли в экосистеме помогает понять всю картину.
Нужно разобраться с блоками Minecraft для вашего прокси или сервера? Инструмент Поиск Блоков удивительно полезен, когда вы отлаживаете проблемы прокси или пытаетесь понять, почему определённые блоки вызывают проблемы с маршрутизацией пакетов.
PaperMC/Waterfall - MIT, ★746Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Комментарии
Пока нет комментариев. Станьте первым, кто поделится своим мнением!


