Skip to main content

How to Create Your Hytale Server

This guide explains how to install and configure a dedicated Hytale server on your VPS or dedicated Linux server.

Order a Server

To host your Hytale server, HostMyServers offers several gaming-optimized options:

Prerequisites

  • SSH access as root or user with sudo privileges
  • 64-bit Linux system (Ubuntu/Debian recommended)
  • x64 or ARM64 processor
  • Minimum 4 GB RAM (8 GB recommended)
  • About 10 GB free disk space (SSD recommended)
  • Port 5520 UDP accessible
  • A valid Hytale account

Required Configuration

ComponentMinimumRecommended
RAM4 GB8-16 GB
CPU2 cores4 cores
Storage10 GB SSD20 GB SSD
Network100 Mbps1 Gbps
Network Protocol

Hytale uses the QUIC over UDP protocol (not TCP like Minecraft). The default port is 5520 UDP.

System Update

sudo apt update && sudo apt upgrade -y

Installing Java 25

Hytale requires Java 25 minimum. Earlier versions will not work.

Install Adoptium Temurin 25

# Add Adoptium repository
sudo apt install -y wget apt-transport-https gpg
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo gpg --dearmor -o /usr/share/keyrings/adoptium.gpg
echo "deb [signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/adoptium.list

# Install Java 25
sudo apt update
sudo apt install -y temurin-25-jdk

Verify Installation

java --version

Creating a Dedicated User

For security reasons, create a dedicated user:

sudo adduser --disabled-password --gecos "" hytale

Firewall Configuration

Open UDP port 5520:

With UFW

sudo ufw allow 5520/udp
sudo ufw reload

With iptables

sudo iptables -A INPUT -p udp --dport 5520 -j ACCEPT
sudo iptables-save | sudo tee /etc/iptables/rules.v4

Downloading Hytale Server

Connect as hytale user:

sudo -u hytale bash
cd ~

Create directory and download tool:

mkdir -p ~/hytale-server
cd ~/hytale-server
wget https://downloader.hytale.com/hytale-downloader.zip
unzip hytale-downloader.zip
chmod +x hytale-downloader-linux-amd64

Download Server Files

./hytale-downloader-linux-amd64

The terminal will ask you to go to oauth.accounts.hytale.com to authorize the download. Follow the displayed instructions.

Once validated, you'll get an archive (e.g., 2026.01.13-xxxx.zip).

Extract Files

unzip 2026.01.*.zip

You'll have a Server/ folder and an Assets.zip file.

First Launch and Authentication

Launch the Server

cd ~/hytale-server
java -jar Server/HytaleServer.jar --assets Assets.zip

Authenticate the Server

On first launch, the server displays "No Server Token Configured". You must link it to your Hytale account.

  1. In the server console, type:

    /auth login device
  2. The console displays a code (e.g., ABCD-1234) and a URL

  3. Go to https://accounts.hytale.com/device

  4. Enter the displayed code

  5. Once validated, the console will display: Authentication successful! Mode: OAUTH_DEVICE

Note

Each Hytale account can create up to 100 servers maximum.

Server Configuration

config.json File

After first launch, edit the configuration file:

nano ~/hytale-server/config.json

Main Parameters

ParameterTypeDescription
ServerNameTextPublic server name
MOTDTextWelcome message
PasswordTextPassword (empty = public)
MaxPlayersIntegerMax number of players
MaxViewRadiusIntegerView distance in chunks (12-16 recommended)
LocalCompressionEnabledBooleanData compression (recommended: true)
Defaults > WorldTextDefault world name
Defaults > GameModeTextGame mode (Adventure or Creative)

Launch Optimization

Memory Allocation

java -Xms4G -Xmx8G -jar Server/HytaleServer.jar --assets Assets.zip
Server SizeRecommended RAM
Small (1-10 players)4 GB
Medium (10-20 players)6-8 GB
Large (20+ players)10-16 GB

AOT Cache (Ahead-Of-Time)

To improve startup times:

java -XX:AOTCache=HytaleServer.aot -Xms4G -Xmx8G -jar Server/HytaleServer.jar --assets Assets.zip

Configuration as systemd Service

Create Service File

sudo nano /etc/systemd/system/hytale.service

File content:

[Unit]
Description=Hytale Dedicated Server
After=network.target

[Service]
Type=simple
User=hytale
Group=hytale
WorkingDirectory=/home/hytale/hytale-server
ExecStart=/usr/bin/java -Xms4G -Xmx8G -XX:AOTCache=HytaleServer.aot -jar /home/hytale/hytale-server/Server/HytaleServer.jar --assets /home/hytale/hytale-server/Assets.zip
Restart=on-failure
RestartSec=20

[Install]
WantedBy=multi-user.target

Enable and Start Service

sudo systemctl daemon-reload
sudo systemctl enable hytale.service
sudo systemctl start hytale.service

Management Commands

# Check status
sudo systemctl status hytale.service

# Stop server
sudo systemctl stop hytale.service

# Restart server
sudo systemctl restart hytale.service

# View logs
sudo journalctl -u hytale.service -f

Console Commands

CommandDescription
/auth login deviceAuthenticate server
/stopStop server
/saveSave world
/kick <player>Kick a player
/ban <player>Ban a player
/unban <player>Unban a player
/whitelist add <player>Add to whitelist
/whitelist remove <player>Remove from whitelist
/op <player>Give admin rights
/deop <player>Remove admin rights

Automatic Backup

Backup Script

sudo nano /home/hytale/backup.sh
#!/bin/bash
BACKUP_DIR="/home/hytale/backups"
SERVER_DIR="/home/hytale/hytale-server"
DATE=$(date +%Y-%m-%d_%H-%M-%S)

mkdir -p $BACKUP_DIR

# Backup universe and config
tar -czf $BACKUP_DIR/hytale_$DATE.tar.gz -C $SERVER_DIR universe config.json bans.json whitelist.json permissions.json

# Delete backups older than 7 days
find $BACKUP_DIR -name "hytale_*.tar.gz" -mtime +7 -delete

echo "Backup completed: hytale_$DATE.tar.gz"
sudo chown hytale:hytale /home/hytale/backup.sh
sudo chmod +x /home/hytale/backup.sh

Schedule Backup

sudo crontab -u hytale -e

Add:

# Backup every 6 hours
0 */6 * * * /home/hytale/backup.sh

Connecting to Server

Players can connect via:

  1. Launch Hytale
  2. Go to "Multiplayer"
  3. Enter address: SERVER_IP:5520
  4. If a password is configured, enter it

Troubleshooting

Server won't start

  • Check Java version: java --version (must be 25+)
  • Check logs: sudo journalctl -u hytale.service -n 100
  • Verify Assets.zip and Server/ files are present

Authentication error

  • Re-run /auth login device in console
  • Verify your Hytale account is valid
  • Check server internet connection

Players can't connect

  • Verify port 5520 UDP is open: sudo ufw status
  • Verify server is listening: ss -ulnp | grep 5520
  • Test with nc -zvu SERVER_IP 5520

Performance issues

  • Increase allocated RAM (-Xmx)
  • Reduce MaxViewRadius in config.json
  • Enable LocalCompressionEnabled
  • Schedule regular restarts