How to Create a Hytale Server on Linux

Setting up a Hytale dedicated server on Linux gives you full control over your multiplayer experience. This comprehensive guide will walk you through every step of the process, from installing Java 25 to configuring your server and optimizing performance.
What you'll learn: Java 25 installation, downloading server files, authentication, port forwarding, firewall configuration, and performance optimization for Linux systems.
System Requirements
- ▸Minimum RAM: 4GB (8GB+ recommended for multiple players)
- ▸Java Version: Java 25 (required)
- ▸Architecture: x64 or arm64
- ▸Storage: 5GB+ for server files and world data
- ▸Network: UDP port 5520 open (or custom port)
Performance Tip: Resource usage depends heavily on player behavior. High player counts increase CPU usage, while large loaded world areas (high view distance, players exploring independently) increase RAM usage.
Step 1: Install Java 25
Hytale servers require Java 25 to run. We recommend using Adoptium (formerly AdoptOpenJDK) for the best compatibility.
Ubuntu / Debian
# Update package listsudo apt update# Install Java 25 from Adoptiumwget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo apt-key add -echo "deb https://packages.adoptium.net/artifactory/deb $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/adoptium.listsudo apt updatesudo apt install temurin-25-jdkFedora / RHEL / CentOS
# Add Adoptium repositorysudo dnf install -y wgetwget https://packages.adoptium.net/artifactory/rpm/rhel/adoptium.repo -O adoptium.reposudo mv adoptium.repo /etc/yum.repos.d/# Install Java 25sudo dnf install temurin-25-jdkVerify Installation
Check that Java is installed correctly:
java --versionExpected output:
openjdk 25.0.1 2025-10-21 LTSOpenJDK Runtime Environment Temurin-25.0.1+8 (build 25.0.1+8-LTS)OpenJDK 64-Bit Server VM Temurin-25.0.1+8 (build 25.0.1+8-LTS, mixed mode, sharing)Step 2: Download Server Files
You have two options for obtaining Hytale server files: using the Hytale Downloader CLI (recommended for production) or manually copying from your launcher installation.
Option 1: Hytale Downloader CLI (Recommended)
The official command-line tool makes it easy to download and update server files.
# Download the Hytale Downloaderwget https://download.hytale.com/hytale-downloader.zip# Extract the archiveunzip hytale-downloader.zipcd hytale-downloader# Make it executablechmod +x hytale-downloader# Download latest server files./hytale-downloader./hytale-downloader -print-version to check the current game version, and ./hytale-downloader -check-update to check for updates.Option 2: Manual Copy from Launcher
If you have the Hytale launcher installed, you can copy the server files directly:
# Navigate to launcher installationcd $XDG_DATA_HOME/Hytale/install/release/package/game/latest# Copy to your server directorycp -r Server ~/hytale-server/cp Assets.zip ~/hytale-server/Step 3: Configure Firewall & Network
Important: Hytale uses QUIC protocol over UDP (not TCP). Make sure to configure your firewall for UDP traffic on port 5520.
UFW (Ubuntu/Debian)
# Allow UDP port 5520sudo ufw allow 5520/udp# Verify the rulesudo ufw statusiptables
# Add firewall rule for UDP port 5520sudo iptables -A INPUT -p udp --dport 5520 -j ACCEPT# Save the rules (Ubuntu/Debian)sudo iptables-save | sudo tee /etc/iptables/rules.v4firewalld (Fedora/RHEL/CentOS)
# Open UDP port 5520sudo firewall-cmd --permanent --add-port=5520/udp# Reload firewallsudo firewall-cmd --reloadStep 4: Start Your Server
Basic Launch Command
Navigate to your server directory and start the server:
cd ~/hytale-serverjava -jar HytaleServer.jar --assets Assets.zipOptimized Launch Command
For better performance, use the AOT cache and allocate appropriate memory:
java -Xms4G -Xmx8G -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip-Xms4G: Minimum heap size (4GB)
-Xmx8G: Maximum heap size (8GB)
-XX:AOTCache: Uses pre-trained cache for faster boot times
Custom Port
To use a different port:
java -jar HytaleServer.jar --assets Assets.zip --bind 0.0.0.0:25565Step 5: Authenticate Your Server
All Hytale servers require authentication to communicate with Hytale services and prevent abuse. You can run up to 100 servers per Hytale license.
After first launch, authenticate using the device code method:
# In your server console, run:/auth login deviceYou'll see output like this:
===================================================================DEVICE AUTHORIZATION===================================================================Visit: https://accounts.hytale.com/deviceEnter code: ABCD-1234Or visit: https://accounts.hytale.com/device?user_code=ABCD-1234===================================================================Waiting for authorization (expires in 900 seconds)...Visit the URL in your browser, enter the code, and complete the authorization. Once done, your server will be authenticated and ready to accept players.
Step 6: Run Server as a Service (Optional)
To keep your server running in the background and automatically restart it on system reboot, create a systemd service.
Create Service File
sudo nano /etc/systemd/system/hytale.serviceAdd the following content:
[Unit]Description=Hytale ServerAfter=network.target[Service]Type=simpleUser=youruserWorkingDirectory=/home/youruser/hytale-serverExecStart=/usr/bin/java -Xms4G -Xmx8G -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zipRestart=on-failureRestartSec=10[Install]WantedBy=multi-user.targetEnable and Start Service
# Reload systemdsudo systemctl daemon-reload# Enable service to start on bootsudo systemctl enable hytale# Start the servicesudo systemctl start hytale# Check statussudo systemctl status hytalePerformance Optimization Tips
1. View Distance
View distance is the main driver for RAM usage. Limit maximum view distance to 12 chunks (384 blocks) for optimal performance. This is roughly equivalent to 24 Minecraft chunks.
2. Monitor Resources
Monitor RAM and CPU usage to understand your server's needs:
# Install htop for monitoringsudo apt install htop# Run htophtop3. Disable Sentry (Development)
If you're developing plugins, disable crash reporting:
java -jar HytaleServer.jar --assets Assets.zip --disable-sentry4. Recommended Plugins
Consider these community plugins for enhanced server management:
- ▸Nitrado:Query - Exposes server status via HTTP
- ▸Nitrado:PerformanceSaver - Dynamically limits view distance based on resources
- ▸ApexHosting:PrometheusExporter - Detailed metrics for monitoring
Troubleshooting Common Issues
Players Can't Connect
Ensure UDP port 5520 is open in your firewall and forwarded on your router. Remember, Hytale uses UDP, not TCP. Check with sudo ufw status or test your ports.
Out of Memory Errors
Increase the -Xmx value when launching the server. For 10+ players, use at least 8GB. Monitor usage with htop and adjust accordingly.
Server Crashes on Startup
Verify Java 25 is installed with java --version. Check logs in the logs/ directory for detailed error messages.
Protocol Version Mismatch
Update your server files when Hytale releases an update. Currently, client and server must be on the exact same version. Use the Hytale Downloader to easily update.
You're All Set!
Congratulations! Your Hytale server is now running on Linux. Players can connect using your server IP and port (default 5520). Don't forget to list your server on Hytale Servers Space to attract players from the community.