MAATRIX / Блог / Valheim на сервере: частые ошибки и решения

Valheim на сервере: частые ошибки и решения

Valheim на сервере: частые ошибки и решения

MAATRIX

Valheim — лёгкий сервер, и проблемы с ним обычно не про железо, а про специфику запуска: обязательный пароль, пути к библиотекам, диапазон портов и перенос мира. Сервер не стартует, не находит библиотеки, не виден друзьям. Разберём частые ошибки сервера Valheim по симптому, причине и решению с командами — почти все они решаются за пару минут, если знать, куда смотреть.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Сервер не запускается из-за пароля

Одна из самых частых заминок у новичков: сервер запускается и тут же завершается, а в логе сообщение про недопустимый пароль. Причина в особенности Valheim — сервер требует пароль не короче пяти символов и отказывается стартовать без него или с коротким паролем. Это защита от случайно открытого сервера.

Проверьте параметр пароля в команде запуска или юните.

grep password /etc/systemd/system/valheim.service

Убедитесь, что пароль задан и содержит минимум пять символов. Есть и второе требование: пароль не должен совпадать или содержаться в имени сервера — Valheim это тоже проверяет и отклоняет такой пароль. Если вы назвали сервер и пароль похоже, смените пароль на непохожий. После правки выполните daemon-reload и перезапустите сервис. Эта ошибка выглядит загадочно, пока не знаешь про требования к паролю, но лечится одной строкой.

Сервер не находит свои библиотеки

Сервер падает при старте с сообщением об отсутствующей библиотеке вроде libsteam_api или steamclient. Причина в том, что Valheim держит свои библиотеки в подкаталоге сервера, и система должна знать путь к ним через переменную окружения. Без правильно заданного LD_LIBRARY_PATH сервер не находит нужные файлы.

Проверьте, что переменные окружения заданы в юните.

grep -E 'LD_LIBRARY_PATH|SteamAppId' /etc/systemd/system/valheim.service

В юните должны присутствовать две переменные: LD_LIBRARY_PATH с путём к подкаталогу linux64 внутри сервера и SteamAppId с идентификатором игры. Первая указывает системе, где искать библиотеки, вторая инициализирует Steam-часть сервера. Если вы запускаете сервер не через systemd, а прилагаемым скриптом start_server.sh, он выставляет эти переменные сам — поэтому запуск через штатный скрипт работает, а прямой запуск бинарника падает. При написании юнита переменные надо прописать вручную.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Сервер работает, но друзья не видят и не могут зайти

Сервер запущен, в консоли всё чисто, но подключиться никто не может. Начните с портов. Valheim использует диапазон 2456-2458 по UDP, причём важно открыть все три порта, а не только основной. Основной порт для игры, соседние для запросов и служебного трафика.

ufw allow 2456:2458/udp
ufw status
ss -ulnp | grep 2456

Частая ошибка — открыть только 2456 и удивляться, почему сервер нестабильно виден. Откройте весь диапазон по UDP. Вторая тонкость касается видимости в общем списке: если сервер запущен с параметром -public 1, но всё равно не появляется в браузере, дело может быть в том, что публичный список Valheim бывает капризным. Для приватной игры это не проблема — ставьте -public 0 и подключайтесь напрямую по IP через меню, введя адрес и пароль. Прямое подключение надёжнее общего списка.

Игроки не могут подключиться по прямому IP

Вы даёте другу IP и порт, а он всё равно не заходит. Тонкость Valheim в том, что для прямого подключения в клиенте нужно указывать порт запросов, а он на единицу больше игрового — то есть при игровом порте 2456 в адресе подключения указывается 2457. Это неочевидно и сбивает с толку. Проверьте, что друг вводит правильный порт в поле прямого подключения.

Стоит заранее предупредить друзей об этой особенности, потому что она сбивает с толку буквально всех, кто подключается впервые: очевидно кажется, что вводить надо игровой порт из команды запуска, а на деле нужен соседний. Если и с правильным портом не выходит, вернитесь к фаерволу и убедитесь, что открыт весь диапазон. Также проверьте, что игрок вводит верный пароль — при неверном пароле Valheim не всегда даёт внятную ошибку, иногда просто не пускает. И конечно, убедитесь, что сам сервер действительно запущен и слушает порты командой ss. Когда все три условия — открытые порты, правильный порт запросов в адресе и верный пароль — выполнены, подключение проходит.

Потеря или повреждение мира

После сбоя сервер загрузился, но мир откатился или повреждён. Valheim хранит каждый мир парой файлов в каталоге сохранений, и при жёстком завершении в момент записи файл может пострадать. Хорошая новость: Valheim ведёт резервные копии мира сам, добавляя к файлам метку. Но полагаться только на них не стоит.

Первым делом сделайте копию текущего состояния, не запуская сервер поверх, чтобы не затереть последнее рабочее сохранение неудачной попыткой загрузки.

cp -r /home/valheim/.config/unity3d/IronGate/Valheim/worlds_local /home/valheim/worlds-broken-copy

Если у вас настроен бэкап через cron, восстановитесь из последней копии. Если нет, поищите встроенные резервные файлы Valheim в том же каталоге — иногда они спасают. Вывод прежний: настройте регулярное архивирование каталога worlds_local и храните копии отдельно. Мир в Valheim это результат десятков часов игры компании, и терять его из-за отсутствия бэкапа обидно, тем более что настраивается копирование одной строкой в cron.

Сервер не поднимается после перезагрузки или обновления

После ребута VPS или патча игры сервер не стартовал. Проверьте состояние сервиса и журнал.

systemctl status valheim
journalctl -u valheim -n 40

Две частые причины. Первая — не обновлены серверные файлы после патча: клиенты на новой версии не подключатся к старому серверу. Обновите сервер командой SteamCMD с app_update 896660. Вторая — ошибка в юните: отсутствие переменных окружения, неверный путь или короткий пароль, всё это роняет сервис при старте, и журнал journalctl покажет причину. После правки выполните daemon-reload и включите автозапуск через systemctl enable. Учтите, что после крупного обновления мир, как правило, совместим, но бэкап перед обновлением всё равно стоит сделать на всякий случай.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Почему сервер Valheim не запускается сразу после старта?

Скорее всего, пароль короче пяти символов или совпадает с именем сервера. Valheim требует пароль минимум из пяти знаков, непохожий на название. Задайте подходящий и перезапустите.

Сервер падает с ошибкой libsteam_api — что делать?

Не задана переменная LD_LIBRARY_PATH с путём к библиотекам сервера. Пропишите её и SteamAppId в systemd-юните, иначе сервер не найдёт свои библиотеки при прямом запуске.

Друг не может подключиться по прямому IP — почему?

В адресе прямого подключения нужно указывать порт запросов, на единицу больше игрового: при порте 2456 вводится 2457. Также проверьте открытый диапазон 2456-2458 и верный пароль.

Как не потерять мир на сервере Valheim?

Настройте архивирование каталога worlds_local через cron и храните копии отдельно. Valheim ведёт и встроенные резервные файлы, но полагаться только на них не стоит.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.