Hytale Dedicated Server Setup Guide

Install Java 25 and Hytale server files, authenticate the server, open UDP port 5520, and confirm the first connection.

Last updated: 2026-08-01

This guide follows the current official server workflow: install Java 25, obtain HytaleServer.jar and Assets.zip, authenticate through the device flow, allow the selected UDP port, and test the server before adding mods.

Before you begin

Prepare:

  • An x64 or arm64 machine with Java 25 and at least 4 GB of memory.
  • A Hytale account permitted to authenticate the server.
  • A dedicated folder with enough space for game assets, worlds, logs, updates, and backups.
  • Administrative access to the host firewall and, for home hosting, the router.

Confirm Java:

java --version

Do not continue if this resolves to an older Java runtime.

1. Obtain the server files

For quick testing, copy the Server folder and Assets.zip from the Hytale Launcher installation. The official Windows release location is:

%appdata%\Hytale\install\release\package\game\latest

For an installation intended to stay online, use the official Hytale Downloader CLI or the bootstrap workflow so updates are easier to manage.

To bootstrap from a bare JAR, place HytaleServer.jar in an empty directory and run:

java -jar HytaleServer.jar --bootstrap

In the server console, authenticate and prepare the update layout:

/auth login device
/update setup

After the bootstrap process exits, use start.bat on Windows or ./start.sh on Unix-like systems. On Windows, remove the original installer JAR after shutdown if it could not remove itself.

2. Start and authenticate

A direct launch uses the server JAR and asset archive:

java -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip

On first launch, enter:

/auth login device

Open the official device URL shown in the console and enter its temporary code. Do not share the code or the resulting auth.enc and auth.key files. Once authentication succeeds, the server can accept normal player connections.

3. Configure the port

The default bind address is 0.0.0.0:5520. To choose another port:

java -jar HytaleServer.jar --assets Assets.zip --bind 0.0.0.0:3500

Use the same port in the launch command, firewall, router forwarding rule, and connection address.

Hytale uses QUIC over UDP. With the default port:

  • Allow inbound UDP 5520 in the host firewall.
  • Forward UDP 5520 to the server machine when hosting behind a router.
  • Do not add a TCP rule unless another service specifically requires it.
  • Reserve the server's local address so the forwarding rule continues to reach the same machine.

Windows PowerShell firewall example:

New-NetFirewallRule -DisplayName "Hytale Server" -Direction Inbound -Protocol UDP -LocalPort 5520 -Action Allow

4. Verify the installation

Test in this order:

  1. Confirm the console reaches a stable running state without an authentication error.
  2. Connect from the host or another device on the local network.
  3. Connect from outside the home network.
  4. Check logs/ after each failed attempt.

Testing the public address from inside the same network can fail on routers without NAT loopback. Use a genuinely external connection for the third test.

5. Review the generated files

Important paths include:

PathPurpose
logs/Server logs
mods/Installed .zip and .jar mods
universe/Worlds and player save data
config.jsonMain server configuration
permissions.jsonPermission groups and assignments
whitelist.jsonWhitelist data
bans.jsonBan data

Stop the server before manually editing configuration. The server reads configuration at startup and can overwrite manual changes made while it is running.

Next steps

Official reference

Related pages