Skip to content

Docker Installation

Deploy a Hytale dedicated server using the pre-built Docker image.

  • Docker 20.10+
  • Minimum 4GB RAM (8GB recommended)
  • Hytale account with server access
  • UDP port 5520 available
Terminal window
# Latest stable release
docker pull everhytale/hytale-server:latest
# Specific Hytale version
docker pull everhytale/hytale-server:2026.01.15-c04fdfe10
Terminal window
# Create data directory
mkdir -p ./data
# Run the server
docker run -d \
--name hytale-server \
-p 5520:5520/udp \
-v ./data:/server \
-v /etc/machine-id:/etc/machine-id:ro \
-e MIN_MEMORY=4G \
-e MAX_MEMORY=8G \
everhytale/hytale-server:latest

Hytale servers require authentication. After starting the container:

Terminal window
docker attach hytale-server
/auth login device

You’ll see:

===================================================================
DEVICE AUTHORIZATION
===================================================================
Visit: https://accounts.hytale.com/device
Enter code: ABCD-1234
===================================================================
  1. Visit the URL in your browser
  2. Enter the code
  3. Wait for confirmation in the console
/auth persistence Encrypted

This saves credentials to auth.enc so they survive container restarts.

Press Ctrl+P then Ctrl+Q to detach without stopping the server.

VariableDefaultDescription
MIN_MEMORY4GMinimum JVM heap size
MAX_MEMORY8GMaximum JVM heap size
SERVER_PORT5520Server port (UDP)
SERVER_BIND0.0.0.0Bind address
AUTH_MODEauthenticatedAuthentication mode
USE_AOT_CACHEtrueUse AOT cache for faster startup
VariableDefaultDescription
BACKUP_ENABLEDfalseEnable automatic backups
BACKUP_DIR/server/backupsBackup directory
BACKUP_FREQUENCY30Interval in minutes
BACKUP_MAX_COUNT5Maximum backups to keep

The /server volume contains all persistent data:

/server/
├── universe/ # Worlds and player data
├── mods/ # Installed mods (EverEssentials, etc.)
├── logs/ # Server logs
├── .cache/ # Optimized cache
├── auth.enc # Encrypted authentication
├── config.json # Server configuration
├── permissions.json # Permissions
├── whitelist.json # Whitelisted players
└── bans.json # Banned players
Terminal window
docker logs -f hytale-server
Terminal window
docker stop hytale-server
Terminal window
docker start hytale-server
Terminal window
docker rm hytale-server

Hytale uses QUIC protocol over UDP.

Terminal window
sudo ufw allow 5520/udp
Terminal window
sudo iptables -A INPUT -p udp --dport 5520 -j ACCEPT
Terminal window
New-NetFirewallRule -DisplayName "Hytale Server" -Direction Inbound -Protocol UDP -LocalPort 5520 -Action Allow

If you see “Failed to get Hardware UUID”:

Terminal window
docker run -d \
--name hytale-server \
-v /etc/machine-id:/etc/machine-id:ro \
-v /var/lib/dbus/machine-id:/var/lib/dbus/machine-id:ro \
...
  1. Check logs: docker logs hytale-server
  2. Ensure minimum 4GB RAM available
  3. Verify port 5520 is not in use

Re-authenticate using the device flow:

Terminal window
docker attach hytale-server
# Then in console:
/auth login device