# [Гайд] Установка и настройка сервера Hytale на Ubuntu 22.04 LTS
Подробное пошаговое руководство по установке, базовой настройке и запуску выделенного сервера (Dedicated Server) Hytale на чистой операционной системе **Ubuntu 22.04 LTS**.
Гайд рассчитан как на владельцев домашних стендов, так и на администраторов арендных VPS/VDS.
---
### Системные требования
* **ОС:** Ubuntu 22.04 LTS (64-bit)
* **Процессор:** 2 ядра (рекомендуется от 4 ядер с высокой частотой на ядро)
* **Оперативная память:** Минимум 4 ГБ (рекомендуется от 8 ГБ для стабильной работы с игроками)
* **Диск:** Минимум 20 ГБ свободного места (желательно NVMe/SSD)
* **Сеть:** Статический публичный IPv4-адрес
---
### Шаг 1. Обновление системы и установка утилит
Подключитесь к вашему серверу по SSH под пользователем `root` или с правами `sudo`. Первым делом обновите пакетную базу и установите базовые вспомогательные утилиты:
```bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git tar ufw nano screen jq
Шаг 2. Создание изолированного пользователя
Важно по безопасности: никогда не запускайте игровые серверы под учетной записью
root. Скомпрометированный сервер или уязвимый плагин в таком случае получит полный доступ ко всей операционной системе.
Создадим отдельного системного пользователя hytale без лишних привилегий:
Bash
sudo adduser --disabled-password --gecos "" hytale
Перейдем в рабочую директорию нового пользователя:
Bash
sudo -i -u hytale
mkdir -p ~/server
cd ~/server
Шаг 3. Установка Java Runtime Environment (JRE)
Серверная часть Hytale построена на платформе Java. Для актуальной стабильной работы рекомендуется использовать OpenJDK 21 (или актуальную LTS-версию, указанную в спецификациях релиза).
Вернитесь в сессию с правами администратора (exit или откройте второй терминал) и установите OpenJDK:
Bash
sudo apt install -y openjdk-21-jre-headless
Проверьте корректность установки:
Bash
java -version
В выводе должна отображаться версия Java (openjdk version "21.x.x").
Шаг 4. Размещение серверных файлов
Переключитесь обратно на пользователя hytale:
Bash
sudo -i -u hytale
cd ~/server
Загрузите архив с серверными бинарниками (замените ссылку на актуальный архив релиза или скопируйте файлы через SFTP/rsync):
Bash
# Пример загрузки архива:
wget [https://example.com/hytale-server-release.tar.gz](https://example.com/hytale-server-release.tar.gz)
# Распаковка:
tar -xvf hytale-server-release.tar.gz
rm hytale-server-release.tar.gz
Убедитесь, что основной исполняемый jar-файл или скрипт запуска имеет права на выполнение:
Bash
chmod +x start.sh
Шаг 5. Настройка скрипта запуска и выделение памяти
Создайте удобный скрипт для запуска с оптимизированными параметрами памяти Java Virtual Machine:
Bash
nano start.sh
Вставьте следующую конфигурацию (для сервера с 8 ГБ RAM рекомендуется выделить под процесс около 6 ГБ, оставив 2 ГБ под саму систему):
Bash
#!/usr/bin/env bash
# Запуск выделенного сервера Hytale
MEM_MIN="4G"
MEM_MAX="6G"
SERVER_JAR="hytale-server.jar"
java -Xms${MEM_MIN} -Xmx${MEM_MAX} \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC \
-XX:+AlwaysPreTouch \
-jar ${SERVER_JAR} nogui
Сохраните файл (Ctrl + O → Enter, Ctrl + X) и сделайте его исполняемым:
Bash
chmod +x start.sh
Шаг 6. Настройка службы systemd (Автозапуск)
Чтобы сервер автоматически поднимался после перезагрузки VPS или в случае аварийного падения, оформим его как системный сервис.
Выйдите из сессии пользователя hytale:
Bash
exit
Создайте юнит-файл службы:
Bash
sudo nano /etc/systemd/system/hytale.service
Добавьте конфигурацию:
Ini, TOML
[Unit]
Description=Hytale Dedicated Server
After=network.target
[Service]
User=hytale
Group=hytale
WorkingDirectory=/home/hytale/server
ExecStart=/bin/bash /home/hytale/server/start.sh
Restart=on-failure
RestartSec=10s
StandardInput=null
# Ограничения безопасности процесса
ProtectSystem=full
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
Перезагрузите демон systemd и активируйте сервис:
Bash
sudo systemctl daemon-reload
sudo systemctl enable hytale.service
Управление сервером через systemd:
-
Запуск:
sudo systemctl start hytale -
Остановка:
sudo systemctl stop hytale -
Перезагрузка:
sudo systemctl restart hytale -
Просмотр статуса:
sudo systemctl status hytale -
Просмотр логов в реальном времени:
journalctl -u hytale -f
Шаг 7. Настройка брандмауэра (UFW)
Чтобы внешние игроки могли подключиться к серверу, необходимо открыть порт (по умолчанию для игровых серверов используется протокол UDP и TCP):
Bash
# Разрешаем стандартный SSH (чтобы не потерять доступ)
sudo ufw allow 22/tcp
# Открываем порт игрового сервера (укажите порт из конфигурации сервера, например 25565 или дефолтный порт Hytale)
sudo ufw allow 25565/tcp
sudo ufw allow 25565/udp
# Включаем брандмауэр
sudo ufw enable
sudo ufw status
Шаг 8. Проверка работы
Запустите сервер и проверьте его статус:
Bash
sudo systemctl start hytale
sudo systemctl status hytale
Если статус окрашен в зеленый цвет (active (running)), ваш сервер успешно запущен и ожидает подключений игроков по вашему внешнему IP-адресу.
Возникли сложности с запуском или вылезает ошибка в логах?
Оставляйте вывод команды
journalctl -u hytale -n 50в комментариях к этой теме в блоке кода — разберем проблему вместе!
Источник: перевод с английского