Установка игрового сервера Valheim на Linux: различия между версиями
Admin (обсуждение | вклад) Новая страница: «= Установка игрового сервера Valheim на Linux = == 1. Подготовка системы == * Войдите в систему под…» |
Уточнён совет про ошибку Missing configuration в SteamCMD |
||
| (не показаны 4 промежуточные версии этого же участника) | |||
| Строка 1: | Строка 1: | ||
Инструкция по установке выделенного сервера 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. Обновите систему == | |||
<pre>sudo apt update && sudo apt upgrade -y</pre> | |||
На свежей системе обновление идёт от 5 минут до получаса. По ходу могут появиться два места, где нужно ваше участие. | |||
'''Окно выбора раскладки клавиатуры.''' Обновление остановится и покажет окно «Configuring keyboard-configuration». Ничего менять не нужно: нажмите '''Enter''', в следующем окне снова '''Enter'''. | |||
[[Файл:Ubuntu-apt-keyboard-dialog.png|800px]] | |||
== 5. | '''Сообщение о новом ядре.''' Если в конце вы видите «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> | ||
Архив маленький (2,3 МБ), но с серверов Steam он может качаться около минуты — это нормально. | |||
== 5. Установите сервер Valheim == | |||
Переключитесь на пользователя <code>valheim</code> и запустите SteamCMD: | |||
<pre>cd /opt/steamcmd | |||
<pre>sudo su - valheim | |||
cd /opt/steamcmd | |||
./steamcmd.sh</pre> | ./steamcmd.sh</pre> | ||
При первом запуске 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> | ||
== | [[Файл:Valheim-linux-steamcmd-login.png|800px]] | ||
Если вместо загрузки появилась строка «ERROR! Failed to install app … (Missing configuration)», просто введите команду <code>app_update</code> ещё раз: при первом запуске SteamCMD такое случается, со второго раза загрузка начинается. | |||
Загрузка 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. Создайте скрипт запуска == | |||
В каталоге сервера уже есть образец <code>start_server.sh</code>, но править его не стоит: при обновлении игры Steam перезапишет его. Создайте свой файл: | |||
<pre>nano /home/valheim/valheim-server/start-server.sh</pre> | <pre>nano /home/valheim/valheim-server/start-server.sh</pre> | ||
Вставьте в него: | |||
<pre> | |||
<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 | 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> | |||
== 7. Настройте автозапуск == | |||
Чтобы сервер запускался вместе с системой и поднимался после сбоя, создайте для него службу: | |||
<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: | Строка 135: | ||
WantedBy=multi-user.target</pre> | WantedBy=multi-user.target</pre> | ||
== | == 8. Запустите сервер и проверьте его == | ||
<pre>sudo systemctl daemon-reload | <pre>sudo systemctl daemon-reload | ||
| Строка 84: | Строка 141: | ||
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> | <pre>/home/valheim/.config/unity3d/IronGate/Valheim/worlds_local/</pre> | ||
Сервер сам делает там резервные копии с именами вида <code>Dedicated_backup_auto-…</code>. Чтобы перенести или сохранить мир, остановите сервер и скопируйте этот каталог целиком. | |||
== Если что-то пошло не так == | |||
'' | {| 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>app_update</code> ещё раз — со второго раза загрузка начинается. | |||
|- | |||
| В журнале «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 ARK-HOSTER.RU]:''' | |||
* '''[https://ark-hoster.ru/vpsgame/ VPS/VDS серверы]''' — для небольших и средних серверов | |||
* '''[https://ark-hoster.ru/dedicated/ Выделенные серверы]''' — для высоконагруженных игровых серверов | |||
Текущая версия от 20:08, 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
Если вместо загрузки появилась строка «ERROR! Failed to install app … (Missing configuration)», просто введите команду app_update ещё раз: при первом запуске SteamCMD такое случается, со второго раза загрузка начинается.
Загрузка 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. Введите команду app_update ещё раз — со второго раза загрузка начинается.
|
| В журнале «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:
- VPS/VDS серверы — для небольших и средних серверов
- Выделенные серверы — для высоконагруженных игровых серверов