Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save YPermitin/07d980a39e489ff74b7150181f93cd3b to your computer and use it in GitHub Desktop.
Save YPermitin/07d980a39e489ff74b7150181f93cd3b to your computer and use it in GitHub Desktop.
Инструкция по установке игрового сервера Valheim на Ubuntu 20.04 + полезная информация по теме.

Установка и настройка выделенного сервера Valheim на Ubuntu 20.04

Простейшая инструкция по настройке сервера Valheim на Ubuntu 20.04 и полезные ссылки.

Настройка портов

Должны быть открыты порты по UDP:

2456 2457 2458 27060

При использовании UFW (Uncomplicated Firewall) делаем так:

sudo ufw allow 2456/udp
sudo ufw allow 2457/udp
sudo ufw allow 2458/udp
sudo ufw allow 27060/udp

Подготовка операционной системы

Некоторые шаги для общей настройки сервера.

Настройка часового пояса

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

timedatectl

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

sudo timedatectl set-timezone Europe/Moscow

Список всех доступных часовых поясов смотрим здесь так.

timedatectl list-timezones

Установка обновлений

Тут все стандартно. Проверяем наличие обновлений пакетов и устанавливаем обновления.

sudo apt update
sudo apt upgrade

Установка Valheim Server

Для установки воспользуемся проектом LinuxGSM. Сначала нам нужно установить все необходимые компоненты.

sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python util-linux ca-certificates binutils bc jq tmux netcat lib32gcc1 lib32stdc++6 steamcmd
sudo apt remove --purge nodejs npm
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt update && sudo apt install -y nodejs
npm install gamedig -g
sudo npm install gamedig -g
sudo npm update -g
sudo npm list -g gamedig

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

cd /home/<username>
mkdir linuxgsm
cd linuxgsm

После этого запускаем непосредственно установку сервера Valheim.

wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh vhserver
./vhserver install

Готово!

Настройка сервера Valheim

Переходим в каталог с файлами конфигурации сервера.

cd ~/lgsm/config-lgsm/vhserver
ls

Делаем бэкап текущего файла конфигурации и заменяем конфигурацию стандартной.

mv common.cfg common.cfg.old
cp _default.cfg common.cfg

Далее открываем файл конфигурации в любимом редакторе и меняем его под себя.

mcedit common.cfg

Настройки, которые нужно поменять в первую очередь:

  • servername - имя сервера.
  • serverpassword - пароль для входа на сервер.
  • port - порт сервера. По умолчанию 2456.
  • gameworld - имя игрового мира. По умолчанию совпадает с именем сервера.
  • public - поставить 1, если сервер должен быть виден сообществу.

И некоторые необязательные настройки:

  • stats - позволить собирать статистику использования проекту LinuxGSM.
  • updateonstart - обновление сервера при старте. Рекомендую включить.
  • Alert settings - настройка уведомлений о событиях сервера, в т.ч. в Телеграм. Смотрите официальную документацию по каждому каналу доставки сообщений.

Также обратить внимание на настройки бэкапирования. Подробная информация в официальной документации.

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

Для автоматического запуска игрового сервера воспользуемся возможностями systemd.

sudo mcedit /etc/systemd/system/vhserver.service

Файл должен иметь примерно такое содержимое (поправьте пути к файлам искриптам).

[Unit]
Description=LinuxGSM Valheim Server
After=network-online.target
Wants=network-online.target

[Service]
Type=forking
User=<user>
WorkingDirectory=/home/<user>/linuxgsm
RemainAfterExit=yes 
ExecStart=/home/<user>/linuxgsm/vhserver start
ExecStop=/home/<user>/linuxgsm/vhserver stop
Restart=no

[Install]
WantedBy=multi-user.target

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

После этого обновляем настройки systemd и включаем службу.

sudo systemctl daemon-reload
sudo systemctl enable vhserver.service

Теперь сервер запускается автоматически!

Бэкапирование

Для выполнения бэкапа сервера достаточно выполнить команду.

/home/user/linuxgsm/vhserver backup

Сервер будет остановлен и все файлы будут сохранены в архив по адресу "/home/<ser/linuxgsm/lgsm/backup". Далее можно отправлять их в облако для надежности.

Есть нюанс! По умолчанию файлы игрокового мира находятся вне каталога сервера Valheim. Если сам сервер мы установили в "/home/user/linuxgsm", то файлы игрового мира находятся в "/home/user/.config/unity3d/IronGate/Valheim/worlds".

Рекомендую остановить сервер, переместить каталог "/home/user/.config/unity3d" в "/home/user/linuxgsm/unity3d", а в файле "/home/user/linuxgsm/lgsm/config-lgsm/vhserver/common.cfg" изменить параметр "savedir" на новое значение.

После запустить сервер. Тогда бэкап игрового сервера будет включать и файлы игрового мира.

Уведомления о действиях на сервере

Можно настроить уведомления в Telegram-канал о действиях на сервере:

  • Вход/выход пользователя на сервер
  • Респаун игроков
  • Смерть игроков
  • Событие общего сна на сервере, когда ночное время пропускается.
  • Случайные события.
  • Запуск сервера
  • Остановка сервера

Для этого воспользуйтесь проектом valheim-notify от Whiskey24.

Команды сервера

Только администраторы сервера могут запускать эти команды.

Command Args Description
help Список всех доступных команд
kick name/ip/userID Отключить пользователя
ban name/ip/userID Забанить пользователя
unban /ip/userID Отменить бан пользователя
banned Список забаненых пользователей
ping Проверить пинг сервера для диагностики задержек
info Системная информация

Полезные ссылки

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment