Простейшая инструкция по настройке сервера 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
Для установки воспользуемся проектом 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
Готово!
Переходим в каталог с файлами конфигурации сервера.
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 | Системная информация |
- 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.