DynamicLights: Реалистичное освещение в Minecraft без модов
Представьте: вы заходите в тёмную пещеру, берёте в руку факел — и пространство вокруг вас сразу наполняется мягким светом. Бросили светящийся предмет на землю — он продолжает освещать всё вокруг. Именно это делает DynamicLights — серверный плагин, который добавляет динамическое освещение в Minecraft без необходимости устанавливать клиентские моды вроде OptiFine. Он работает на чистой ванильной версии игры, не меняет мир и не нагружает клиент.
Как работает DynamicLights
DynamicLights использует исключительно возможности Paper API и не требует ProtocolLib, пакетных манипуляций или модификации чанков. Когда игрок или моб держит светящийся предмет (факел, светокамень, фонарь и т.д.), плагин отправляет соседним игрокам пакеты с фиктивными световыми блоками. Эти блоки существуют только на стороне клиента и не сохраняются в мире. Как только источник света перемещается или исчезает, старые световые блоки заменяются на реальные — воздух, траву, воду — и мир возвращается к исходному состоянию.
Благодаря системе мягкого спада (soft falloff) переходы между освещёнными и тёмными участками выглядят плавно. Плагин создаёт не одиночный блок, а целое световое облако вокруг источника, причём яркость крайних блоков может быть ниже центральной. Это особенно заметно при движении: свет «перетекает» за персонажем, а не прыгает резко.
Основные возможности
- Свет от предметов в руках игроков и мобов. Зомби с факелом или светильником Джека действительно освещают путь — и это настраивается.
- Свет от брошенных предметов. Уронили фонарь на землю — он продолжает светить, пока его не подберут.
- Свет от экипировки. Шлемы со светящимися блоками (например, тыква Джека) тоже излучают свет.
- Настройка яркости для каждого материала. В конфиге можно задать уровень освещения для любого предмета, от светокамня до ягод светящегося мха.
- Поддержка воды. Световые блоки могут быть «затопленными» (waterlogged), поэтому DynamicLights корректно работает под водой.
- Индивидуальное отключение. Игроки могут отключить динамическое освещение для себя командой
/dl toggle, если хотят повысить производительность. - Отключение в отдельных мирах. Можно исключить Незер, Энд или любой кастомный мир, где динамический свет не нужен.
- Горячая перезагрузка. Команда
/dl reloadмгновенно применяет изменения конфига без перезапуска сервера.
Настройка и конфигурация
DynamicLights поставляется с продуманным файлом config.yml, где можно тонко отрегулировать поведение. Радиус обзора (view_radius) определяет, на каком расстоянии игроки видят свет. Частота обновления (update_interval_ticks) задаёт плавность движения света — по умолчанию каждый тик (20 раз в секунду). Для мобов есть отдельный интервал сканирования, чтобы не нагружать процессор. Размер светового кластера (cluster_radius и cluster_height) и коэффициент спада яркости позволяют добиться естественного вида.
По умолчанию плагин отслеживает зомби, скелетов, пиглинов и утопленников, но список мобов можно расширить. Также можно указать, какие слоты экипировки проверять: основная рука, вторая рука, голова. Если вы хотите, чтобы DynamicLights работал только для игроков, просто отключите track_mobs и track_items.
Установка DynamicLights для Minecraft
Установка DynamicLights проста: скачайте JAR-файл плагина и поместите его в папку plugins/ вашего Paper-сервера версии 1.21.x. После перезапуска сервера плагин сразу начнёт работать с настройками по умолчанию. Для более удобного управления многие игроки используют лаунчер foxygame.net, где DynamicLights доступен в каталоге дополнений и устанавливается буквально в один клик — лаунчер сам подберёт совместимую версию и обновит плагин при выходе новых билдов. После установки через foxygame.net достаточно перезагрузить сервер или выполнить /dl reload.
Производительность и совместимость
DynamicLights разработан с прицелом на минимальное потребление ресурсов. JAR-файл весит около 40 КБ, не имеет внешних зависимостей, кроме bStats, и не использует ProtocolLib. На сервере с 4 игроками и 30 мобами, держащими факелы, нагрузка на тик составляет менее 1 мс. Если сервер испытывает нехватку CPU, можно отключить отслеживание мобов, уменьшить размер кластера до одиночного столба или увеличить интервал обновления до 2 тиков — свет будет обновляться 10 раз в секунду, что всё ещё выглядит плавно.
Плагин тестировался на Paper 1.21.4 и работает на любых патчах 1.21. Требуется Java 21. Совместимость с Folia не гарантируется, но сообщество может предложить свои правки. Поскольку DynamicLights не изменяет мир, его можно безопасно удалить в любой момент — все фиктивные блоки исчезнут после перезагрузки сервера.
Почему стоит выбрать DynamicLights
В отличие от многих аналогов, застрявших на версии 1.16, DynamicLights использует современный Paper API и не требует клиентских модов. Это значит, что ваши игроки могут заходить с ванильного клиента и сразу видеть динамический свет. Плагин не ломает механику освещения чанков, не создаёт лишних файлов и не вызывает конфликтов с другими плагинами. А благодаря продуманной системе кластеров и спада яркости движение света выглядит максимально естественно, насколько это возможно без клиентской модификации.
Если вы хотите оживить свой сервер, добавить атмосферы в подземелья и при этом сохранить ванильный дух Minecraft, DynamicLights — идеальное решение. Скачать DynamicLights можно с официальных страниц плагина, а для максимального удобства воспользуйтесь лаунчером foxygame.net, где установка и обновление происходят автоматически.