Это лёгкая для кого-то статья, но на деле, когда пупсы сталкиваются с настройками, а главное — с созданием собственного сервера Hytale, они начинают бегать в поисках инструкции:
«Как запустить сервер Hytale на VPS».
Начнём с базового — что вообще нужно для открытия сервера?
Для игры с друзьями вы вряд ли стали бы брать VPS и ограничились бы обычным панельным хостингом. Но если речь идёт об открытии сервера на публику, под большую аудиторию, тут уже всё серьёзнее — вам понадобятся много ядер с высокой частотой.
Да, Hytale, в отличие от Minecraft, поддерживает многопоточность. И не просто поддерживает — во время того, как игроки бегают по карте и прогружают чанки, сервер активно использует доступные ядра. В некоторых случаях — на полную катушку, нагружая их под все 100%.
Он до них жаден…
очень жаден.
Теперь про ОЗУ.
Горы ОЗУ. Да, для более-менее обычной работы сервера хватит и 4 ГБ оперативной памяти (в документации, кстати, указано что-то в районе 8 ГБ), но скажу вам честно — этого мало.
Эта махина (Hytale) имеет в себе немало утечек памяти. Spark вам особо не поможет — сборщик мусора работает посредственно и чистит далеко не всё. Со временем сервер начинает потреблять всё больше ОЗУ, и если запас памяти небольшой, проблемы не заставят себя ждать.
Я взял VPS с 32 GB ОЗУ, сервер простоял сутки без какого-либо внимания — и вот что мы имеем.
Сразу оговорюсь: в скрипте запуска у меня указаны параметры
то есть минимальный и максимальный объём heap-памяти равны. Это означает, что heap не должен расти выше заданного значения. Однако если посмотреть на swap, который в обычных условиях находится на нуле, можно заметить, что при высокой нагрузке он начинает расти — из-за нехватки свободной оперативной памяти вне heap.
Так что будьте готовы часто перезагружать сервер, чтобы хоть как-то минимизировать проблемы утечки памяти в Hytale.
Далее я проведу анализ утечек и будем что-то с этим делать. Причина пока не ясна. Но после запуска сервера, даже без игроков, потребление ОЗУ растёт — медленно, но верно.
Как только арендуете VPS или машину, сразу, первым делом при подключении к серверу обновите все компоненты:
Создаём папку для нашего будущего сервера:
Переходим в папку для временных файлов чтобы скачать туда java:
Как скачается, распаковываем командой:
Создаём папку для нашей java
перемещаем распакованную java в папку созданную:
Теперь говорим системе, что использовать именно её:
Выбираем нужную версию по умолчанию:
Проверяем:
Теперь переходим в папку сервера:
Скачиваем файлы для сервера:
Ставим распаковщик:
Распаковываем скаченный файл:
Делаем сам скачанный бинарник исполняемым:
Запускаем его, чтобы распаковать игру:
Проверяем содержимое папки:
Распаковываем
Проверяем после, что всё распаковалось:
Удаляем лишнее:
Что мы имеем в итоге:

И запускаем сервер. По крайней мере пытаемся.
Можете подключиться к скрину:
И радоваться что всё работает
«Как запустить сервер Hytale на VPS».
Начнём с базового — что вообще нужно для открытия сервера?
Для игры с друзьями вы вряд ли стали бы брать VPS и ограничились бы обычным панельным хостингом. Но если речь идёт об открытии сервера на публику, под большую аудиторию, тут уже всё серьёзнее — вам понадобятся много ядер с высокой частотой.
Да, Hytale, в отличие от Minecraft, поддерживает многопоточность. И не просто поддерживает — во время того, как игроки бегают по карте и прогружают чанки, сервер активно использует доступные ядра. В некоторых случаях — на полную катушку, нагружая их под все 100%.
Он до них жаден…
очень жаден.
Теперь про ОЗУ.
Горы ОЗУ. Да, для более-менее обычной работы сервера хватит и 4 ГБ оперативной памяти (в документации, кстати, указано что-то в районе 8 ГБ), но скажу вам честно — этого мало.
Эта махина (Hytale) имеет в себе немало утечек памяти. Spark вам особо не поможет — сборщик мусора работает посредственно и чистит далеко не всё. Со временем сервер начинает потреблять всё больше ОЗУ, и если запас памяти небольшой, проблемы не заставят себя ждать.
Я взял VPS с 32 GB ОЗУ, сервер простоял сутки без какого-либо внимания — и вот что мы имеем.
-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Запуск сервера 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— подключаем плагины раннего доступа, а именно плагин из нашего лаунчера, чтобы могли подключиться не только лицензионщики, но и с пиратаки.
Можете подключиться к скрину:
screen -r hytaleИ радоваться что всё работает