bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward
eco Початковий Туторіал

Сервер Valheim: скільки RAM потрібно для 10 гравців і як встановлювати моди

calendar_month Sep 27, 2026 schedule 22 хв. читання visibility 62 переглядів
Сервер Valheim: сколько RAM на 10 игроков и как ставить моды
info

Потрібен сервер для цього гайду? Ми пропонуємо виділені сервери та VPS у 50+ країнах з миттєвим налаштуванням.

Потрібен сервер для цього гайду?

Розгорніть VPS або виділений сервер за хвилини.

Сервер Valheim: скільки RAM потрібно для 10 гравців і як встановлювати моди

TL;DR

Для виділеного сервера Valheim на 10 гравців достатньо 4 ГБ RAM за невеликої кількості модів, але практичний запас на 2026 рік — 6–8 ГБ RAM, 2–4 швидких vCPU та SSD від 40 ГБ. Нижче сервер установлюється на Ubuntu 24.04 LTS через SteamCMD, запускається окремим користувачем, захищається firewall і fail2ban, а моди встановлюються через BepInExPack Valheim із резервним копіюванням світу перед кожним оновленням.

  • Мінімальна робоча конфігурація: 2 vCPU, 4 ГБ RAM, 40 ГБ NVMe SSD.
  • Рекомендований варіант для 10 гравців і модпаку: 4 vCPU, 8 ГБ RAM, 60–80 ГБ NVMe SSD.
  • Для підключення зазвичай потрібні UDP-порти 2456–2458; TCP-порти для самого ігрового трафіку не обов’язкові.
  • Дані світу зберігаються окремо від файлів застосунку та мають регулярно копіюватися до зовнішнього сховища.
  • BepInEx встановлюється до каталогу Valheim, а серверні DLL-моди — до BepInEx/plugins.
  • Оновлювати Valheim і моди слід лише після бекапу та перевірки сумісності версій.

1. TL;DR

Цей розділ навмисно повторює коротку відповідь у форматі, зручному для швидкого пошуку: якщо на сервері одночасно грають до 10 осіб, орієнтуйтеся не лише на номінальний обсяг RAM, а й на резерв для операційної системи, модів і тимчасових піків завантаження світу.

Сценарій CPU RAM Диск
Ванільний Valheim, 2–5 гравців 2 vCPU 4 ГБ 40 ГБ NVMe SSD
До 10 гравців, легкі моди 3–4 vCPU 6 ГБ 50 ГБ NVMe SSD
До 10 гравців, великий модпак 4 vCPU з хорошою частотою 8 ГБ 60–80 ГБ NVMe SSD
Понад 10 гравців або кілька світів 4–8 vCPU 8–16 ГБ 80 ГБ і більше

2. Зміст

Інструкція розрахована на чистий VPS з Ubuntu Server 24.04 LTS та архітектурою x86_64. Команди виконуються від імені користувача з правами sudo, якщо окремо не зазначено інше.

Серверна версія Valheim і BepInEx змінюються з часом. У прикладах використовуються SteamCMD та актуальна для 2026 року Linux-схема встановлення, але конкретні версії модів завжди перевіряйте на сторінці їхнього релізу. Не змішуйте DLL від старої версії гри з новим сервером без тестування.

3. Що ми налаштовуємо і навіщо

Схема: 3. Что мы настраиваем и зачем
Схема: 3. Що ми налаштовуємо і навіщо

Завдання виділеного сервера Valheim

Valheim — кооперативна гра на виживання, у якій світ продовжує існувати незалежно від того, чи перебуває власник світу у грі. Якщо запускати сервер на домашньому комп’ютері, він залежатиме від електрики, домашнього інтернету, NAT і того, чи увімкнено комп’ютер. Виділений сервер на VPS працює цілодобово, а гравці підключаються до однієї постійної адреси.

У цій статті створюється Linux-сервер з окремим користувачем valheim. Файли гри розміщуватимуться в /opt/valheim/server, конфігурація запуску — у systemd unit, а збереження — у /opt/valheim/data. Такий поділ спрощує оновлення, резервне копіювання та відновлення світу.

Для десяти гравців важлива не лише RAM. На продуктивність впливають частота одного-двох ядер CPU, затримка мережі до гравців, швидкість диска, кількість активних об’єктів у світі та моди. Пік споживання зазвичай виникає під час генерації нових територій, масового завантаження об’єктів і збереження світу.

Що вийде в результаті

  • Автоматичний запуск сервера після перезавантаження VPS.
  • Доступ до світу за доменним ім’ям або IP-адресою.
  • Обмеження доступу firewall лише необхідними портами.
  • Встановлення BepInEx для серверних модів.
  • Окремий файл запуску з назвою світу, паролем і публічністю сервера.
  • Щоденний локальний і зовнішній бекап збережень.
  • Команди для перегляду логів, перевірки портів і діагностики нестачі пам’яті.

Cloud-managed і self-hosted

Cloud-managed-хостинг надає готову панель: користувач обирає гру, натискає кнопку запуску та отримує доступ до логів і файлового менеджера. Це зручно, якщо сервер потрібен на короткий термін або адміністратор не хоче займатися Linux. Недоліками можуть бути обмеження модів, платні додаткові ресурси, залежність від функцій панелі та менший контроль над резервними копіями.

Self-hosted VPS потребує більше ручного налаштування, зате ви контролюєте ОС, systemd, firewall, файлову структуру, розклад бекапів і набір модів. VPS підходить для невеликої постійної групи друзів, якщо ви готові самостійно стежити за оновленнями та безпекою.

Домашній сервер залишається альтернативою. Він може бути дешевшим за наявності обладнання, але для публічної гри знадобляться стабільний upload, переадресація портів, білий IP або тунель, а також захист від відключень. Для гравців із різних регіонів VPS зазвичай простіше розмістити ближче до більшості учасників.

Особливості модів

Моди Valheim бувають клієнтськими, серверними та комбінованими. Клієнтський мод змінює інтерфейс або локальну поведінку й може не вимагатися на сервері. Серверний мод працює у процесі dedicated server. Комбінований мод потрібно встановити і на сервер, і на кожен клієнт із сумісною версією.

BepInEx — завантажувач плагінів, а не універсальна гарантія сумісності. Сам факт запуску BepInEx не означає, що будь-який мод працюватиме на Linux або на headless-сервері. Перед встановленням читайте вимоги моду, версію Valheim, список залежностей і коментарі щодо dedicated server.

4. Яка VPS-конфігурація потрібна для цього завдання

Схема: 4. Какой VPS-конфиг нужен под эту задачу
Схема: 4. Яка VPS-конфігурація потрібна для цього завдання

Скільки RAM потрібно Valheim на 10 гравців

Фіксованого офіційного числа «RAM на гравця» немає. Споживання залежить від версії гри, розміру світу, кількості відкритих територій, числа будівель, тварин, предметів, модів і тривалості роботи процесу. Для чистого сервера на десять гравців розумно починати з 4–6 ГБ RAM, але 6–8 ГБ дають помітно більший запас.

На VPS із 4 ГБ RAM залишайте щонайменше 700–1000 МБ системі та службовим процесам. Якщо встановити великі моди, додати моніторинг, агент бекапів або кілька екземплярів гри, запас швидко зникне. Swap допомагає пережити короткий пік, але не замінює фізичну пам’ять: за постійного активного swap ігровий процес почне відчувати затримки.

Практична конфігурація

Компонент Мінімум Рекомендовано для 10 гравців
CPU 2 vCPU, висока частота 4 vCPU, сучасна архітектура
RAM 4 ГБ 8 ГБ
Диск 40 ГБ SSD 60–80 ГБ NVMe SSD
Мережа 100 Мбіт/с, без жорсткого ліміту трафіку 1 Гбіт/с порт, достатній місячний трафік
ОС Ubuntu Server 24.04 LTS x86_64 Ubuntu Server 24.04 LTS x86_64

Як один із варіантів можна взяти VPS з такими характеристиками: 4 vCPU, 8 ГБ RAM, NVMe SSD від 60 ГБ і публічний IPv4. Для ігрового сервера бажано уточнити, чи немає в тарифі жорсткого обмеження вихідного трафіку та чи дозволено вхідний UDP.

Коли потрібен dedicated

Окремий фізичний сервер не потрібен лише через десять гравців. VPS буде раціональнішим, якщо запущено один світ, немає важких модпаків і припустимі віртуальні CPU. Dedicated варто розглядати за кількох незалежних світів, великої кількості одночасних гравців, важких серверних модів, вимог до гарантованої продуктивності або потреби повністю ізолювати ресурси від сусідів.

Для одного сервера Valheim із десятьма гравцями dedicated часто буде надмірним. Його переваги проявляються, коли ви використовуєте вільні ресурси для кількох ігрових сервісів, CI, моніторингу або файлового сховища. У такому разі враховуйте не лише RAM, а й резерв CPU для кожного процесу.

Вибір локації

Обирайте регіон за затримкою до основної групи гравців, а не лише за географічною відстанню. Затримка 30–60 мс зазвичай комфортна, але стабільність маршруту та відсутність втрат пакетів важливіші за різницю між 40 і 50 мс. Перевірте маршрут командами ping і mtr з кількох клієнтських мереж.

Якщо гравці перебувають у різних країнах, розмістіть сервер ближче до центру їхнього розподілу. Для Valheim зазвичай не потрібна наднизька затримка, як для змагального шутера, однак стрибки latency, packet loss і перевантажений канал призводять до розсинхронізації та затримок взаємодії з об’єктами.

5. Підготовка сервера

Схема: 5. Підготовка сервера
Схема: 5. Підготовка сервера

Вхід через SSH і створення користувача

Після видачі VPS підключіться під тимчасовим адміністративним користувачем. Не запускайте ігровий сервер від імені root: помилка в моді або скрипті тоді отримає зайві права на файлову систему.

# Обновляем индекс пакетов и устанавливаем обновления
sudo apt update && sudo apt full-upgrade -y

# Создаём отдельного системного пользователя для Valheim
sudo adduser --disabled-password --gecos "" valheim

# Создаём каталог приложения и назначаем владельца
sudo install -d -o valheim -g valheim /opt/valheim/server /opt/valheim/data /opt/valheim/backups

# Добавляем административного пользователя в группу sudo
sudo usermod -aG sudo deploy

Замініть deploy на фактичне ім’я вашого адміністративного користувача. Якщо провайдер видав лише root, створіть звичайного користувача та додайте його до групи sudo до вимкнення root-доступу.

SSH-ключі

На локальному комп’ютері згенеруйте ключ Ed25519, якщо його ще немає. Захищений passphrase знижує ризик компрометації в разі викрадення файлу закритого ключа.

# Выполняется на вашем рабочем компьютере
ssh-keygen -t ed25519 -C "valheim-admin"

# Копируем открытый ключ на сервер
ssh-copy-id deploy@SERVER_IP

# Проверяем вход по ключу
ssh deploy@SERVER_IP

Після перевірки відкрийте конфігурацію SSH і забороніть вхід за паролем і безпосередньо під root. Перед перезапуском служби залиште поточну SSH-сесію відкритою та перевірте нову.

# Открываем конфигурацию SSH
sudoedit /etc/ssh/sshd_config.d/10-hardening.conf
PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
AllowUsers deploy
# Проверяем синтаксис и перечитываем настройки SSH
sudo sshd -t && sudo systemctl reload ssh

Firewall

Valheim Dedicated Server використовує діапазон портів, що починається з базового порту, за замовчуванням 2456. На практиці відкрийте UDP 2456–2458. SSH обмежте своєю IP-адресою, якщо вона статична; інакше залиште SSH відкритим для адрес, з яких адмініструєте сервер, і обов’язково використовуйте ключі.

# Устанавливаем базовые пакеты, UFW и fail2ban
sudo apt install -y ca-certificates curl wget unzip tar jq htop tmux \
    ufw fail2ban chrony rsync restic unattended-upgrades

# Разрешаем SSH и игровые UDP-порты
sudo ufw allow from YOUR_ADMIN_IP to any port 22 proto tcp
sudo ufw allow 2456:2458/udp

# Включаем firewall с политикой запрета входящих соединений
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw --force enable

# Проверяем правила
sudo ufw status verbose

Якщо ваша адміністративна IP-адреса змінюється, замість правила з конкретною адресою можна використовувати sudo ufw allow 22/tcp, але це збільшить кількість автоматичних сканувань. Ігрові порти не потрібно відкривати через TCP просто «про всяк випадок»: використовуйте протокол, зазначений у документації та фактичних логах.

Налаштування fail2ban

Fail2ban аналізує логи й тимчасово блокує адреси з повторними невдалими SSH-входами. Він не захищає Valheim від ігрових атак і не замінює оновлення, але зменшує шум від перебору паролів.

# Создаём локальную настройку jail для SSH
sudo tee /etc/fail2ban/jail.d/sshd.local >/dev/null <<'EOF'
[sshd]
enabled = true
port = 22
backend = systemd
maxretry = 5
findtime = 10m
bantime = 1h
EOF

# Запускаем fail2ban и добавляем его в автозагрузку
sudo systemctl enable --now fail2ban

# Проверяем состояние SSH-защиты
sudo fail2ban-client status sshd

Swap і базові утиліти

На VPS із 4–8 ГБ RAM можна створити swap-файл розміром 2 ГБ. Це не прискорює гру, але зменшує ризик аварійного завершення процесу під час короткочасного піку. Не задавайте надмірний swap на повільному диску та контролюйте значення vm.swappiness.

# Создаём swap-файл размером 2 ГБ, если swap ещё не настроен
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# Делаем swap постоянным после перезагрузки
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

# Проверяем память и swap
free -h
swapon --show

Перевірте час на сервері: правильний час потрібен для логів, сертифікатів і розкладу резервного копіювання.

# Включаем синхронизацию времени
sudo systemctl enable --now chrony

# Проверяем состояние часов
timedatectl status

6. Встановлення Valheim і модів — покроково

Схема: 6. Встановлення Valheim і модів — покроково
Схема: 6. Встановлення Valheim і модів — покроково

Крок 1. Встановлення SteamCMD

Для Linux dedicated server використовується SteamCMD. В Ubuntu 24.04 увімкніть архітектуру i386, оскільки частина бібліотек SteamCMD має 32-бітні залежності. Наведені нижче команди встановлюють SteamCMD із репозиторію Ubuntu.

# Подключаем 32-битную архитектуру для зависимостей SteamCMD
sudo dpkg --add-architecture i386

# Обновляем список пакетов
sudo apt update

# Устанавливаем SteamCMD и необходимые библиотеки
sudo apt install -y steamcmd libc6:i386 libstdc++6:i386

У деяких образах Ubuntu пакет SteamCMD пропонує прийняти ліцензію в інтерактивному режимі. Якщо встановлення завершується помилкою ліцензії, повторіть команду в інтерактивній SSH-сесії та підтвердьте умови.

Крок 2. Створення каталогу та завантаження сервера

Застосунок Valheim Dedicated Server має Steam App ID 896660. Запускайте SteamCMD від користувача valheim, щоб усі файли одразу отримали правильного власника.

# Загружаем или обновляем dedicated server Valheim
sudo -u valheim /usr/games/steamcmd \
    +force_install_dir /opt/valheim/server \
    +login anonymous \
    +app_update 896660 validate \
    +quit

SteamCMD завантажить останню доступну серверну версію з публічної гілки. Команда validate перевіряє цілісність файлів і може тривати кілька хвилин. Повторний запуск цієї команди використовується для оновлення.

Крок 3. Підготовка каталогу збережень

Серверні збереження краще винести в окремий каталог. Це дає змогу оновлювати або замінювати файли застосунку, не зачіпаючи світ. Для Linux Valheim використовується змінна VALHEIM_INSTALL_ROOT, щоб процес знав, де розташовані серверні дані.

# Проверяем наличие исполняемого файла сервера
sudo -u valheim test -x /opt/valheim/server/valheim_server.x86_64 \
    && echo "Valheim server binary is present"

# Проверяем владельца каталогов
sudo chown -R valheim:valheim /opt/valheim/server /opt/valheim/data

# Создаём каталог для логов
sudo install -d -o valheim -g valheim /var/log/valheim

Крок 4. Перший запуск без systemd

Перед створенням постійної служби корисно виконати короткий ручний запуск. Так ви побачите помилку залежностей або неправильні аргументи безпосередньо в терміналі.

# Запускаем тестовый сервер в отдельной сессии пользователя valheim
sudo -u valheim env VALHEIM_INSTALL_ROOT=/opt/valheim/server \
    /opt/valheim/server/valheim_server.x86_64 \
    -name "Valheim Test" \
    -port 2456 \
    -world "DedicatedWorld" \
    -password "ChangeThisPassword123" \
    -public 1

Пароль має відповідати вимогам гри й не збігатися з паролем SSH або панеллю провайдера. Для зупинки тестового процесу використовуйте Ctrl+C. Не вставляйте справжній пароль у публічні логи, історію команд або статтю.

Крок 5. Встановлення BepInExPack Valheim

Для модифікованого сервера знадобиться Linux-сумісна збірка BepInExPack Valheim. Завантажуйте архів лише з офіційної сторінки проєкту на Thunderstore або з іншого джерела, на яке посилається автор релізу. Неможливо надійно зафіксувати URL конкретної версії в загальній статті: він змінюється під час випуску нових збірок.

Завантажте архів на локальний комп’ютер, перевірте контрольну суму, якщо автор її публікує, і передайте на сервер. Нижче ім’я архіву умовне; замініть його на фактичне ім’я завантаженого файлу.

# На локальном компьютере передаём архив BepInEx на сервер
scp BepInExPack_Valheim-.zip deploy@SERVER_IP:/tmp/

# На сервере создаём временный каталог для распаковки
sudo install -d -o valheim -g valheim /tmp/bepinex-valheim

# Распаковываем архив во временный каталог
sudo unzip -q /tmp/BepInExPack_Valheim-.zip -d /tmp/bepinex-valheim

# Просматриваем структуру архива перед копированием
find /tmp/bepinex-valheim -maxdepth 3 -type f | sort | head -50

У різних релізах архів може містити додатковий каталог на кшталт BepInExPack_Valheim. Скопіюйте вміст саме тієї директорії, де знаходяться BepInEx, doorstop_config.ini і завантажувальний файл. Приклад із поширеною структурою:

# Копируем файлы загрузчика в каталог dedicated server
sudo cp -a /tmp/bepinex-valheim/BepInExPack_Valheim/. /opt/valheim/server/

# Исправляем владельца всех файлов модифицированного сервера
sudo chown -R valheim:valheim /opt/valheim/server

# Проверяем наличие каталога плагинов
sudo -u valheim mkdir -p /opt/valheim/server/BepInEx/plugins

Шлях усередині архіву обов’язково перевіряйте командою find. Якщо скопіювати зовнішній каталог цілком не туди, Valheim запуститься без BepInEx і створить враження, що мод «не працює».

Крок 6. Встановлення серверного мода

Кожен мод встановлюйте за інструкцією автора. Зазвичай DLL-файл поміщають у /opt/valheim/server/BepInEx/plugins, а конфігурація після першого запуску з’являється в BepInEx/config. Залежності, наприклад бібліотека загального призначення, також копіюються у відповідний каталог.

# Передаём DLL-мод на сервер с локального компьютера
scp ExampleServerMod.dll deploy@SERVER_IP:/tmp/

# Копируем мод в каталог плагинов от имени root
sudo install -o valheim -g valheim -m 0644 \
    /tmp/ExampleServerMod.dll \
    /opt/valheim/server/BepInEx/plugins/ExampleServerMod.dll

# Проверяем список установленных плагинов
sudo -u valheim find /opt/valheim/server/BepInEx/plugins \
    -maxdepth 1 -type f -name '.dll' -printf '%f\n'

Не завантажуйте випадкові DLL із форумних вкладень і не встановлюйте моди з однаковим ім’ям без перевірки джерела. Плагін має права процесу Valheim і потенційно може читати або змінювати файли, доступні користувачу valheim.

Крок 7. Узгодження модів із клієнтами

Складіть простий список: назва мода, точна версія, залежності, чи потрібен він клієнту, чи потрібен серверу, дата встановлення. Командні та контентні моди часто вимагають ідентичного набору на всіх клієнтах. Якщо версія DLL на клієнті відрізняється від серверної, можливі помилки RPC, зникнення предметів або неможливість входу.

# Сохраняем инвентаризацию файлов модов перед обновлением
sudo -u valheim find /opt/valheim/server/BepInEx \
    -type f \( -name '.dll' -o -name '.cfg' \) -print0 \
    | sort -z | xargs -0 sha256sum \
    | sudo tee /opt/valheim/data/mod-files.sha256

7. Конфігурація, запуск і перевірка

Схема: 7. Конфігурація, запуск і перевірка
Схема: 7. Конфігурація, запуск і перевірка

Файл змінних середовища

Пароль і параметри світу не слід зберігати безпосередньо в systemd unit, доступному всім користувачам. Створіть файл /etc/valheim/valheim.env з правами лише для root і групи valheim. Systemd зможе прочитати його під час запуску, а звичайний користувач не побачить секрет без адміністративних прав.

# Создаём защищённый каталог конфигурации
sudo install -d -o root -g valheim -m 0750 /etc/valheim

# Создаём файл переменных окружения
sudo tee /etc/valheim/valheim.env >/dev/null <<'EOF'
VALHEIM_NAME=Friends Valheim
VALHEIM_PORT=2456
VALHEIM_WORLD=DedicatedWorld
VALHEIM_PASSWORD=replace-with-a-long-game-password
VALHEIM_PUBLIC=1
VALHEIM_SAVE_DIR=/opt/valheim/data
EOF

# Запрещаем чтение файла посторонним пользователям
sudo chown root:valheim /etc/valheim/valheim.env
sudo chmod 0640 /etc/valheim/valheim.env

Не використовуйте в паролі пробіли, лапки та символи, які можуть інтерпретуватися shell, якщо не розумієте правила systemd environment-файлів. Пароль ігрового сервера не повинен бути коротшим за мінімальну вимогу поточної версії Valheim.

Systemd unit

Systemd забезпечує автозапуск після перезавантаження, коректну зупинку та доступ до журналу через journalctl. Параметр Restart=on-failure корисний у разі неочікуваного падіння, але не повинен маскувати несумісний мод: спочатку аналізуйте логи.

# Создаём службу dedicated server
sudo tee /etc/systemd/system/valheim.service >/dev/null <<'EOF'
[Unit]
Description=Valheim Dedicated Server
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=valheim
Group=valheim
WorkingDirectory=/opt/valheim/server
EnvironmentFile=/etc/valheim/valheim.env
Environment=VALHEIM_INSTALL_ROOT=/opt/valheim/server
ExecStart=/opt/valheim/server/valheim_server.x86_64 -name "${VALHEIM_NAME}" -port ${VALHEIM_PORT} -world "${VALHEIM_WORLD}" -password "${VALHEIM_PASSWORD}" -public ${VALHEIM_PUBLIC} -savedir "${VALHEIM_SAVE_DIR}"
Restart=on-failure
RestartSec=15
KillSignal=SIGINT
TimeoutStopSec=120
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

# Перечитываем unit-файлы systemd
sudo systemctl daemon-reload

# Запускаем сервер и добавляем его в автозагрузку
sudo systemctl enable --now valheim.service

# Проверяем состояние службы
sudo systemctl status valheim.service --no-pager

Якщо конкретна збірка сервера не приймає параметр -savedir, видаліть його з ExecStart і задайте каталог збережень через підтримувану змінну або механізм версії. Перевіряйте фактичний help самої бінарної програми, а не копіюйте аргументи з інструкції для іншої версії.

Логи та перевірка процесу

# Смотрим последние 100 строк журнала
sudo journalctl -u valheim.service -n 100 --no-pager

# Следим за журналом в реальном времени
sudo journalctl -u valheim.service -f

# Проверяем запущенный процесс и использование памяти
ps -o pid,user,%cpu,%mem,rss,etime,cmd -C valheim_server.x86_64
free -h
df -h /opt/valheim

# Проверяем, слушаются ли игровые UDP-порты
sudo ss -lunp | grep -E '2456|2457|2458'

Успішний запуск не завжди означає, що сервер доступний з інтернету. Локально перевірте, що процес слухає порти, потім переконайтеся, що UFW і мережевий firewall провайдера дозволяють UDP 2456–2458. На клієнті підключіться через список серверів або пряме додавання адреси в інтерфейсі Steam.

Перевірка ресурсів

Під час тесту запустіть кілька клієнтів, завантажте нові території та перегляньте пікові значення RSS і swap. Якщо RAM стабільно зайнята більш ніж на 85–90 відсотків, спочатку видаліть невикористовувані моди та перевірте витоки, а потім збільште тариф.

# Устанавливаем интерактивный монитор процессов
sudo apt install -y sysstat

# Проверяем нагрузку CPU, память и swap
vmstat 5 12

# Смотрим нагрузку по CPU и дисковую активность
iostat -xz 5 6

Керування конфігурацією модів

Після першого запуску BepInEx зазвичай створює конфіги в /opt/valheim/server/BepInEx/config. Зупиніть сервер перед редагуванням, якщо мод не підтримує гарячу зміну. Копіюйте конфіги в окремий каталог або систему контролю версій без секретів.

# Останавливаем сервер перед изменением конфигурации
sudo systemctl stop valheim.service

# Создаём снимок конфигурации модов
sudo tar -C /opt/valheim/server -czf \
    /opt/valheim/data/bepinex-config-$(date +%F-%H%M).tar.gz \
    BepInEx/config BepInEx/plugins

# После изменений запускаем сервер
sudo systemctl start valheim.service

TLS і HTTPS для службової сторінки

Valheim не використовує HTTPS для ігрового підключення, тому сертифікат TLS не потрібен для UDP-портів гри. Якщо ви публікуєте окрему вебсторінку стану, webhook або панель моніторингу, не відкривайте її напряму без захисту. Найпростіший варіант — reverse proxy Caddy з автоматичним сертифікатом для домену.

Не розміщуйте пароль Valheim і адміністративні API у публічному status endpoint. Для панелі використовуйте окрему авторизацію, обмеження за IP або VPN. Якщо вебсервіс не потрібен, не встановлюйте Caddy взагалі: відсутність зайвого публічного сервісу зменшує поверхню атаки.

# Устанавливаем Caddy из официального репозитория проекта
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' \
    | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' \
    | sudo tee /etc/apt/sources.list.d/caddy-stable.list

sudo apt update && sudo apt install -y caddy
# /etc/caddy/Caddyfile
status.example.org {
    reverse_proxy 127.0.0.1:8080
    encode gzip
}
# Проверяем конфигурацию и перезапускаем Caddy
sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl reload caddy

# Открываем HTTPS только если веб-сервис действительно нужен
sudo ufw allow 443/tcp

Для отримання сертифіката домен має вказувати на VPS, а вхідний TCP-порт 443 має бути доступним. Не відкривайте порт 80 без потреби, якщо вибраний спосіб видачі сертифіката цього не вимагає; Caddy зазвичай використовує його для автоматичного HTTP-випробування та перенаправлення.

8. Бекапи та обслуговування

Схема: 8. Бекапи та обслуговування
Схема: 8. Бекапи та обслуговування

Що зберігати

Критично важливими є файли світу, персонажів і серверні налаштування. Залежно від версії Valheim і параметрів запуску вони розташовані в каталозі, заданому -savedir, а за стандартної конфігурації можуть використовувати каталог профілю користувача. Завжди визначайте фактичний шлях за параметрами запуску та часом зміни файлів.

  • Файли світів із розширеннями .db і .fwl.
  • Файли персонажів, якщо сервер або середовище зберігає їх локально.
  • /etc/valheim/valheim.env, але лише в зашифрованому сховищі.
  • BepInEx/config і список DLL-плагінів.
  • Systemd unit і налаштування firewall.
  • Список версій Valheim, BepInEx і модів.

Бекап на той самий диск не захищає від відмови диска, видалення каталогу або компрометації VPS. Мінімальна схема — щоденна локальна копія плюс копія до зовнішнього S3-сумісного сховища або на окремий сервер. Протестуйте відновлення: архів, який жодного разу не відкривали, не можна вважати перевіреним бекапом.

Коректна зупинка перед копіюванням

Світ може записуватися під час гри. Перед повним бекапом краще зупинити службу, скопіювати дані й запустити її знову. Для десяти гравців коротке вікно обслуговування зазвичай краще за потенційно пошкоджене збереження.

# Создаём каталог для ежедневных архивов
sudo install -d -o valheim -g valheim -m 0750 /opt/valheim/backups

# Останавливаем сервер и ждём завершения процесса
sudo systemctl stop valheim.service

# Архивируем сохранения и конфигурацию модов
sudo tar -C /opt/valheim -czf \
    /opt/valheim/backups/valheim-$(date +%F-%H%M).tar.gz \
    data server/BepInEx/config server/BepInEx/plugins

# Запускаем сервер после завершения копирования
sudo systemctl start valheim.service

# Удаляем локальные архивы старше 14 дней
sudo find /opt/valheim/backups -type f -name '.tar.gz' -mtime +14 -delete

Цей сценарій архівації потрібно запускати з правами, що дозволяють зупинити systemd-службу та прочитати каталог. Для автоматизації створіть окремий root-скрипт із фіксованим шляхом, а не дозволяйте користувачу гри виконувати довільні команди від root.

Простий скрипт для cron

# Создаём скрипт резервного копирования
sudo tee /usr/local/sbin/backup-valheim.sh >/dev/null <<'EOF'
#!/usr/bin/env bash
set -euo pipefail

SERVICE="valheim.service"
ROOT="/opt/valheim"
DEST="$ROOT/backups"
STAMP="$(date +%F-%H%M%S)"
ARCHIVE="$DEST/valheim-$STAMP.tar.gz"

mkdir -p "$DEST"
systemctl stop "$SERVICE"
trap 'systemctl start "$SERVICE"' EXIT

tar -C "$ROOT" -czf "$ARCHIVE" \
    data server/BepInEx/config server/BepInEx/plugins

find "$DEST" -type f -name 'valheim-.tar.gz' -mtime +14 -delete
EOF

# Ограничиваем запуск скрипта и делаем его исполняемым
sudo chown root:root /usr/local/sbin/backup-valheim.sh
sudo chmod 0750 /usr/local/sbin/backup-valheim.sh

# Добавляем ежедневный запуск в 04:15
echo '15 4    root /usr/local/sbin/backup-valheim.sh >> /var/log/valheim-backup.log 2>&1' \
    | sudo tee /etc/cron.d/valheim-backup

У скрипті використовується trap, тому службу буде запущено навіть у разі помилки після зупинки, але все одно перевіряйте сповіщення та розмір архівів. Якщо архів потрібно відправляти в S3, додайте restic після локального архіву. Репозиторій restic повинен мати окремий пароль і не зберігати його у відкритому тексті в загальному каталозі.

Restic у зовнішнє сховище

# Инициализация выполняется один раз с защищёнными переменными
export AWS_ACCESS_KEY_ID='replace-me'
export AWS_SECRET_ACCESS_KEY='replace-me'
export RESTIC_PASSWORD='replace-with-a-long-repository-password'
export RESTIC_REPOSITORY='s3:https://s3.example.org/valheim-backups'

# Создаём restic-репозиторий
sudo -E restic init

# Загружаем сохранения и конфигурацию
sudo -E restic backup /opt/valheim/data /opt/valheim/server/BepInEx/config

# Удаляем старые точки восстановления и проверяем репозиторий
sudo -E restic forget --keep-daily 14 --keep-weekly 8 --keep-monthly 6 --prune
sudo -E restic check

Для постійної роботи зберігайте змінні restic у файлі з правами 0600 або використовуйте secrets manager. Не додавайте такий файл до Git і не передавайте ключі в командному рядку, якщо вони можуть потрапити в історію shell або список процесів.

Оновлення Valheim і модів

У Valheim немає класичного rolling update для одного ігрового світу: одночасно працюють одна версія процесу та один набір файлів. Використовуйте maintenance window. Попередьте гравців, зупиніть сервер, зробіть бекап, оновіть файли через SteamCMD, потім по одному оновлюйте несумісні моди.

# Останавливаем сервер перед обновлением
sudo systemctl stop valheim.service

# Обновляем dedicated server и проверяем файлы
sudo -u valheim /usr/games/steamcmd \
    +force_install_dir /opt/valheim/server \
    +login anonymous \
    +app_update 896660 validate \
    +quit

# Просматриваем новые ошибки до запуска в обычном режиме
sudo systemctl start valheim.service
sudo journalctl -u valheim.service -n 150 --no-pager

Якщо гра оновилася, а мод ще ні, безпечніше тимчасово видалити проблемний плагін і запустити ванільний сервер, ніж намагатися використовувати несумісну DLL на основному світі. Для експериментів створіть копію світу з іншою назвою та перевіряйте модпак на ній.

9. Усунення несправностей і FAQ

Сервер не видно у списку, хоча службу запущено. Що перевірити?

Спочатку виконайте systemctl status valheim і переконайтеся, що процес не перезапускається по колу. Потім перевірте ss -lunp | grep 2456, правила ufw status і зовнішній firewall провайдера. Відкрийте UDP 2456–2458, перевірте правильність публічного IPv4 і не використовуйте TCP-правило замість UDP. Якщо сервер приховано, перевірте параметр -public 1 і спробуйте пряме підключення через Steam.

Яка VPS-конфігурація мінімально підійде для 10 гравців?

Для ванільного Valheim і невеликої групи підійде VPS із 2 vCPU, 4 ГБ RAM, SSD від 40 ГБ і публічним IPv4. Це нижня межа, а не комфортний універсальний стандарт: під час генерації світу та використання модів вільна пам’ять може швидко закінчитися. Безпечніший вибір — 4 vCPU і 8 ГБ RAM. Залиште щонайменше 1–2 ГБ резерву, контролюйте swap і збільшуйте тариф за вимірюваннями, а не за здогадками.

Що вибрати — VPS чи dedicated для цього завдання?

Для одного світу Valheim на десять гравців зазвичай достатньо VPS. Він дешевший, простіше масштабується й не потребує керування фізичним сервером. Dedicated виправданий, якщо запускається кілька світів, важкі модпаки, інші ігри або потрібна гарантована продуктивність без впливу сусідніх віртуальних машин. Спочатку виміряйте CPU steal time, RAM, disk latency і мережеві втрати на VPS; переходьте на dedicated, якщо саме ці показники створюють проблему.

Мод встановлено, але BepInEx його не завантажує. У чому причина?

Перевірте розташування DLL: серверний плагін зазвичай має лежати безпосередньо в /opt/valheim/server/BepInEx/plugins, а не у вкладеному каталозі всередині архіву. Перегляньте журнал journalctl -u valheim і файли в BepInEx/LogOutput.log. Перевірте власника, архітектуру Linux-збірки, залежності та сумісність із поточною версією Valheim. Після зміни плагінів повністю перезапустіть службу, а не лише підключайтеся клієнтом повторно.

Гравців викидає, з’являються затримки й розсинхронізація. Що виміряти?

Спочатку порівняйте навантаження CPU, RSS, swap і затримку диска в момент проблеми: vmstat 5, iostat -xz 5 і journalctl. З клієнта виконайте mtr -rw SERVER_IP, щоб знайти втрати пакетів і стрибки маршруту. Усередині гри причиною також можуть бути тисячі будівель, предметів, тварин або мод, що створює велику кількість об’єктів. Збільшення RAM не виправить packet loss і перевантажений один CPU.

Після перезавантаження світ запускається порожнім або відкочується. Як відновити?

Не продовжуйте грати в пошкодженому стані, щоб не перезаписати робочу копію. Зупиніть службу та визначте фактичний каталог збережень із ExecStart, змінної VALHEIM_SAVE_DIR і логів. Порівняйте дати файлів .db і .fwl, потім відновіть останню перевірену пару з архіву. Після відновлення запускайте сервер із тією самою назвою світу й тими самими модами, які використовувалися під час створення бекапу.

Чи можна встановлювати моди лише на сервер?

Іноді так, але це залежить від типу мода. Серверні плагіни, що змінюють правила, команди або збереження світу, можуть працювати лише на dedicated server. Моди, які додають клієнтський інтерфейс, візуальні ефекти або нові мережеві повідомлення, зазвичай потребують встановлення на всіх клієнтах. Орієнтуйтеся на інструкцію конкретного проєкту. Зафіксуйте однакові версії DLL і залежностей, інакше частина гравців може отримати помилки входу або некоректний стан світу.

Чи потрібен HTTPS для ігрового сервера Valheim?

Ні. Ігровий dedicated server використовує власні мережеві протоколи та UDP-порти, а HTTPS не шифрує й не обслуговує цей трафік. TLS потрібен лише для окремої вебпанелі, status endpoint, webhook або моніторингу, якщо вони доступні через домен. Такий сервіс слід проксувати через Caddy або інший reverse proxy, закрити адміністративні маршрути й не публікувати ігрові секрети. Якщо вебінтерфейсу немає, достатньо не відкривати TCP 80 і 443.

10. Висновки та наступні кроки

Схема: 10. Висновки та наступні кроки
Схема: 10. Висновки та наступні кроки

Для Valheim на десять гравців практичний орієнтир — VPS із 4 vCPU, 8 ГБ RAM і швидким SSD. Сервер встановлюється через SteamCMD, запускається окремим користувачем під systemd, а моди підключаються через BepInEx з обов’язковою перевіркою сумісності.

Далі налаштуйте моніторинг RAM, CPU, диска та мережевих втрат, потім регулярно перевіряйте відновлення бекапів. У разі зростання світу або модпака спочатку тестуйте зміни на копії збереження, а вже потім оновлюйте production-сервер. Якщо з’явиться кілька світів або інші сервіси, розділіть їх за systemd-службами та перегляньте ліміти ресурсів.

Чи був цей гайд корисним?

Ваш відгук допомагає нам покращувати гайди.

Share this post:

Надішліть гайд тому, кому він може стати в пригоді.

Telegram VKVK WhatsApp Facebook LinkedIn XX

сервер valheim: скільки ram на 10 гравців і як встановлювати моди
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.