DayZ: как читать логи после ошибок XML, JSON и init.c
Настройка сервера / Todtleben / 1 просмотров
DayZ: как читать логи после ошибок XML, JSON и init.c
Когда сервер не запускается или ведет себя странно, не надо сразу переставлять все моды. Сначала открываем логи.
Где искать
Обычно в папке профиля сервера:
profiles/
profiles/script.log
profiles/crash.log
profiles/*.RPT
Путь зависит от параметра -profiles в запуске сервера.
script.log
Главный файл для ошибок скриптов.
Если сломали init.c, чаще всего причина будет здесь:
- пропущенная скобка;
- неправильный тип;
- несуществующая функция;
- неправильный класс предмета;
- конфликт после установки мода.
RPT
Большой общий лог сервера. Там можно найти:
- загрузку модов;
- ошибки economy;
- проблемы с файлами миссии;
- предупреждения;
- краши;
- сетевые сообщения.
crash.log
Если сервер упал, смотрите сюда. Но не каждый баг дает понятный crash.log.
Ошибки XML
Типичные признаки:
- не закрыт тег;
- лишний символ;
- неправильная вложенность;
- два одинаковых блока там, где нельзя.
Если после правки types.xml пропал лут, сначала проверьте валидность XML.
Ошибки JSON
Для cfggameplay.json частая ошибка - лишняя запятая.
Плохо:
{
"setting": true,
}
В JSON после последнего поля запятая не нужна.
Ошибки init.c
Если сервер не стартует после изменения init.c, откатитесь к последней рабочей версии и переносите изменения кусками.
Мой порядок диагностики
- Что меняли последним?
- Открыть свежий лог.
- Найти первую ошибку, а не десятую.
- Исправить одну вещь.
- Перезапустить сервер.
- Проверить снова.
Первая ошибка часто порождает остальные. Не надо чинить весь лог сразу.
Совет
Держите папку с бэкапами:
backup/init_works.c
backup/types_before_mod.xml
backup/cfggameplay_before_changes.json
Это скучно ровно до первого ночного краша сервера. Потом это лучшее решение на свете.