Налаштування
Вся конфігурація виконується через змінні середовища у файлі .env.
Налаштування сервера
| Змінна | За замовчуванням | Опис |
|---|---|---|
JAVA_XMS | 4G | Мінімальне виділення RAM |
JAVA_XMX | 8G | Максимальне виділення RAM |
BIND_PORT | 5520 | UDP порт сервера |
AUTO_DOWNLOAD | true | Автозавантаження (тільки x64) |
SERVER_EXTRA_ARGS | - | Додаткові аргументи сервера |
TZ | UTC | Часовий пояс для логів |
Аргументи сервера
SERVER_EXTRA_ARGS (або поле Додаткові аргументи кожного сервера на вкладці Config панелі) додається до командного рядка сервера. Так само передається опція --transport, додана в Update 8, яка вибирає мережевий транспорт сервера:
SERVER_EXTRA_ARGS=--transport <транспорт>Починаючи з Update 8 сервер за замовчуванням використовує транспорт quiche (див. Підтримка ARM64 щодо переходу на netty). Допустимі значення дивіться в офіційному посібнику сервера Hytale.
Канали релізів
Кожен сервер може використовувати одну з офіційних patchline hytale-downloader, яку можна вибрати на вкладці Config панелі:
| Канал | Опис |
|---|---|
stable | Стабільні збірки (за замовчуванням, рекомендовано) |
pre-release | Найновіші функції, можливі помилки |
Перевірка оновлень на вкладці Setup порівнює встановлену версію сервера з останньою доступною на каналі сервера (через hytale-downloader -print-version), тож "Доступне оновлення" відображає реальну віддалену версію, а не вік файлів.
Безпека оновлень
Оновлення сервера можуть оновлювати ваші світи на місці, і ці зміни незворотні:
- Update 7 оновив дані block-section світу до v7. Світ, завантажений на цій версії, не відкриється на старішій.
- Update 8 (pre-release) переносить
universe/events.jsonдоuniverse/resources/GlobalWorldEvents.json. Старіші сервери його не прочитають.
Тому панель створює резервну копію (з тим самим вмістом, що й на вкладці Backups) перед застосуванням оновлення з вкладки Setup. Якщо резервне копіювання не вдалося, оновлення скасовується і нічого не завантажується. Це налаштовується для кожного сервера опцією Створювати резервну копію світів перед оновленням на вкладці Config. За замовчуванням вона увімкнена, а сервери, створені до появи цієї опції, поводяться так, ніби вона увімкнена.
Перемикання сервера з pre-release на stable потребує підтвердження: світи, відкриті на новішій збірці pre-release, можуть не завантажитися на старішій стабільній збірці, тому спочатку створіть резервну копію. Перемикання зі stable на pre-release показує коротше попередження, бо ваші світи будуть незворотно перенесені, щойно нова збірка їх відкриє.
Warning
Відновлення резервної копії — єдиний спосіб повернути оновлений світ на старішу збірку. Зберігайте принаймні одну резервну копію, зроблену на старій версії, доки не переконаєтеся, що оновлення працює.
Вбудована команда /update
Сервери Hytale мають вбудований механізм оновлення (UpdateModule, команди /update). У цьому образі він не підтримується, і це навмисно: він очікує офіційний лаунчер start.sh і структуру папок Server/, а також покладається на те, що лаунчер обробить код виходу 8, щоб встановити нову збірку й перезапустити сервер. Цей образ запускає HytaleServer.jar напряму, тому оновленнями керує панель (вкладка Setup): вона завантажує збірку для каналу сервера через hytale-downloader і спочатку створює резервну копію.
Налаштування панелі
| Змінна | За замовчуванням | Опис |
|---|---|---|
PANEL_USER | admin | Ім'я користувача |
PANEL_PASS | admin | Пароль |
PANEL_PORT | 3000 | HTTP порт панелі |
JWT_SECRET | (випадковий) | Ключ підпису JWT |
MODTALE_API_KEY | - | API ключ для Modtale |
CURSEFORGE_API_KEY | - | API ключ для CurseForge |
config.json сервера
Сервер Hytale зберігає власні налаштування у config.json у кореневій папці сервера (/opt/hytale/config.json всередині контейнера, data/servers/{server-id}/server/config.json на хості). Редагуйте його на вкладці Files панелі та перезапустіть сервер, щоб застосувати зміни. Файл включається до резервних копій.
SentryDsn
Починаючи з hotfix 0.7.3 для Update 7 сервер читає необов'язковий ключ SentryDsn. Вкажіть DSN власного проєкту Sentry, щоб отримувати туди помилки сервера та плагінів:
{
"SentryDsn": "https://<public-key>@<your-sentry-host>/<project-id>"
}| Значення | Поведінка |
|---|---|
| Ключа немає | Без змін (поведінка сервера за замовчуванням) |
"" (порожньо) | Звітування про помилки вимкнено |
| DSN | Помилки сервера та плагінів надсилаються у ваш проєкт Sentry |
Додайте ключ поруч з наявними; не замінюйте весь файл.
Server Discovery
Офіційний список серверів Hytale (Server Discovery) керується поза панеллю:
- Створіть профіль сервера в Hytale Account Manager → Server Profiles.
- Підтвердьте свій домен, додавши запропонований DNS-запис TXT.
- Перед показом лістинг проходить модерацію Hytale.
- У грі оператор (OP) генерує токен discovery для сервера.
Після цього сервер сам надсилає heartbeat-запити discovery, використовуючи цей токен. У панелі нічого налаштовувати не потрібно. Просто переконайтеся, що ігровий порт (BIND_PORT, UDP) доступний з інтернету.
Рекомендації щодо RAM
| Гравці | Рекомендований JAVA_XMX |
|---|---|
| 1-10 | 4G |
| 10-20 | 6G |
| 20-50 | 8G |
| 50+ | 12G+ |
Приклад конфігурації
# Ресурси сервера
JAVA_XMS=4G
JAVA_XMX=8G
BIND_PORT=5520
# Автозавантаження
AUTO_DOWNLOAD=true
# Додаткові аргументи (напр. для модів)
SERVER_EXTRA_ARGS=--mods mods
# Автентифікація панелі
PANEL_USER=myadmin
PANEL_PASS=супербезпечнийпароль123
JWT_SECRET=мій-секретний-ключ
# Часовий пояс
TZ=Europe/Kyiv
# Інтеграція Modtale (опціонально)
MODTALE_API_KEY=ваш-api-ключ
# Інтеграція CurseForge (опціонально - зверніть увагу на одинарні лапки!)
CURSEFORGE_API_KEY='$2a$10$ваш-ключ-тут'Налаштування Docker Compose
Ви можете налаштувати volumes та порти в docker-compose.yml:
services:
hytale-server:
volumes:
- ./server:/opt/hytale
- ./my-mods:/opt/hytale/mods
ports:
- "5520:5520/udp"
environment:
- JAVA_XMX=16G
hytale-panel:
ports:
- "8080:3000" # Змінити порт панелі на 8080Загальні часові пояси
| Регіон | Часовий пояс |
|---|---|
| Україна | Europe/Kyiv |
| Польща | Europe/Warsaw |
| Німеччина | Europe/Berlin |
| Велика Британія | Europe/London |
