Отчёты о падениях
Когда игра завершается с ошибкой, лаунчер показывает окно с последними строками журнала и кнопкой «Отправить разработчикам»: журнал уходит на сервер, а тот раскладывает его по адресам, которые вы указали. Кнопка «Весь журнал» в том же окне открывает консоль игры с поиском и фильтром по ошибкам.
Что уходит
- ник и 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" } } } }}Отчёт уходит во все адреса сразу. Если один из них не ответил, остальные всё равно получат отчёт, а в журнале сервера появится строка о том, кто именно молчал. Если приём не включён, кнопка в лаунчере вернёт понятный отказ, а не тишину.
| Куда | Что нужно | Как приходит |
|---|---|---|
discord | url вебхука, необязательное username | Сообщение со сводкой и журналом файлом crash.log |
telegram | token бота и chatId | Документ crash.log с подписью-сводкой |
http | url, необязательные headers | POST с JSON: поля отчёта и журнал строкой |
file | dir | Отдельный файл на каждый отчёт |
maxPerHour — предел отчётов от одного игрока в час, по умолчанию 20. Он существует ради того,
кто зажал кнопку: остальные при этом продолжают отправлять свои.
Журнал лаунчера
Отправить можно и журнал самого лаунчера: кнопкой «Отправить разработчикам» в настройках или «Отправить журнал» рядом с ошибкой. Он нужен, когда игра даже не запускается: сборка не качается, вход не проходит, лаунчер пишет «Сервер не отвечает». Уходят последние 256 КБ файла launcher.log, версия лаунчера и система. В Discord и Telegram такой отчёт подписан «журнал лаунчера» и приходит файлом launcher.log.
Журнал чаще всего нужен тому, кто как раз не может войти, поэтому по умолчанию сервер принимает его и без входа. Такой отчёт подписан «игрок без входа» и адресом, с которого он пришёл, а с одного адреса принимается не больше трёх в час: так никто не засыплет ваш канал. Вошедший игрок отправляет журнал под своим ником, и для него действует обычный maxPerHour.
{ "crashReports": { "anonymous": true, "anonymousPerHour": 3 }}anonymous: false принимает журнал только после входа.
Те же поля правятся в консоли: settings, раздел «Отчёты о падениях».