How to Host a Hytale Dedicated Server on Linux
Hytale ships a real headless dedicated server for persistent worlds and community experiences. It runs on Java 25, supports x64 and arm64 Linux, and needs at least 4 GB RAM. The unusual parts are the authenticated download, server identity, QUIC networking and exact client-server version matching.
Skip Java, OAuth, QUIC and service setup with managed Hytale hosting
What the official server needs
- Java 25, with Adoptium Temurin recommended by Hypixel Studios;
- at least 4 GB RAM, with more for wider views and independently exploring players;
- the Server directory and Assets.zip from the official Hytale download;
- one reachable UDP port, 5520 by default;
- an authenticated Hytale game session before players can join.
Hytale uses QUIC over UDP. Opening TCP 5520 instead of UDP does not help, and a generic TCP-only port checker can report the server as closed even when the game is healthy.
1. Install Java 25
On Ubuntu, install a Java 25 runtime from Adoptium or another trusted OpenJDK distributor, then verify the major version:
java --version
The server manual currently shows Temurin 25. Do not assume the older Java runtime used by another game on the same machine is sufficient.
2. Download the official server files
For production, Hypixel Studios recommends Hytale Downloader. The tool uses OAuth device authorization, validates the archive checksum and remembers refreshed credentials in .hytale-downloader-credentials.json.
chmod +x hytale-downloader-linux-amd64
./hytale-downloader-linux-amd64 -download-path game.zip
unzip game.zip -d /srv/hytale
Keep the downloader credential file private and persistent. Refresh tokens are updated when they rotate, so restoring an older copy can leave an automated downloader with an invalid token.
The resulting layout must keep Assets.zip beside start.sh, with HytaleServer.jar inside the Server directory. Hytale only enables its built-in update workflow when it recognizes that layout.
3. Authenticate the server
A personal server can use the writable console:
/auth login device
/auth status
Open the shown Hytale account URL, enter the device code and select a game profile if prompted. Hosting providers should use the separate provider flow: rotate one OAuth refresh token centrally, create a game session for the provider profile, and pass the returned session and identity tokens to the process. Those game-session tokens last one hour and the running server refreshes them five minutes before expiry.
Do not put the provider OAuth refresh token in a customer-visible config, startup argument or log. GHosting stores its rotating token encrypted in the control plane and supplies only short-lived game-session tokens to each process at launch.
4. Start the official server
cd /srv/hytale/Server
java -XX:AOTCache=HytaleServer.aot \
-jar HytaleServer.jar \
--assets ../Assets.zip \
--bind 0.0.0.0:5520 \
--backup \
--backup-dir backups \
--backup-frequency 30
The shipped AOT cache reduces warm-up time. If the cache is missing or does not match the server build, remove only that JVM option rather than changing the server JAR.
5. Open the UDP port
sudo ufw allow 5520/udp
For a home server, forward UDP 5520 from the router to the machine's reserved private address. A VPS also needs the provider firewall or security group to allow UDP. Use --bind 0.0.0.0:PORT when the host assigns a different port.
6. Configure the settings that matter
Hytale writes top-level settings to Server/config.json. Useful stable fields include ServerName, MOTD, Password, MaxPlayers, MaxViewRadius, DefaultModsEnabled, the default GameMode, and the nested Update policy.
Stop the server before editing. The official manual warns that a running process can overwrite manual file changes. Keep the view-radius cap near the recommended 12 chunks unless monitoring shows that the plan has room for more.
Backups and automatic updates
The official launcher can stage new binaries and assets, preserve config, saves and mods, then restart on exit code 8. WhenEmpty is a useful automatic-apply mode for a private server because it waits for the last player to leave. Scheduled applies after a delay and warns connected players.
Back up the universe and config before a planned update. Hytale currently requires the client and server protocol hashes to match exactly, so delaying an update too long can prevent updated clients from joining.
Mods and the writable console
Compatible server mods are .jar or .zip files in Server/mods. Hytale's modding model is server-side first, so players normally join the server experience without maintaining an external matching client pack. Only install code from sources you trust and watch the first restart log.
The console is part of normal Hytale administration. /help prints the current command list and per-command usage. Use a real stdin channel under systemd rather than attaching the process to /dev/null, otherwise authentication and administration commands cannot reach it.
Managed alternative
GHosting Hytale servers install the official Java 25 build, authenticate through the documented provider flow, expose the allocated QUIC/UDP port, retain worlds and backups, and provide settings, versions, files, SFTP and a writable console in one panel. Nothing renews automatically.
See Hypixel Studios' official Hytale Server Manual and Server Provider Authentication Guide for the upstream commands and token lifecycle used here.