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