Настройка и создание сервера Hytale на VPS

Иконка ресурса
Краткое описание:
Пошаговая настройка сервера по Hytale. Моя история
37
  • Лайк 0
Реакции:2 пользователей
Это лёгкая для кого-то статья, но на деле, когда пупсы сталкиваются с настройками, а главное — с созданием собственного сервера Hytale, они начинают бегать в поисках инструкции:
«Как запустить сервер Hytale на VPS».

Начнём с базового — что вообще нужно для открытия сервера?

Для игры с друзьями вы вряд ли стали бы брать VPS и ограничились бы обычным панельным хостингом. Но если речь идёт об открытии сервера на публику, под большую аудиторию, тут уже всё серьёзнее — вам понадобятся много ядер с высокой частотой.

Да, Hytale, в отличие от Minecraft, поддерживает многопоточность. И не просто поддерживает — во время того, как игроки бегают по карте и прогружают чанки, сервер активно использует доступные ядра. В некоторых случаях — на полную катушку, нагружая их под все 100%.

Он до них жаден…
очень жаден.
Теперь про ОЗУ.
Горы ОЗУ. Да, для более-менее обычной работы сервера хватит и 4 ГБ оперативной памяти (в документации, кстати, указано что-то в районе 8 ГБ), но скажу вам честно — этого мало.

Эта махина (Hytale) имеет в себе немало утечек памяти. Spark вам особо не поможет — сборщик мусора работает посредственно и чистит далеко не всё. Со временем сервер начинает потреблять всё больше ОЗУ, и если запас памяти небольшой, проблемы не заставят себя ждать.

Я взял VPS с 32 GB ОЗУ, сервер простоял сутки без какого-либо внимания — и вот что мы имеем.
1769839872719
Сразу оговорюсь: в скрипте запуска у меня указаны параметры
-Xms26G -Xmx26G,
то есть минимальный и максимальный объём heap-памяти равны. Это означает, что heap не должен расти выше заданного значения. Однако если посмотреть на swap, который в обычных условиях находится на нуле, можно заметить, что при высокой нагрузке он начинает расти — из-за нехватки свободной оперативной памяти вне heap.

Так что будьте готовы часто перезагружать сервер, чтобы хоть как-то минимизировать проблемы утечки памяти в Hytale.


Далее я проведу анализ утечек и будем что-то с этим делать. Причина пока не ясна. Но после запуска сервера, даже без игроков, потребление ОЗУ растёт — медленно, но верно.

И так, приступаем к настройке VPS Hytale.​

ОС — Ubuntu… мгм.
Как только арендуете VPS или машину, сразу, первым делом при подключении к серверу обновите все компоненты:
sudo apt update && sudo apt upgrade -y

Создаём папку для нашего будущего сервера:
mkdir -p /opt/hytale-server
Переходим в папку для временных файлов чтобы скачать туда java:
cd /tmp

Установка JAVA:​

Скачиваем нужную java для Hytale. Да, для него нужна 25 версия.
Код:
wget https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.1%2B8/OpenJDK25U-jre_x64_linux_hotspot_25.0.1_8.tar.gz

Как скачается, распаковываем командой:
tar -xzf OpenJDK25U-jre_x64_linux_hotspot_25.0.1_8.tar.gz
Создаём папку для нашей java
sudo mkdir -p /opt/java
перемещаем распакованную java в папку созданную:
sudo mv jdk-25.0.1+8-jre /opt/java/temurin-25.0.1+8-jre

Теперь говорим системе, что использовать именно её:
sudo update-alternatives --install /usr/bin/java java /opt/java/temurin-25.0.1+8-jre/bin/java 251

Выбираем нужную версию по умолчанию:

sudo update-alternatives --config java
Проверяем:
java --version

Скачивание файлов игры:​

Для скачиваниям файлов игрры вам нужен лицензионный аккаунт, чтобы скачать а в послдении
Теперь переходим в папку сервера:
cd /opt/hytale-server
Скачиваем файлы для сервера:
wget https://downloader.hytale.com/hytale-downloader.zip
Ставим распаковщик:
sudo apt install unzip -y
Распаковываем скаченный файл:
unzip hytale-downloader.zip
Делаем сам скачанный бинарник исполняемым:
chmod +x hytale-downloader-linux-amd64
Запускаем его, чтобы распаковать игру:
./hytale-downloader-linux-amd64 unzip game.zip -d .
Проверяем содержимое папки:
ls -lh /opt/hytale-server
Распаковываем
unzip *.zip -d . файл может называться другим названием
Проверяем после, что всё распаковалось:
ls -lh /opt/hytale-server
Удаляем лишнее:
Код:
rm -f 2026.01.24-6e2d4fc36.zip hytale-downloader.zip hytale-downloader-linux-amd64 hytale-downloader-windows-amd64.exe QUICKSTART.md
Что мы имеем в итоге:
1769842906676

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

Приходим в папку нашего сервера:​

cd /opt/hytale-server/Server
И запускаем сервер. По крайней мере пытаемся.

Мой скрипт запуска выглядит вот так:​

СНАЧАЛА НАСТРОЙТЕ!!!​

Код:
screen -ls | grep hytale | awk '{print $1}' | xargs -I {} screen -X -S {} quit && screen -S hytale -dm bash -c 'cd /opt/hytale-server/Server && java -Xms26G -Xmx26G -XX:+ParallelRefProcEnabled -XX:+UnlockExperimentalVMOptions -XX:+AlwaysPreTouch -XX:+UseCompactObjectHeaders -jar HytaleServer.jar --assets ../Assets.zip --bind 0.0.0.0:5520 --auth-mode authenticated --disable-sentry --early-plugins EarlyPlugins --accept-early-plugins'

Расскажу что тут:​

  • screen -ls | grep hytale | awk '{print $1}' | xargs -I {} screen -X -S {} quit
    • Закрывает все старые сессии screen с именем hytale.
  • screen -S hytale -dm bash -c '…'
    • Создаёт новую фоновую сессию screen с именем hytale и запускает сервер внутри неё.
  • Параметры Java и Hytale:
    • -Xms26G-Xmx26G — фиксируем объём heap (Выставляйте свои)
    • Остальные флаги — оптимизация многопоточности и сборки мусора
    • --bind 0.0.0.0:5520 — слушаем все интерфейсы на порту 5520, именно этот является стандартным портов UDP для Hytale
    • --auth-mode authenticated --disable-sentry — стандартные опции для приватного сервера
    • --early-plugins EarlyPlugins --accept-early-plugins — подключаем плагины раннего доступа, а именно плагин из нашего лаунчера, чтобы могли подключиться не только лицензионщики, но и с пиратаки.
И так, на выходе мы имеем сервер запущенный сервер Hytale.
Можете подключиться к скрину:
screen -r hytale
И радоваться что всё работает

Автор

bobobo

Еще ресурсы от bobobo

BlackTale - Hytale для windows бесплатно
BlackTale - Hytale для windows бесплатно
Пиратский лаунчер Hytale
⚡ X PRIVATE MINES ⚡ [1.13 - 1.21.X] ⭐#1 MINES PLUGIN ⭐Lag-Free & Feature-Packed ⭐
⚡ X PRIVATE MINES ⚡ [1.13 - 1.21.X] ⭐#1 MINES PLUGIN ⭐Lag-Free & Feature-Packed ⭐
Масштаб. Оптимизация. Функции. — Полный контроль над приватными шахтами.
QUARRY ✅ Resource Extraction Machines | ItemsAdder/Nexo/Oraxen [1.12-1.21.11]
QUARRY ✅ Resource Extraction Machines | ItemsAdder/Nexo/Oraxen [1.12-1.21.11]
- Руда, древесина, рыба, растения, мобы, шерсть, булыжник | GUI, бустеры, топливо, магазины, звуки!
Crucible or MythicCrucible DEV BUILDS
Crucible or MythicCrucible DEV BUILDS
Девверсия плагина MythicCrucible (или Crucible)
JetsMinions
JetsMinions
Эффективный, высоконастраиваемый плагин Minions/Robots с большим количеством хуков...
ComplexTurrets
ComplexTurrets
Создай мощные турели для защиты на своём сервере Майнкрафт
Executable Levers
Executable Levers
Размещайте масштабируемые рычаги и настраивайте их триггеры
ExecutableCrafting Premium
ExecutableCrafting Premium
Кастомный крафт — ультимативная система кастомных рецептов для серверов Minecraft!
Executable Items PREMIUM
Executable Items PREMIUM
Кастомные предметы ✨ Поддержка Custom Craft ✅ Более 30 различных триггеров ⭐ Бесконечные возможности
⭐ ExecutableEvents ⭐ PREMIUM
⭐ ExecutableEvents ⭐ PREMIUM
Инструмент, позволяющий настраивать события, происходящие на вашем сервере.
Executable Blocks ⭐ PREMIUM
Executable Blocks ⭐ PREMIUM
Кастомные блоки, кастомные триггеры, создавайте эпические блоки! Поддерживает ItemsAdder, Oraxen!
SCore
SCore
Библиотека для плагинов от Ssomar
ВерхНиз