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

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к навигации Перейти к поиску
Починка разметки: ссылки и жирный шрифт из Markdown, лишние обратные косые черты в коде, заголовки — проверка вики 13.11.2026
Статья переписана по результатам установки на чистой Ubuntu 24.04, добавлены снимки экрана
Строка 1: Строка 1:
= Установка игрового сервера Valheim на Linux =
Инструкция по установке выделенного сервера Valheim на VDS с Ubuntu 24.04. Все команды и снимки экрана сняты с настоящего сервера: инструкция проверена 14 ноября 2026 года на чистой Ubuntu 24.04.4.


== 1. Подготовка системы ==
== Что понадобится ==


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


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


* '''ОС:''' Ubuntu 24.04 LTS / Debian 12
== 1. Обновите систему ==
* '''RAM:''' Минимум 4 ГБ (рекомендуется 6+ ГБ)
* '''CPU:''' 2+ ядра
* '''Диск:''' 5+ ГБ свободного места


== 3. Установка необходимых пакетов ==
<pre>sudo apt update && sudo apt upgrade -y</pre>


<pre>sudo apt update && sudo apt upgrade -y
На свежей системе обновление идёт от 5 минут до получаса. По ходу могут появиться два места, где нужно ваше участие.
sudo apt install -y wget curl lib32gcc-s1 lib32stdc++6 screen</pre>


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


<pre>sudo useradd -m -s /bin/bash valheim
[[Файл:Ubuntu-apt-keyboard-dialog.png|800px]]
sudo passwd valheim</pre>


== 5. Установка SteamCMD ==
'''Сообщение о новом ядре.''' Если в конце вы видите «Pending kernel upgrade», система обновила ядро и ждёт перезагрузки.
 
[[Файл:Ubuntu-apt-kernel-reboot.png|800px]]
 
Перезагрузите сервер и подключитесь снова через минуту:
 
<pre>sudo reboot</pre>
 
== 2. Установите нужные пакеты ==
 
<pre>sudo apt install -y wget lib32gcc-s1 lib32stdc++6 libatomic1 libpulse0 libpulse-mainloop-glib0</pre>
 
* <code>lib32gcc-s1</code> и <code>lib32stdc++6</code> нужны программе SteamCMD, через которую скачивается сервер.
* <code>libatomic1</code>, <code>libpulse0</code> и <code>libpulse-mainloop-glib0</code> нужны самому серверу для режима кроссплея. Без них сервер запускается, но в журнале появляется ошибка <code>DllNotFoundException: libParty.so</code>, а кроссплей не работает.
 
== 3. Создайте пользователя для сервера ==
 
Игровой сервер не должен работать от root. Создайте для него отдельного пользователя:
 
<pre>sudo useradd -m -s /bin/bash valheim</pre>
 
Пароль этому пользователю не нужен: входить под ним по SSH никто не будет, а переключаться на него вы будете командой из шага 5.
 
== 4. Скачайте SteamCMD ==


<pre>sudo mkdir -p /opt/steamcmd
<pre>sudo mkdir -p /opt/steamcmd
Строка 31: Строка 51:
sudo chown -R valheim:valheim /opt/steamcmd</pre>
sudo chown -R valheim:valheim /opt/steamcmd</pre>


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


1. Переключитесь на пользователя valheim:
== 5. Установите сервер Valheim ==
<pre>sudo su - valheim</pre>


2. Запустите SteamCMD:
Переключитесь на пользователя <code>valheim</code> и запустите SteamCMD:
<pre>cd /opt/steamcmd
 
<pre>sudo su - valheim
cd /opt/steamcmd
./steamcmd.sh</pre>
./steamcmd.sh</pre>


3. Установите сервер:
При первом запуске SteamCMD скачивает собственное обновление (около 40 МБ). С серверов Steam оно может идти несколько минут — дождитесь приглашения <code>Steam></code> и ничего не вводите раньше.
 
Затем введите по очереди три команды. Порядок важен: каталог установки задаётся '''до''' входа.
 
<pre>force_install_dir /home/valheim/valheim-server
<pre>force_install_dir /home/valheim/valheim-server
login anonymous
login anonymous
app_update 896660 validate
app_update 896660 validate</pre>
quit</pre>
 
[[Файл:Valheim-linux-steamcmd-login.png|800px]]
 
Загрузка 2,2 ГБ занимает около 5 минут. Дождитесь строки «Success! App '896660' fully installed.»:
 
[[Файл:Valheim-linux-steamcmd-install.png|800px]]
 
Выйдите из SteamCMD:
 
<pre>quit</pre>
 
Проверьте, что файлы на месте:
 
<pre>ls /home/valheim/valheim-server</pre>
 
[[Файл:Valheim-linux-files.png|800px]]
 
== 6. Создайте скрипт запуска ==


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


1. Создайте скрипт запуска:
<pre>nano /home/valheim/valheim-server/start-server.sh</pre>
<pre>nano /home/valheim/valheim-server/start-server.sh</pre>


2. Добавьте содержимое:
Вставьте в него:
 
<pre>#!/bin/bash
<pre>#!/bin/bash
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
./valheim_server.x86_64 -name "Valheim Server" -port 2456 -world "Dedicated" -password "your_password" -public 1</pre>
export SteamAppId=892970
exec ./valheim_server.x86_64 -nographics -batchmode -name "My Valheim" -port 2456 -world "Dedicated" -password "Secret123" -public 1</pre>
 
Замените значения на свои:
 
* <code>-name</code> — название сервера в списке серверов.
* <code>-world</code> — имя мира. Если мира с таким именем нет, сервер создаст новый.
* <code>-password</code> — пароль для входа. Он должен быть '''не короче 5 символов''' и, по требованию разработчиков игры, не должен входить в название сервера. С коротким паролем сервер не запустится, в журнале будет строка «Error bad password: The password is too short».
* <code>-public 1</code> — показывать сервер в общем списке; <code>-public 0</code> — вход только по адресу.
* <code>-port 2456</code> — порт игры. Сервер занимает его и следующий за ним (2457).
 
Сохраните файл (в nano: '''Ctrl+O''', '''Enter''', '''Ctrl+X'''), сделайте его исполняемым и вернитесь к root:
 
<pre>chmod +x /home/valheim/valheim-server/start-server.sh
exit</pre>


3. Сделайте исполняемым:
== 7. Настройте автозапуск ==
<pre>chmod +x /home/valheim/valheim-server/start-server.sh</pre>


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


<pre>sudo nano /etc/systemd/system/valheim-server.service</pre>
<pre>sudo nano /etc/systemd/system/valheim-server.service</pre>


Добавьте:
Вставьте:
 
<pre>[Unit]
<pre>[Unit]
Description=Valheim Dedicated Server
Description=Valheim Dedicated Server
Строка 78: Строка 133:
WantedBy=multi-user.target</pre>
WantedBy=multi-user.target</pre>


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


<pre>sudo systemctl daemon-reload
<pre>sudo systemctl daemon-reload
Строка 84: Строка 139:
sudo systemctl start valheim-server</pre>
sudo systemctl start valheim-server</pre>


== 10. Настройка файрвола ==
Первый запуск создаёт мир и занимает до минуты. Проверьте состояние службы — должно быть '''active (running)''':
 
<pre>sudo systemctl status valheim-server --no-pager -n 0</pre>
 
[[Файл:Valheim-linux-service-status.png|800px]]
 
Сервер готов принимать игроков, когда в его журнале появилась строка «Game server connected». Вторая команда показывает, что порты 2456 и 2457 заняты сервером (порт 2456 появляется через несколько секунд после этой строки):
 
<pre>sudo journalctl -u valheim-server -o cat | grep "Game server connected" | tail -1
sudo ss -uln | grep 245</pre>
 
[[Файл:Valheim-linux-journal.png|800px]]
 
Управление службой:
 
<pre>sudo systemctl stop valheim-server      # остановить (мир при этом сохраняется)
sudo systemctl restart valheim-server  # перезапустить
sudo journalctl -u valheim-server -f    # смотреть журнал, выход — Ctrl+C</pre>
 
== 9. Откройте порты в файрволе ==
 
'''Внимание:''' сначала разрешите SSH и только потом включайте файрвол. Иначе связь с сервером оборвётся. Если SSH у вас на нестандартном порту, вместо первой команды выполните <code>sudo ufw allow НОМЕР_ПОРТА/tcp</code>.
 
<pre>sudo ufw allow OpenSSH
sudo ufw allow 2456:2458/udp
sudo ufw enable</pre>
 
Если появится вопрос «Command may disrupt existing ssh connections. Proceed with operation (y|n)?», ответьте '''y'''. Проверьте результат:
 
<pre>sudo ufw status</pre>
 
[[Файл:Valheim-linux-ufw.png|800px]]
 
== 10. Зайдите на сервер ==
 
В игре добавьте сервер по адресу вида <code>IP_СЕРВЕРА:2456</code> и введите пароль из шага 6. Пошагово со снимками — в статье [[Как зайти на сервер Valheim]].
 
== Кроссплей: игроки с Xbox и из Microsoft Store ==
 
По умолчанию на сервер могут зайти только игроки из Steam. Чтобы пустить остальных, добавьте в конец строки запуска в <code>start-server.sh</code> ключ <code>-crossplay</code> и перезапустите службу.
 
В этом режиме сервер работает иначе:
 
* игроки подключаются по '''коду входа''' из шести цифр. Узнать его можно так:
<pre>sudo journalctl -u valheim-server -o cat | grep "join code" | tail -1</pre>
* сервер не занимает порт 2456 и не отвечает на запросы списка серверов Steam — соединение идёт через сервис разработчиков игры;
* сразу после перезапуска регистрация может занять одну-две минуты: в журнале в это время повторяется строка «PlayFab reconnect server».
 
== Обновление сервера ==
 
После выхода обновления игры остановите сервер, обновите файлы и запустите снова:
 
<pre>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</pre>
 
Ваш файл <code>start-server.sh</code> и миры при обновлении не затрагиваются.
 
== Где лежит мир ==
 
Миры хранятся в каталоге:


<pre>sudo ufw allow 2456/udp
<pre>/home/valheim/.config/unity3d/IronGate/Valheim/worlds_local/</pre>
sudo ufw allow 2457/udp</pre>


== Заключение ==
Сервер сам делает там резервные копии с именами вида <code>Dedicated_backup_auto-…</code>. Чтобы перенести или сохранить мир, остановите сервер и скопируйте этот каталог целиком.


Valheim сервер успешно установлен!
== Если что-то пошло не так ==


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


* '''[https://ark-hoster.ru/dedicated/ Выделенные серверы]''' - для высоконагруженных игровых серверов
'''Для размещения игровых серверов рекомендуем услуги [https://ark-hoster.ru ARK-HOSTER.RU]:'''
* '''[https://ark-hoster.ru/vpsgame/ VPS/VDS серверы]''' - для небольших и средних серверов


Наши специалисты помогут с настройкой игровых серверов!
* '''[https://ark-hoster.ru/vpsgame/ VPS/VDS серверы]''' — для небольших и средних серверов
* '''[https://ark-hoster.ru/dedicated/ Выделенные серверы]''' — для высоконагруженных игровых серверов

Версия от 17:36, 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: