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

Отчёты о падениях

Когда игра завершается с ошибкой, лаунчер показывает окно с последними строками журнала и кнопкой «Отправить разработчикам»: журнал уходит на сервер, а тот раскладывает его по адресам, которые вы указали. Кнопка «Весь журнал» в том же окне открывает консоль игры с поиском и фильтром по ошибкам.

Что уходит

  • ник и UUID игрока — сервер берёт их из сессии, лаунчер их не подставляет;
  • имя сборки, версия Minecraft и загрузчик;
  • код, с которым завершилась игра;
  • система игрока, её версия и версия лаунчера;
  • журнал игры целиком, до 256 КБ с конца.

Ничего из этого игрок не редактирует: отчёт собирается лаунчером и подписывается его сессией. Отчёт о падении игры отправляется только после входа. Журнал лаунчера можно отправить и без входа, но с жёстким лимитом по адресу, об этом ниже.

Настройка

{
"crashReports": {
"enabled": true,
"maxPerHour": 20,
"sinks": {
"main": {
"type": "discord",
"config": { "url": "https://discord.com/api/webhooks/…" }
},
"backup": {
"type": "file",
"config": { "dir": "/var/log/laminara/crashes" }
}
}
}
}

Отчёт уходит во все адреса сразу. Если один из них не ответил, остальные всё равно получат отчёт, а в журнале сервера появится строка о том, кто именно молчал. Если приём не включён, кнопка в лаунчере вернёт понятный отказ, а не тишину.

КудаЧто нужноКак приходит
discordurl вебхука, необязательное usernameСообщение со сводкой и журналом файлом crash.log
telegramtoken бота и chatIdДокумент crash.log с подписью-сводкой
httpurl, необязательные headersPOST с JSON: поля отчёта и журнал строкой
filedirОтдельный файл на каждый отчёт

maxPerHour — предел отчётов от одного игрока в час, по умолчанию 20. Он существует ради того, кто зажал кнопку: остальные при этом продолжают отправлять свои.

Журнал лаунчера

Отправить можно и журнал самого лаунчера: кнопкой «Отправить разработчикам» в настройках или «Отправить журнал» рядом с ошибкой. Он нужен, когда игра даже не запускается: сборка не качается, вход не проходит, лаунчер пишет «Сервер не отвечает». Уходят последние 256 КБ файла launcher.log, версия лаунчера и система. В Discord и Telegram такой отчёт подписан «журнал лаунчера» и приходит файлом launcher.log.

Журнал чаще всего нужен тому, кто как раз не может войти, поэтому по умолчанию сервер принимает его и без входа. Такой отчёт подписан «игрок без входа» и адресом, с которого он пришёл, а с одного адреса принимается не больше трёх в час: так никто не засыплет ваш канал. Вошедший игрок отправляет журнал под своим ником, и для него действует обычный maxPerHour.

{
"crashReports": {
"anonymous": true,
"anonymousPerHour": 3
}
}

anonymous: false принимает журнал только после входа.

Те же поля правятся в консоли: settings, раздел «Отчёты о падениях».