Как поднять сервер 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.exe44) Отображение в списке серверов
Сайт может загружать сервер‑лист из 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 секунд. После добавления сервер появится на сайте в течение минуты.