Установка и настройка выделенного сервера Valheim на Ubuntu 20.04
#DevOps
#Valheim Server
#Valheim
#games
#*.nix
#Ubuntu
#игры
Настройка портов
Должны быть открыты порты по UDP:
2456 2457 2458 27060
При использовании UFW (Uncomplicated Firewall) делаем так:
sudo ufw allow 2456/udpsudo ufw allow 2457/udpsudo ufw allow 2458/udpsudo ufw allow 27060/udp
Подготовка операционной системы
Некоторые шаги для общей настройки сервера.
Настройка часового пояса
Первым делом проверяем текущую дату и время, а также часовой пояс на сервере.
timedatectl
При необходимости меняем часовой пояс, чтобы он больше подходил для клиентов сервера.
sudo timedatectl set-timezone Europe/Moscow
Список всех доступных часовых поясов смотрим здесь так.
timedatectl list-timezones
Установка обновлений
Тут все стандартно. Проверяем наличие обновлений пакетов и устанавливаем обновления.
sudo apt updatesudo 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 npmcurl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -sudo apt update && sudo apt install -y nodejsnpm install gamedig -gsudo npm install gamedig -gsudo npm update -gsudo npm list -g gamedig
Переходим в каталог пользователя, от которого будет работать сервер, и создаем каталог для файлов приложения.
cd /home/<username>mkdir linuxgsmcd linuxgsm
После этого запускаем непосредственно установку сервера Valheim.
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh vhserver./vhserver install
Готово!
Настройка сервера Valheim
Переходим в каталог с файлами конфигурации сервера.
cd ~/lgsm/config-lgsm/vhserverls
Делаем бэкап текущего файла конфигурации и заменяем конфигурацию стандартной.
mv common.cfg common.cfg.oldcp _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 ServerAfter=network-online.targetWants=network-online.target[Service]Type=forkingUser=<user>WorkingDirectory=/home/<user>/linuxgsmRemainAfterExit=yesExecStart=/home/<user>/linuxgsm/vhserver startExecStop=/home/<user>/linuxgsm/vhserver stopRestart=no[Install]WantedBy=multi-user.target
Замените нужным значением, т.е. именем пользователя, от которого будет работать игровой сервер.
После этого обновляем настройки systemd и включаем службу.
sudo systemctl daemon-reloadsudo systemctl enable vhserver.service
Теперь сервер запускается автоматически!
Бэкапирование
Для выполнения бэкапа сервера достаточно выполнить команду.
/home/user/linuxgsm/vhserver backup
Сервер будет остановлен и все файлы будут сохранены в архив по адресу “/home/user/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 | Системная информация |
Полезные ссылки
- Building a Dedicated Valheim Server on Ubuntu Server 20.04 - самая подробная инструкция по настройке выделенного сервера Valheim.
- Valheim server commands list - список команд сервера.
- Valheim Dedicated Server Setup on Ubuntu 20.04.1 LTS - еще одна краткая инструкция по настройке выделенного сервера Valheim.