Luanti — свободный движок воксельных игр, который до октября 2024 года назывался Minetest. Это не одна игра, а платформа: движок на C++ и Lua, наборы правил и модов, многопользовательский режим. Движок распространяется под LGPL 2.1 и работает на Linux, Windows, macOS и Android. Здесь нет магазина и обязательной учётной записи: контент скачивается из ContentDB, миры хранятся локально.

В статье — установка в разных дистрибутивах, первый запуск, настройка графики, подключение модов, выделенный сервер и резервные копии. Примеры подходят для Debian и Ubuntu.

Движок, игра и моды

Важно различать три сущности. Движок Luanti отвечает за графику, физику, сеть и загрузку контента. Игра — это набор правил, блоков и рецептов, например Minetest Game, VoxeLibre или Mineclonia. Мод расширяет игру и подключается к конкретному миру. Начиная с версии 5.8 Minetest Game не входит в поставку по умолчанию, поэтому после установки движка нужно отдельно установить игру. Без неё меню создания мира покажет пустой список, и это нормальное поведение, а не ошибка сборки.

Установка

В Debian 13 и свежих Ubuntu пакет называется luanti. В Ubuntu 24.04 и Linux Mint 22 пакет называется minetest; проверьте оба имени, прежде чем искать сторонние сборки:

apt-cache policy luanti minetest
sudo apt install luanti
luanti --version

Если luanti не найден, установите minetest: возможности и форматы миров совместимы, но версия может быть старше.

Если в репозитории старая версия, а нужна актуальная, используйте официальный Flatpak. Идентификатор приложения после переименования — org.luanti.luanti:

flatpak install flathub org.luanti.luanti
flatpak run org.luanti.luanti

Flatpak хранит данные внутри ~/.var/app/org.luanti.luanti, а не в ~/.minetest. Точный путь показывает кнопка открытия каталога данных в меню «О программе». Переменная LUANTI_USER_PATH позволяет задать каталог данных явно, что пригодится для сервера.

Первый мир

Запустите luanti, откройте вкладку Content и установите игру из ContentDB. Для первого знакомства подойдёт Minetest Game: спокойная песочница без встроенных монстров. VoxeLibre ближе к Minecraft с выживанием, Mineclonia — вариант с мобами. После установки игры вернитесь на вкладку миров, нажмите «Создать» и выберите установленную игру. Сид можно оставить пустым, тип генерации — по умолчанию; для первого мира не стоит включать экспериментальные параметры.

Мир создаётся в ~/.minetest/worlds/<имя>. Внутри лежат map.sqlite с блоками, world.mt с настройками мира и файлы игроков. Если экспериментируете с генерацией, создайте отдельный мир: существующие чанки не перерисуются, на границе появятся швы.

Настройки клиента

Глобальный файл настроек — ~/.minetest/minetest.conf. Его можно править вручную или через меню Settings, который записывает те же ключи. После изменения файла клиент нужно перезапустить. Часть значений снижает нагрузку на слабую графику.

player_name = Alex
viewing_range = 120
fps_max = 60
enable_3d_clouds = false
leaves_style = simple
smooth_lighting = false
enable_damage = true
creative_mode = false

viewing_range задаётся в узлах: 120 — компромисс между обзором и нагрузкой, для встроенной графики можно начать с 80. leaves_style = simple рисует листву проще, smooth_lighting = false отключает сглаживание света, а enable_3d_clouds = false убирает объёмные облака. enable_damage включает урон, creative_mode — бесконечные ресурсы.

Управление по умолчанию: WASD — движение, пробел — прыжок, Shift — красться, E — инвентарь, T — чат, Esc — меню, F10 — консоль, F12 — скриншот. Клавиши меняются в Settings → Controls.

Моды и ContentDB

Безопаснее ставить моды через ContentDB: он проверяет зависимости и кладёт файлы в нужный каталог. При ручной установке распакуйте архив в ~/.minetest/mods/ так, чтобы внутри оказался init.lua, а не лишняя вложенная папка. Для модов, привязанных только к одному миру, используйте worlds/<имя>/worldmods/. После установки включите мод в настройках мира и проверьте журнал на ошибки зависимостей.

mkdir -p ~/.minetest/mods
unzip mod.zip -d ~/.minetest/mods/
ls ~/.minetest/mods

Мод — исполняемый код на Lua, поэтому не берите архивы из случайных файлообменников и держите клиент обновлённым: исправления безопасности выходят регулярно. Если мод не появился в списке, проверьте имя папки, наличие mod.conf и зависимости, указанные в нём.

Свой сервер

Для игры по локальной сети достаточно пункта «Хостить сервер». Для постоянного сервера запускайте luantiserver: он работает без окна. Сначала установите игру в каталог данных пользователя, от которого будет работать сервер, затем создайте мир.

luantiserver --worldname TestWorld --gameid minetest_game --port 30000

Порт по умолчанию — 30000 UDP. В конфиге сервера задайте лимит игроков и сообщение при входе. Не включайте server_announce = true, пока не готовы к публичному трафику: сервер попадёт в общий список. Для публичного запуска откройте UDP-порт на файрволе и на роутере, но сначала настройте модерацию и protection-мод: открытый сервер быстро становится площадкой для гриферов.

port = 30000
max_users = 10
server_announce = false
motd = Добро пожаловать на тестовый сервер
enable_rollback_recording = true

enable_rollback_recording позволяет откатывать действия игроков, но не заменяет резервные копии: изменения, сделанные модами, движок может не отследить. Для постоянной работы оформите systemd-юнит с отдельным пользователем. Путь к бинарнику проверьте через command -v luantiserver.

Резервные копии и диагностика

Останавливайте сервер перед копированием файлов. Копирование map.sqlite на работающем сервере может дать повреждённый файл, поэтому мир останавливают перед архивацией:

mkdir -p ~/backups
tar -czf ~/backups/luanti-$(date +%F).tar.gz \
  -C ~/.minetest/worlds TestWorld

Если игра не запускается, смотрите ~/.minetest/debug.txt: там указаны отсутствующие зависимости и ошибки рендера. Чёрный экран чаще всего связан с драйвером OpenGL: начиная с 5.11 требуется OpenGL 2.0, а на старых видеокартах помогает снижение дальности прорисовки.

  • Чёрный экран — проверьте драйвер OpenGL и снизьте viewing_range.
  • Пустой список игр — установите игру через ContentDB.
  • Сервер не отвечает — проверьте UDP-порт, адрес привязки и версии модов.
  • Ошибка мода — откройте debug.txt и проверьте зависимости.

Итог

Luanti — редкий пример песочницы, которую можно полностью понять и контролировать: движок, игры и моды открыты, миры лежат у вас на диске, а сервер запускается одной командой. Начните с Minetest Game, поставьте пару модов через ContentDB, поиграйте по сети, а затем переносите мир на выделенный сервер. Не забывайте про резервные копии и обновления: в воксельном мире потеря карты ощущается гораздо сильнее, чем потеря настроек.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте