Установка игрового сервера Valheim на Linux: различия между версиями

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к навигации Перейти к поиску
Снимки экрана выводятся в натуральном размере
Снимки экрана уменьшаются до ширины текста
Метка: ручная отмена
Строка 18: Строка 18:
'''Окно выбора раскладки клавиатуры.''' Обновление остановится и покажет окно «Configuring keyboard-configuration». Ничего менять не нужно: нажмите '''Enter''', в следующем окне снова '''Enter'''.
'''Окно выбора раскладки клавиатуры.''' Обновление остановится и покажет окно «Configuring keyboard-configuration». Ничего менять не нужно: нажмите '''Enter''', в следующем окне снова '''Enter'''.


[[Файл:Ubuntu-apt-keyboard-dialog.png]]
[[Файл:Ubuntu-apt-keyboard-dialog.png|800px]]


'''Сообщение о новом ядре.''' Если в конце вы видите «Pending kernel upgrade», система обновила ядро и ждёт перезагрузки.
'''Сообщение о новом ядре.''' Если в конце вы видите «Pending kernel upgrade», система обновила ядро и ждёт перезагрузки.


[[Файл:Ubuntu-apt-kernel-reboot.png]]
[[Файл:Ubuntu-apt-kernel-reboot.png|800px]]


Перезагрузите сервер и подключитесь снова через минуту:
Перезагрузите сервер и подключитесь снова через минуту:
Строка 69: Строка 69:
app_update 896660 validate</pre>
app_update 896660 validate</pre>


[[Файл:Valheim-linux-steamcmd-login.png]]
[[Файл:Valheim-linux-steamcmd-login.png|800px]]


Загрузка 2,2 ГБ занимает около 5 минут. Дождитесь строки «Success! App '896660' fully installed.»:
Загрузка 2,2 ГБ занимает около 5 минут. Дождитесь строки «Success! App '896660' fully installed.»:


[[Файл:Valheim-linux-steamcmd-install.png]]
[[Файл:Valheim-linux-steamcmd-install.png|800px]]


Выйдите из SteamCMD:
Выйдите из SteamCMD:
Строка 83: Строка 83:
<pre>ls /home/valheim/valheim-server</pre>
<pre>ls /home/valheim/valheim-server</pre>


[[Файл:Valheim-linux-files.png]]
[[Файл:Valheim-linux-files.png|800px]]


== 6. Создайте скрипт запуска ==
== 6. Создайте скрипт запуска ==
Строка 143: Строка 143:
<pre>sudo systemctl status valheim-server --no-pager -n 0</pre>
<pre>sudo systemctl status valheim-server --no-pager -n 0</pre>


[[Файл:Valheim-linux-service-status.png]]
[[Файл:Valheim-linux-service-status.png|800px]]


Сервер готов принимать игроков, когда в его журнале появилась строка «Game server connected». Вторая команда показывает, что порты 2456 и 2457 заняты сервером (порт 2456 появляется через несколько секунд после этой строки):
Сервер готов принимать игроков, когда в его журнале появилась строка «Game server connected». Вторая команда показывает, что порты 2456 и 2457 заняты сервером (порт 2456 появляется через несколько секунд после этой строки):
Строка 150: Строка 150:
sudo ss -uln | grep 245</pre>
sudo ss -uln | grep 245</pre>


[[Файл:Valheim-linux-journal.png]]
[[Файл:Valheim-linux-journal.png|800px]]


Управление службой:
Управление службой:
Строка 170: Строка 170:
<pre>sudo ufw status</pre>
<pre>sudo ufw status</pre>


[[Файл:Valheim-linux-ufw.png]]
[[Файл:Valheim-linux-ufw.png|800px]]


== 10. Зайдите на сервер ==
== 10. Зайдите на сервер ==

Версия от 17:41, 14 ноября 2026

Инструкция по установке выделенного сервера Valheim на VDS с Ubuntu 24.04. Все команды и снимки экрана сняты с настоящего сервера: инструкция проверена 14 ноября 2026 года на чистой Ubuntu 24.04.4.

Что понадобится

  • VDS с Ubuntu 24.04 LTS и доступом root по SSH.
  • Память: пустой сервер занимает около 1,5 ГБ; с игроками и большим миром — больше. Берите VDS от 4 ГБ.
  • Диск: файлы сервера занимают 2,2 ГБ; с запасом на обновления и миры нужно от 5 ГБ свободного места.
  • Процессор: от 2 ядер.

Учётная запись Steam и купленная игра для установки сервера не нужны.

1. Обновите систему

sudo apt update && sudo apt upgrade -y

На свежей системе обновление идёт от 5 минут до получаса. По ходу могут появиться два места, где нужно ваше участие.

Окно выбора раскладки клавиатуры. Обновление остановится и покажет окно «Configuring keyboard-configuration». Ничего менять не нужно: нажмите Enter, в следующем окне снова Enter.

Сообщение о новом ядре. Если в конце вы видите «Pending kernel upgrade», система обновила ядро и ждёт перезагрузки.

Перезагрузите сервер и подключитесь снова через минуту:

sudo reboot

2. Установите нужные пакеты

sudo apt install -y wget lib32gcc-s1 lib32stdc++6 libatomic1 libpulse0 libpulse-mainloop-glib0
  • lib32gcc-s1 и lib32stdc++6 нужны программе SteamCMD, через которую скачивается сервер.
  • libatomic1, libpulse0 и libpulse-mainloop-glib0 нужны самому серверу для режима кроссплея. Без них сервер запускается, но в журнале появляется ошибка DllNotFoundException: libParty.so, а кроссплей не работает.

3. Создайте пользователя для сервера

Игровой сервер не должен работать от root. Создайте для него отдельного пользователя:

sudo useradd -m -s /bin/bash valheim

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

4. Скачайте SteamCMD

sudo mkdir -p /opt/steamcmd
cd /opt/steamcmd
sudo wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
sudo tar -xzf steamcmd_linux.tar.gz
sudo chown -R valheim:valheim /opt/steamcmd

Архив маленький (2,3 МБ), но с серверов Steam он может качаться около минуты — это нормально.

5. Установите сервер Valheim

Переключитесь на пользователя valheim и запустите SteamCMD:

sudo su - valheim
cd /opt/steamcmd
./steamcmd.sh

При первом запуске SteamCMD скачивает собственное обновление (около 40 МБ). С серверов Steam оно может идти несколько минут — дождитесь приглашения Steam> и ничего не вводите раньше.

Затем введите по очереди три команды. Порядок важен: каталог установки задаётся до входа.

force_install_dir /home/valheim/valheim-server
login anonymous
app_update 896660 validate

Загрузка 2,2 ГБ занимает около 5 минут. Дождитесь строки «Success! App '896660' fully installed.»:

Выйдите из SteamCMD:

quit

Проверьте, что файлы на месте:

ls /home/valheim/valheim-server

6. Создайте скрипт запуска

В каталоге сервера уже есть образец start_server.sh, но править его не стоит: при обновлении игры Steam перезапишет его. Создайте свой файл:

nano /home/valheim/valheim-server/start-server.sh

Вставьте в него:

#!/bin/bash
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
export SteamAppId=892970
exec ./valheim_server.x86_64 -nographics -batchmode -name "My Valheim" -port 2456 -world "Dedicated" -password "Secret123" -public 1

Замените значения на свои:

  • -name — название сервера в списке серверов.
  • -world — имя мира. Если мира с таким именем нет, сервер создаст новый.
  • -password — пароль для входа. Он должен быть не короче 5 символов и, по требованию разработчиков игры, не должен входить в название сервера. С коротким паролем сервер не запустится, в журнале будет строка «Error bad password: The password is too short».
  • -public 1 — показывать сервер в общем списке; -public 0 — вход только по адресу.
  • -port 2456 — порт игры. Сервер занимает его и следующий за ним (2457).

Сохраните файл (в nano: Ctrl+O, Enter, Ctrl+X), сделайте его исполняемым и вернитесь к root:

chmod +x /home/valheim/valheim-server/start-server.sh
exit

7. Настройте автозапуск

Чтобы сервер запускался вместе с системой и поднимался после сбоя, создайте для него службу:

sudo nano /etc/systemd/system/valheim-server.service

Вставьте:

[Unit]
Description=Valheim Dedicated Server
After=network.target

[Service]
Type=simple
User=valheim
WorkingDirectory=/home/valheim/valheim-server
ExecStart=/home/valheim/valheim-server/start-server.sh
Restart=always

[Install]
WantedBy=multi-user.target

8. Запустите сервер и проверьте его

sudo systemctl daemon-reload
sudo systemctl enable valheim-server
sudo systemctl start valheim-server

Первый запуск создаёт мир и занимает до минуты. Проверьте состояние службы — должно быть active (running):

sudo systemctl status valheim-server --no-pager -n 0

Сервер готов принимать игроков, когда в его журнале появилась строка «Game server connected». Вторая команда показывает, что порты 2456 и 2457 заняты сервером (порт 2456 появляется через несколько секунд после этой строки):

sudo journalctl -u valheim-server -o cat | grep "Game server connected" | tail -1
sudo ss -uln | grep 245

Управление службой:

sudo systemctl stop valheim-server      # остановить (мир при этом сохраняется)
sudo systemctl restart valheim-server   # перезапустить
sudo journalctl -u valheim-server -f    # смотреть журнал, выход — Ctrl+C

9. Откройте порты в файрволе

Внимание: сначала разрешите SSH и только потом включайте файрвол. Иначе связь с сервером оборвётся. Если SSH у вас на нестандартном порту, вместо первой команды выполните sudo ufw allow НОМЕР_ПОРТА/tcp.

sudo ufw allow OpenSSH
sudo ufw allow 2456:2458/udp
sudo ufw enable

Если появится вопрос «Command may disrupt existing ssh connections. Proceed with operation (y|n)?», ответьте y. Проверьте результат:

sudo ufw status

10. Зайдите на сервер

В игре добавьте сервер по адресу вида IP_СЕРВЕРА:2456 и введите пароль из шага 6. Пошагово со снимками — в статье Как зайти на сервер Valheim.

Кроссплей: игроки с Xbox и из Microsoft Store

По умолчанию на сервер могут зайти только игроки из Steam. Чтобы пустить остальных, добавьте в конец строки запуска в start-server.sh ключ -crossplay и перезапустите службу.

В этом режиме сервер работает иначе:

  • игроки подключаются по коду входа из шести цифр. Узнать его можно так:
sudo journalctl -u valheim-server -o cat | grep "join code" | tail -1
  • сервер не занимает порт 2456 и не отвечает на запросы списка серверов Steam — соединение идёт через сервис разработчиков игры;
  • сразу после перезапуска регистрация может занять одну-две минуты: в журнале в это время повторяется строка «PlayFab reconnect server».

Обновление сервера

После выхода обновления игры остановите сервер, обновите файлы и запустите снова:

sudo systemctl stop valheim-server
sudo -u valheim /opt/steamcmd/steamcmd.sh +force_install_dir /home/valheim/valheim-server +login anonymous +app_update 896660 validate +quit
sudo systemctl start valheim-server

Ваш файл start-server.sh и миры при обновлении не затрагиваются.

Где лежит мир

Миры хранятся в каталоге:

/home/valheim/.config/unity3d/IronGate/Valheim/worlds_local/

Сервер сам делает там резервные копии с именами вида Dedicated_backup_auto-…. Чтобы перенести или сохранить мир, остановите сервер и скопируйте этот каталог целиком.

Если что-то пошло не так

Что видите Причина и решение
После установки нет каталога /home/valheim/valheim-server Команда force_install_dir была введена с ошибкой или после login, и сервер установился в /home/valheim/Steam/steamapps/common/. Запустите SteamCMD заново и повторите три команды из шага 5 по порядку.
SteamCMD отвечает «ERROR! Failed to install app '896660' (Missing configuration)» Команды были введены раньше, чем SteamCMD закончил запуск. Выйдите командой quit, запустите SteamCMD заново, дождитесь приглашения Steam> и повторите три команды из шага 5.
В журнале «Error bad password: The password is too short» Пароль короче 5 символов. Исправьте его в start-server.sh и перезапустите службу.
В журнале «DllNotFoundException: libParty.so» Не установлены библиотеки из шага 2. Установите их и перезапустите службу.
Служба в состоянии «failed» Посмотрите причину: sudo journalctl -u valheim-server -n 50 --no-pager. Чаще всего это опечатка в пути или файл start-server.sh не сделан исполняемым.
Сервер запущен, но зайти не удаётся Проверьте, что порты открыты (sudo ufw status) и что в игре указан порт 2456.

Для размещения игровых серверов рекомендуем услуги ARK-HOSTER.RU: