How to Host a Hytale Server
Complete guide to set up and host your own Hytale community server. Learn server configuration, API integration, and best practices.
11) Requirements
- Windows / Linux (VPS)
- Static IP / Domain
- Firewall: TCP/UDP ports
22) Prepare server files
Put your server distribution into a folder, e.g. ./server.
# Directory Structure
server/
server.exe (or start.sh)
config.json
worlds/
logs/33) Config & run
Create a config with a name, max players, and port. Example:
{
"name": "My Community Server",
"port": 25565,
"maxPlayers": 100,
"motd": "Welcome to Hytale!"
}Start the server and verify it listens on the port:
# Linux
chmod +x start.sh
./start.sh
# Windows
.\server.exe44) Show up in the server list
The website can load servers from an API using VITE_SERVERS_API_URL. Your API can return either an array or an object with 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"]
}
]In production, your backend usually updates playersOnline and status via query/ping to your game server.
Adding server to monitoring
The monitoring system automatically tracks the status, player count, and ping of all registered servers. Servers are checked every 60 seconds, and their status is displayed on the website.
To add a server, you need an API key. Get it from the site administrator. The API key is passed in the X-API-Key header with each administrative request.
Example of adding a server:
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"
}'Required fields: id (unique identifier), name (server name), address (address in host:port format). Optional fields: region (region), description (description), tags (array of tags), website (website URL).
Other examples:
# Update server
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"}'
# Delete server
curl -X DELETE https://hytale-launcher.com/api/admin/servers/my-server-1 \
-H "X-API-Key: your_api_key"Important: address must be in host:port format (e.g., play.example.com:25565). The port must be open for incoming TCP connections. Status is updated automatically every 60 seconds. After adding, the server will appear on the website within a minute.