Troubleshooting
Common issues and solutions for Hytale Docker
Troubleshooting
Solutions to common issues running your Hytale server.
Server Won't Start
Container Exits Immediately
Check logs for the error:
docker compose logs hytale-serverCommon causes:
- Java version too old - Image includes Java 25+, but if building custom image, ensure Java 25+
- hytale-downloader missing - Verify the Dockerfile includes hytale-downloader
- Download failed - Network issues or auth problems with hytale-downloader
Download Fails
Symptoms:
- "Download failed" in logs
- "No zip file found"
Solutions:
-
Check network connectivity:
docker compose exec hytale-server ping -c 4 google.com -
Re-run with fresh download:
docker compose down FORCE_UPDATE=true docker compose up -d -
Check hytale-downloader authentication (may need to re-auth the downloader itself)
Authentication Issues
Auto-Auth Not Working
Symptoms:
- Server starts but stays unauthenticated
- No device auth URL appears
Check AUTO_AUTH is enabled:
environment:
AUTO_AUTH: "true"Verify logs:
docker compose logs | grep -i authPersistence Not Working (Re-auth Every Restart)
Symptoms:
- Device auth required on every restart
- Never see "Successfully authenticated from encrypted file"
Solutions:
-
Mount machine-id:
volumes: - /etc/machine-id:/etc/machine-id:ro -
Persist home directory:
volumes: - hytale-home:/home/hytale -
Check if auth succeeded:
docker compose logs | grep "persistence Encrypted"
Both /etc/machine-id AND hytale-home volume are required for persistence to work.
Device Code Expires
Device codes are valid for 15 minutes. If expired:
docker compose restart
docker compose logs -fComplete authorization faster this time.
Can't Access Auth URL
- Check internet connectivity
- Try accessing URL from a different device
- Verify no firewall blocking Hytale domains
Console/Command Issues
Commands Don't Work via docker attach
Symptoms:
- Typing commands shows text but nothing happens
- Commands appear but server doesn't respond
Ensure these settings in docker-compose.yml:
services:
hytale:
stdin_open: true
tty: trueRebuild if settings were changed:
docker compose down
docker compose up -d --buildCan't Detach from Container
Press Ctrl+P then Ctrl+Q (two key sequences, not together).
If that doesn't work, open a new terminal and:
docker compose restartConnection Issues
Players Can't Connect
Checklist:
-
Server is running:
docker compose ps -
Port is UDP:
ports: - "5520:5520/udp" # Must have /udp! -
Server is authenticated:
docker compose logs | grep "Authentication successful" -
Firewall allows UDP 5520:
# Linux sudo ufw allow 5520/udp # Windows netsh advfirewall firewall add rule name="Hytale" dir=in action=allow protocol=UDP localport=5520 -
Router port forwarding configured for UDP
Connection Timeout
Causes:
- Firewall blocking UDP
- Wrong protocol (TCP instead of UDP)
- Router not forwarding
- ISP blocking UDP
Debug steps:
- Test locally first:
localhost:5520 - Test on LAN:
192.168.x.x:5520 - Test externally with correct public IP
Performance Issues
Out of Memory
Symptoms:
java.lang.OutOfMemoryError- Container crashes/restarts
Increase memory:
environment:
JAVA_OPTS: "-Xms6G -Xmx8G -XX:+UseG1GC"
deploy:
resources:
limits:
memory: 10GSlow Startup
-
Enable AOT cache:
environment: USE_AOT_CACHE: "true" -
Use SSD storage
-
First startup is always slower (downloads + AOT cache generation)
Server Lag
-
Check resource usage:
docker stats hytale-server -
Increase memory allocation
-
Check host system resources
Volume Issues
Permission Denied
Symptoms:
- Can't write to server files
- "Permission denied" in logs
Fix permissions:
docker compose down
# Find volume path
docker volume inspect hytale-docker_hytale-data | grep Mountpoint
# Fix ownership (container runs as UID 1000)
sudo chown -R 1000:1000 /path/to/volume
docker compose up -dData Lost After Restart
Ensure volumes are defined:
volumes:
hytale-data:
hytale-home:Check volume exists:
docker volume ls | grep hytaleUpdate Issues
Server Won't Update
Force re-download:
docker compose down
FORCE_UPDATE=true docker compose up -dOr rebuild image:
docker compose down
docker compose build --no-cache
docker compose up -dCheck Current Version
The downloader version is saved to /server/.downloader_version:
docker compose exec hytale-server cat /server/.downloader_versionDocker Issues
Image Build Fails
# Clean rebuild
docker compose build --no-cache
# Or pull latest
docker compose pullContainer Won't Stop
# Force stop
docker compose kill
# Remove
docker compose rm -fAdvanced Debugging
Access Container Shell
docker compose exec hytale-server bashInside:
# Check files
ls -la /server/
# Check processes
ps aux
# Check logs
cat /tmp/server_output.logExport Full Logs
docker compose logs > hytale-debug.logWatch Real-time Output
docker compose logs -f --tail=100Getting Help
If still stuck:
-
Search issues: https://github.com/romariin/hytale-docker/issues
-
Create issue with:
- Full error logs
- Your
docker-compose.yml - Docker version:
docker --version - OS and version
-
Official resources: