Перейти к содержимому

Команды сервера

laminara-server — это и демон, и клиент к нему. Одни команды управляют самим процессом, другие выполняются внутри запущенного сервера.

Управление процессом

КомандаЧто делает
start --config <путь>Запускает сервер в текущем терминале. Демонизируют его systemd или Docker.
status [--json]Состояние запущенного сервера.
stopОстанавливает сервер.
console [--nerd]Полноэкранная интерактивная консоль: живые логи, мастера сборок и прогресс. --nerd включает иконки Nerd Font.
logs [-f] [--level ..] [--source ..] [--backscroll N]Поток логов. -f — следить дальше, --backscroll — сколько строк истории показать сразу.
exec "<команда>"Выполняет одну команду сервера и выходит. Код возврата пробрасывается — удобно для скриптов.
versionПечатает установленную версию сервера.
update [--check] [--config <путь>]Ставит свежий релиз с GitHub: сверяет хеш, проверяет версию скачанного файла и заменяет им текущий. --check — только посмотреть. Подробнее — Обновление сервера.
doctor --config <путь> [раздел…]Проверяет каждый раздел настроек в деле: базы отвечают, файлы заливаются и скачиваются, подпись сходится. --as <ник> проходит весь путь игрока, --fix чинит безопасное, --json для мониторинга. Ненулевой код, если что-то не так. Подробнее — Обслуживание.
backup --config <путь> [--out <файл>]Складывает в один архив настройки, ключи, соль отпечатков и базу компьютеров. Сборки и файлы хранилища в архив не идут.
restore --archive <файл> [--into <папка>] [--force]Раскладывает архив обратно. Существующие файлы не трогает без --force.
hash [--algo argon2id] [--cost N] [пароль]Хеширует пароль для файла аккаунтов (читает stdin, если аргумент не задан). --cost задаёт стоимость bcrypt (4–31, по умолчанию 10); проверке чужих хешей она не нужна — там стоимость берётся из самой строки.
client-config --config <путь> --endpoint <адрес>Печатает конфигурацию, которую записывают в лаунчер при сборке: адреса, набор ключей подписи, соль отпечатка, оформление. Повторите --endpoint для запасного адреса — лаунчер сам выберет живой.
nginx-config --config <путь> --domain <домен проекта> [--no-tls]Печатает конфиг nginx под этот сервер: порт слушателя и путь к хранилищу берутся из конфига. --no-tls — один блок на :80 для первого запуска, пока certbot не выписал сертификат.
settings <путь> [значение] [--config <путь>]Показывает или меняет одну настройку. Когда сервер запущен, команда уходит ему — как settings в консоли. Когда не запущен, правит файл настроек напрямую, и тогда нужен --config.
systemd-config --config <путь> [--binary <путь>] [--user laminara] [--group laminara]Печатает unit systemd под этот сервер. Каталоги в ReadWritePaths собираются из конфига — хранилище вне каталога данных тоже попадёт туда. PrivateTmp=true стоит всегда: без него ProtectSystem=strict делает /tmp доступным только для чтения, а туда пишут публикация, сборка лаунчера и модули.

console, status, logs и exec подключаются к работающему демону через Unix-сокет.

Команды сервера

Выполняются в console или через exec. Список для обоих один — команды живут в едином реестре.

versions [запрос]

Список версий Minecraft. Необязательный запрос фильтрует вывод: versions 1.21.

loaders <версия>

Загрузчики, доступные для версии Minecraft, и их актуальные версии, а под старые версии — ещё и рецепты совместимости.

install <имя> <версия> [loader=..] [loaderVersion=..] [compat=..] [platform=..] [java=..]

Собирает клиент в папку профиля. Аргументы разобраны в разделе Подготовка сборок. compat= включает рецепт совместимости для старых версий. Алиас: prepare.

publish <имя>

Публикует собранный профиль: составляет и подписывает манифест.

builds

Список собранных и опубликованных клиентов с их статусом.

build <имя>

Всё об одной сборке: версия Minecraft и загрузчик, Java, размер, платформы, дата публикации, адрес сервера с онлайном и правила доступа. Алиас: info.

players

Кто сейчас в игре на серверах сборок: онлайн, вместимость и имена. Адрес берётся из serverAddress опубликованной сборки. Алиасы: online, who.

delete <имя>

Удаляет сборку (папку профиля и опубликованный манифест). Алиасы: deletebuild, remove.

auth list | add | passwd | remove

Аккаунты игроков, когда их хранит сам Laminara (адаптер jsonfile). auth add <логин> [пароль] [uuid] заводит игрока — без пароля придумает его сам и покажет один раз; auth passwd <логин> [пароль] меняет пароль, auth remove <логин> убирает, auth list показывает всех. С адаптерами sql и http аккаунты заводятся там, где вы их храните, и команда об этом скажет.

auth test <логин> <пароль> [код]

Проверяет пару логин/пароль через настроенный адаптер; для игрока с двухфакторкой укажите код третьим. auth validate <токен> проверяет токен доступа. auth totp <логин> выпускает секрет двухфакторки — как подключать, в Аутентификации.

access rules · access check <сборка> <ник> · access reload

Показывает действующие правила доступа, объясняет решение по конкретному игроку и сбрасывает кэш источников. Подробнее — Доступ к сборкам.

hwid · machines · ban · bans

Узнавание машин и блокировки: hwid показывает настройки, machines <ник> — машины игрока, ban <ник> <причина> банит, bans перечисляет и снимает. Подробнее — Машины и баны.

signing keys · signing new <путь>

Показывает набор ключей и создаёт следующий. Порядок смены — Ключ подписи.

settings · settings <раздел> · settings <путь> [значение]

Настройки проекта: без аргументов — разделы, с разделом — его поля и списки, с путём — одна настройка с подсказкой и вариантами. settings <путь> <значение> меняет и сразу записывает файл настроек, settings clear <путь> возвращает значение по умолчанию, settings add <список> [имя] и settings remove <путь> правят списки (правила доступа, списки допущенных, настройки модулей). Алиас: config.

restart

Перезапускает проект на месте — с новыми настройками. Процесс остаётся тем же, systemd и docker перезапуск не замечают, консоль подключается сама.

launcher build [версия] · launcher versions · launcher publish <версия> · launcher status

build делает лаунчер для игроков без компилятора: берёт заготовку из релиза, впечатывает адрес, ключи и оформление и сразу выпускает. Остальное — про уже готовые файлы: показать выложенное, опубликовать каталог новой версии (тип и платформа определяются по имени файла). Подробнее — Сборка лаунчера и Обновления лаунчера.

web · web status · web forget

Консоль в браузере: выдать одноразовую ссылку на вход, показать открытые сеансы, закрыть их все. Подробнее — Консоль.

modules

Загруженные модули: имя, версия, описание. Как писать модули — Модули.

status · version · help

Состояние сервера, его версия и список всех команд.