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