Логи сервера Valheim: как включить -logFile и найти этап сбоя
При проблеме с выделенным сервером сначала сохраните журнал одного запуска. По нему можно отделить загрузку мира от подключения к сетевому сервису и увидеть, на каком этапе появляется первая ошибка. Менять мир, порты и сетевой режим одновременно неудобно: после этого трудно понять, какое изменение повлияло на результат.
Как включить отдельный файл журнала
- Откройте используемый сценарий запуска сервера. Для штатной поставки это start_headless_server.bat на Windows или start_server.sh на Linux.
- Работайте с собственной копией сценария: обновление Steam может заменить исходный файл.
- Добавьте к параметрам серверного процесса -logFile и путь к файлу, например -logFile "d:\log.txt" на Windows. Путь относится к машине, на которой работает сервер.
- При следующем запуске используйте именно отредактированную копию: штатный ярлык Steam указывает на исходный файл. Проверьте, появился ли журнал по выбранному пути, и сохраните его до очередных изменений настроек.
Какие этапы различать
| Что искать | Что это помогает проверить |
|---|---|
| Zonesystem и DungeonDB | Инициализация и загрузка данных мира |
| Load world и строки загрузки объектов | Какой мир сервер пытается загрузить и до какого этапа дошёл |
| Game server connected | Подключение сетевой части; официальный справочник использует это сообщение как признак готовности |
| Game server connected error | Проблема подключения к Steam Connection Manager; её нужно отличать от ошибки загрузки мира |
Для диагностики читайте не только последнюю строку: найдите первое сообщение об ошибке и сохраните несколько строк до и после него. Если данные мира ещё не загрузились, наличие ранних сообщений сетевого процесса не доказывает, что сервер уже способен обслуживать игроков.
Отдельный журнал соединений Steam на Linux
У Steam есть собственные журналы соединений в /home/your-username/.steam/logs. Для сервера на стандартном порту пример имени — connection_log_2456.txt; число соответствует порту сервера. Это другой файл, а не замена игровому журналу, заданному через -logFile. Ищите его от имени пользователя, под которым запущен сервер.
Что записать вместе с ошибкой
- Версии клиента и выделенного сервера, а также наличие модов.
- Имя загружаемого мира, платформу сервера и время проблемного запуска.
- Используемый сетевой режим: Steam или Crossplay, плюс заданный порт.
- Первую ошибку с контекстом и последнее успешно пройденное состояние загрузки.
- Что именно не работает: запуск процесса, появление в списке или вход конкретного игрока.
Не смешивайте Steam и Crossplay при проверке
Без -crossplay сервер использует Steam backend. С -crossplay работает Crossplay через PlayFab. У этих режимов разные пути подключения: официальный справочник отдельно указывает, что Crossplay не принимает вход по локальному или loopback-адресу. Поэтому запишите режим до проверки адреса и не трактуйте отсутствие локального входа как доказательство повреждённого мира.
Гайд был полезен?