Команды сервера
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
Состояние сервера, его версия и список всех команд.