Как создать сервер в Hytale
💻 Для разработчиков 7 мин. чтения 17.01.2026 331

Как создать сервер в Hytale

Полное руководство по серверам Hytale по настройке, конфигурации и администрированию выделенных серверов Hytale. Установка Java, запуск сервера, настройка файрвола, моды и мультисерверная архитектура.

Источник: Hytale Support

Введение

Это руководство охватывает настройку, конфигурацию и эксплуатацию выделенных серверов Hytale.

Для кого: Администраторы серверов и игроки, которые хотят хостить собственные серверы.

Содержание

  • Настройка сервера — установка Java, файлы сервера, системные требования
  • Запуск сервера — команды запуска, аутентификация, порты, файрвол
  • Советы и хитрости — моды, AOT-кэш, Sentry, рекомендуемые плагины
  • Мультисерверная архитектура — переадресация игроков, редиректы, фоллбэки
  • Дополнительно — JVM аргументы, обновления протокола, конфигурационные файлы
  • Будущие функции — каталог серверов, группы, платёжная система, API

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

Системные требования

Сервер Hytale может работать на любом устройстве с:

  • Минимум 4 ГБ оперативной памяти
  • Java 25
  • Архитектура x64 или arm64

Рекомендуем мониторить использование RAM и CPU во время работы сервера, чтобы понять типичное потребление ресурсов для вашего количества игроков и стиля игры.

Что влияет на ресурсы

  • CPU — большое количество игроков или сущностей (NPC, мобы)
  • RAM — большая загруженная область мира (высокая дальность прорисовки, игроки исследуют мир независимо друг от друга)
Совет: Экспериментируйте с параметром -Xmx для установки явных лимитов памяти. Типичный симптом нехватки памяти — повышенное использование CPU из-за сборки мусора.

Установка Java 25

Установите Java 25. Рекомендуем Adoptium Temurin.

Проверьте установку командой:

java --version

Ожидаемый вывод:

openjdk 25.0.1 2025-10-21 LTS
OpenJDK Runtime Environment Temurin-25.0.1+8 (build 25.0.1+8-LTS)
OpenJDK 64-Bit Server VM Temurin-25.0.1+8 (build 25.0.1+8-LTS, mixed mode, sharing)

Получение файлов сервера

Два способа получить файлы сервера:

Способ 1: Копирование из лаунчера

Подходит для: Быстрого тестирования. Неудобно обновлять.

Найдите файлы в папке установки лаунчера:

  • Windows: %appdata%\Hytale\install\release\package\game\latest
  • Linux: $XDG_DATA_HOME/Hytale/install/release/package/game/latest
  • MacOS: ~/Application Support/Hytale/install/release/package/game/latest

Скопируйте папку Server и файл Assets.zip на ваш сервер.

Способ 2: Hytale Downloader CLI

Подходит для: Продакшен-серверов. Легко обновлять.

Скачайте: hytale-downloader.zip (Linux и Windows)

Основные команды:

  • ./hytale-downloader — скачать последний релиз
  • ./hytale-downloader -print-version — показать версию игры без скачивания
  • ./hytale-downloader -check-update — проверить обновления
  • ./hytale-downloader -patchline pre-release — скачать из пре-релизного канала

Запуск сервера Hytale

Базовая команда запуска

java -jar HytaleServer.jar --assets PathToAssets.zip

Аутентификация сервера

После первого запуска необходимо аутентифицировать сервер:

> /auth login device
===================================================================
DEVICE AUTHORIZATION
===================================================================
Перейдите: https://accounts.hytale.com/device
Введите код: ABCD-1234
===================================================================
Ожидание авторизации (истекает через 900 секунд)...

[Пользователь завершает авторизацию в браузере]

> Authentication successful! Mode: OAUTH_DEVICE

После аутентификации сервер может принимать подключения игроков.

Лимит: 100 серверов на одну лицензию Hytale. Если нужно больше — купите дополнительные лицензии или подайте заявку на аккаунт Server Provider.

Справка по аргументам

java -jar HytaleServer.jar --help

Основные аргументы:

  • --assets <путь> — путь к файлу Assets.zip
  • --bind 0.0.0.0:5520 — адрес и порт для прослушивания
  • --auth-mode <authenticated|offline> — режим аутентификации
  • --backup — включить автоматические бэкапы
  • --backup-frequency <минуты> — интервал бэкапов (по умолчанию 30)
  • --accept-early-plugins — разрешить загрузку ранних плагинов

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

Порт по умолчанию — 5520. Изменить можно аргументом --bind:

java -jar HytaleServer.jar --assets PathToAssets.zip --bind 0.0.0.0:25565

Настройка файрвола

Важно: Hytale использует протокол QUIC поверх UDP (не TCP)!

Проброс портов

Если сервер за роутером, пробросьте UDP порт 5520 (или ваш кастомный порт). Проброс TCP не требуется.

Правила файрвола

Windows (PowerShell от администратора):

New-NetFirewallRule -DisplayName "Hytale Server" -Direction Inbound -Protocol UDP -LocalPort 5520 -Action Allow

Linux (iptables):

sudo iptables -A INPUT -p udp --dport 5520 -j ACCEPT

Linux (ufw):

sudo ufw allow 5520/udp

Проблемы с NAT

QUIC хорошо справляется с NAT в большинстве случаев. Если игроки не могут подключиться:

  • Убедитесь, что порт проброшен именно для UDP, а не TCP
  • Симметричный NAT может вызывать проблемы — рассмотрите VPS или выделенный сервер
  • Игроки за CGNAT (часто на мобильных сетях) подключаются как клиенты без проблем

Структура файлов сервера

  • .cache/ — кэш оптимизированных файлов
  • logs/ — логи сервера
  • mods/ — установленные моды
  • universe/ — данные миров и игроков
  • bans.json — заблокированные игроки
  • config.json — конфигурация сервера
  • permissions.json — права доступа
  • whitelist.json — белый список игроков

Структура мира (universe)

Директория universe/worlds/ содержит все игровые миры. У каждого мира свой config.json с настройками:

  • Seed — сид генерации мира
  • WorldGen — тип генератора мира
  • IsPvpEnabled — включён ли PvP
  • IsFallDamageEnabled — урон от падения
  • IsSpawningNPC — спавн NPC
  • IsSavingChunks — сохранение чанков

Каждый мир работает в своём основном потоке и распределяет параллельную работу в общий пул потоков.

Советы и хитрости

Установка модов

Скачайте моды (.zip или .jar) с CurseForge и положите их в папку mods/.

Отключение Sentry (отчёты об ошибках)

Важно: Отключайте Sentry при активной разработке плагинов, чтобы не отправлять ваши ошибки разработчикам Hytale.
java -jar HytaleServer.jar --assets PathToAssets.zip --disable-sentry

AOT-кэш для быстрого запуска

Сервер поставляется с предварительно обученным AOT-кэшем (HytaleServer.aot), который ускоряет запуск, пропуская JIT-прогрев:

java -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets PathToAssets.zip

Рекомендуемые плагины

Партнёры Hypixel Studios — Nitrado и Apex Hosting — поддерживают полезные плагины:

Дальность прорисовки (View Distance)

Дальность прорисовки — основной фактор потребления RAM. Рекомендуем ограничить максимум до 12 чанков (384 блока).

Для сравнения: в Minecraft серверы по умолчанию используют 10 чанков (160 блоков). Hytale по умолчанию — 384 блока, что эквивалентно 24 чанкам Minecraft. Ожидайте более высокое потребление RAM с настройками по умолчанию.

Мультисерверная архитектура

Hytale поддерживает встроенные механизмы маршрутизации игроков между серверами. Прокси типа BungeeCord не требуется!

Переадресация игрока (Player Referral)

Переводит подключённого игрока на другой сервер. Сервер отправляет пакет с адресом цели и опциональной полезной нагрузкой (до 4 КБ).

PlayerRef.referToServer(@Nonnull final String host, final int port, @Nullable byte[] data)
Безопасность: Полезная нагрузка передаётся через клиент и может быть изменена. Подписывайте данные криптографически (например, HMAC с общим секретом), чтобы принимающий сервер мог проверить подлинность.

Применение: Перевод между игровыми серверами, передача контекста сессии, доступ через матчмейкинг.

Редирект при подключении

Во время рукопожатия сервер может отклонить игрока и перенаправить на другой сервер. Клиент автоматически подключается к новому адресу.

PlayerSetupConnectEvent.referToServer(@Nonnull final String host, final int port, @Nullable byte[] data)

Применение: Балансировка нагрузки, региональная маршрутизация, принудительное подключение через лобби.

Фоллбэк при отключении

При неожиданном отключении (краш сервера, проблемы с сетью) клиент автоматически переподключается к заранее настроенному фоллбэк-серверу вместо возврата в главное меню.

Применение: Возврат игроков в лобби после краша игрового сервера, поддержание вовлечённости при перезапусках.

Создание прокси

Собственные прокси-серверы можно создать с помощью Netty QUIC. Hytale использует исключительно QUIC для связи клиент-сервер.

Определения пакетов и структура протокола доступны в HytaleServer.jar:

com.hypixel.hytale.protocol.packets

Дополнительные детали

JVM аргументы

Используйте -Xms и -Xmx для управления размером кучи. Подробнее: Guide to the Most Important JVM Parameters.

Обновления протокола

Протокол Hytale использует хеш для проверки совместимости клиента и сервера. Если хеши не совпадают точно — подключение отклоняется.

Текущее ограничение: Клиент и сервер должны быть на одинаковой версии протокола. При выходе обновления серверы должны обновиться немедленно.

Скоро: Толерантность протокола ±2 версии между клиентом и сервером.

Конфигурационные файлы

Файлы конфигурации (config.json, permissions.json и т.д.) читаются при запуске сервера и записываются при внутриигровых действиях. Ручные изменения при работающем сервере могут быть перезаписаны.

Maven Central артефакт

HytaleServer.jar будет опубликован в Maven Central для использования в проектах моддинга:

<dependency>
    <groupId>com.hypixel.hytale</groupId>
    <artifactId>Server</artifactId>
</dependency>

Будущие функции

Каталог серверов и мини-игр

Каталог в главном меню, где игроки смогут находить серверы и мини-игры. Операторы серверов смогут добавить свой сервер в каталог.

Требования для листинга:

  • Соответствие правилам для операторов серверов
  • Самооценка контента (для фильтрации и родительского контроля)
  • Серверы, нарушающие самооценку, подлежат санкциям

Верификация количества игроков: Онлайн в каталоге собирается из телеметрии клиентов, а не от серверов. Это предотвращает накрутку.

Система групп (Party)

Система групп, позволяющая игрокам объединяться и оставаться вместе при переходах между серверами и в очередях мини-игр.

Встроенная платёжная система

Платёжный шлюз в клиенте, который серверы могут использовать для приёма платежей от игроков.

Для операторов: Приём платежей без обработки платёжных данных и создания инфраструктуры.

Для игроков: Не нужно посещать внешние сайты, все транзакции безопасны и отслеживаемы.

Поддержка SRV-записей

Позволит игрокам подключаться по домену (например, play.example.com) без указания порта.

Статус: Не поддерживается. На рассмотрении.

Официальные API-эндпоинты

Аутентифицированные серверы получат доступ к официальным API:

  • UUID ↔ Имя — конвертация имён игроков в UUID и обратно
  • Версия игры — текущая версия, версия протокола, проверка обновлений
  • Профиль игрока — косметика, аватары, публичная информация
  • Телеметрия сервера — статус, онлайн, метаданные для каталога
  • Репорты — жалобы на игроков за нарушение ToS
  • Платежи — обработка платежей через встроенный шлюз

На рассмотрении:

  • Глобальные санкции — проверка платформенных банов игрока
  • Список друзей — получение друзей игрока (с разрешениями)
  • Вебхуки — подписка на события (смена имени, санкции и т.д.)