Как поднять сервер Hytale

Полное руководство по настройке и хостингу собственного сервера Hytale. Изучи конфигурацию, интеграцию API и лучшие практики.

11) Требования

  • Windows / Linux (VPS)
  • Static IP / Domain
  • Firewall: TCP/UDP ports

22) Подготовь файлы сервера

Положи дистрибутив сервера в папку, например ./server.

# Directory Structure
server/
  server.exe  (or start.sh)
  config.json
  worlds/
  logs/

33) Конфиг и запуск

Создай конфиг с именем, max players и портом. Пример:

{
  "name": "My Community Server",
  "port": 25565,
  "maxPlayers": 100,
  "motd": "Welcome to Hytale!"
}

Запусти сервер и проверь, что порт слушается:

# Linux
chmod +x start.sh
./start.sh

# Windows
.\server.exe

44) Отображение в списке серверов

Сайт может загружать сервер‑лист из API через VITE_SERVERS_API_URL. API может вернуть массив или объект с полем servers.

// GET /api/servers
[
  {
    "id": "srv-1",
    "name": "My Community Server",
    "address": "play.myserver.com:25565",
    "region": "EU",
    "status": "online",
    "playersOnline": 42,
    "playersMax": 100,
    "tags": ["Survival", "PvP"]
  }
]

Обычно backend обновляет playersOnline и status через query/ping до сервера.

Добавление сервера в мониторинг

Система мониторинга автоматически отслеживает статус, количество игроков и ping всех зарегистрированных серверов. Серверы проверяются каждые 60 секунд, и их статус отображается на сайте.

Для добавления сервера вам необходим API ключ. Получите его у администратора сайта. API ключ передается в заголовке X-API-Key при каждом административном запросе.

Пример добавления сервера:

curl -X POST https://hytale-launcher.com/api/admin/servers \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your_api_key_here" \
  -d '{
    "id": "my-server-1",
    "name": "My Awesome Server",
    "address": "play.example.com:25565",
    "region": "EU",
    "description": "Best server ever!",
    "tags": ["Survival", "PVP"],
    "website": "https://example.com"
  }'

Обязательные поля: id (уникальный идентификатор), name (имя сервера), address (адрес в формате host:port). Опциональные поля: region (регион), description (описание), tags (массив тегов), website (URL сайта).

Другие примеры:

# Обновить сервер
curl -X PUT https://hytale-launcher.com/api/admin/servers/my-server-1 \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your_api_key" \
  -d '{"description": "Updated"}'

# Удалить сервер
curl -X DELETE https://hytale-launcher.com/api/admin/servers/my-server-1 \
  -H "X-API-Key: your_api_key"

Важно: адрес должен быть в формате host:port (например, play.example.com:25565). Порт должен быть открыт для входящих TCP соединений. Статус обновляется автоматически каждые 60 секунд. После добавления сервер появится на сайте в течение минуты.