Hytale ships an official dedicated server as HytaleServer.jar (Java 25, at least 4 GB memory, UDP 5520 over QUIC) that must be authenticated with a Hytale account. As the game is in early access, check the official Hytale support manual; the details below cross-check support and host guides.
Step-by-step installation
Check the machine: Java 25 (x64/arm64), 4 GB RAM min..
Get the server files: the Server folder (with HytaleServer.jar) and Assets.zip from the game install, or via the official Hytale Downloader (code login).
Install Java 25 and check with java -version.
Run java -jar HytaleServer.jar --assets Assets.zip; config.json, logs/ and universe/ are created on first start.
In the console run /auth login device, approve the code at accounts.hytale.com/device, then /auth persistence Encrypted.
Edit config.json with the server stopped (ServerName, MOTD, Password, MaxPlayers, MaxViewRadius).
Open ports 5520/UDP in the firewall and on your router.
Join with the address shown at the top of the console (IP:5520); DNS SRV records are not supported yet, use an A record.
Configure auto-start (scheduled task or systemd service).
Schedule backups of universe/ and updates.
Requirements
- Java 25 (x64 or arm64); at least 4 GB memory, view distance (MaxViewRadius, 12 chunks suggested at most) is the main RAM driver
- A Hytale account that owns the game; one licence is limited to 500 servers
- Client and server must use the same protocol version
Local install (Windows)
Create a folder (e.g. C:\HytaleServer), copy the Server folder and Assets.zip from %appdata%\Hytale\install\release\package\game\latest, then run the command. A server on the same PC as the game needs at least 16 GB RAM in total.
cd C:\HytaleServer
java -Xms4G -Xmx4G -jar HytaleServer.jar --assets Assets.zipInstall on a Linux VPS / dedicated server
On Ubuntu/Debian: a non-root user, Java 25 (for example Eclipse Temurin 25), then the Hytale Downloader to fetch the server (code login, token saved in .hytale-downloader-credentials.json; delete that file on authentication errors). The downloader's exact options are not detailed here: read its help.
sudo adduser --disabled-password --gecos "" hytale
sudo -iu hytale
mkdir -p ~/hytale-server && cd ~/hytale-server
java -version # doit afficher 25 / must show 25
java -Xms4G -Xmx4G -jar Server/HytaleServer.jar --assets Assets.zipPorts to open
- 5520/UDP: default game port (QUIC), changeable with --bind; no TCP to open
Linux firewall (ufw)
On Ubuntu/Debian, allow SSH first so you do not lock yourself out, then the game ports.
sudo ufw allow OpenSSH
sudo ufw allow 5520/udp
sudo ufw enable
sudo ufw statusWindows firewall (netsh)
In an elevated PowerShell (or administrator “cmd”):
netsh advfirewall firewall add rule name="Hytale 5520/UDP" dir=in action=allow protocol=UDP localport=5520Provider firewall and port forwarding (NAT)
If the server is at a provider (OVH, Hetzner, Scaleway…), open the same ports in its network firewall (“security group”). For home hosting, forward the ports (NAT) from your router to the machine's fixed local IP. Test from outside (mobile data or a friend): a test from your own network proves nothing.
Auto-start and supervision
Create /etc/systemd/system/<name>.service, then: sudo systemctl daemon-reload && sudo systemctl enable --now <name>. Logs: journalctl -u <name> -f.
[Unit]
Description=Hytale server
After=network-online.target
Wants=network-online.target
[Service]
User=hytale
WorkingDirectory=/home/hytale/hytale-server
ExecStart=/usr/bin/java -Xms4G -Xmx4G -jar Server/HytaleServer.jar --assets Assets.zip
Restart=on-failure
RestartSec=15
[Install]
WantedBy=multi-user.targetAuto-start on Windows (scheduled task)
Create a scheduled task triggered “At startup” that runs the launch script, with highest privileges and “Run whether user is logged on or not”.
Updates, backups and restarts
Stop the server, re-run Hytale Downloader, then restart. Back up universe/ before any major update. The server checks for a new build on every start: restarting is usually enough. Back up before switching patchline (release/pre-release): worlds from a pre-release may not open on older builds.
# backup
tar czf ~/backup-$(date +%F).tar.gz -C ~/server universe/List and find your server
Once your server is public, add it on https://game-rank.com/jeux/hytale (the owner's site) so players can find it, follow it and vote for it.
Troubleshooting
- Unreachable from outside but fine on localhost: the OS firewall, the provider firewall or the NAT forward is missing, or the protocol (UDP/TCP) is wrong. Check each layer one by one.
- Connection refused after a game update: client and server must run the same version. Re-run the server update, then restart it.
- The server exits immediately: start it from a console to read the error, and check free RAM, disk space and software prerequisites.
- “Authentication required” or login lost on restart: redo /auth login device and check /auth persistence (Memory = lost on restart; choose Encrypted).
- Out of memory or lag: lower MaxViewRadius (/maxviewradius <radius>) before adding RAM.
Frequently asked questions
- Does Hytale have an official dedicated server?
- Yes: HytaleServer.jar, documented by Hytale support. The game is in early access, so options and formats (config.json…) may change.
- Why no config.json generator?
- Only a few fields (ServerName, MOTD, Password, MaxPlayers, MaxViewRadius, backups) are documented by third parties, with no official schema: we do not invent it. Edit the generated file with the server stopped.
- What should I back up?
- The universe/ folder (worlds and player data), plus config.json and permissions.json.
- Can it run without an account (offline mode)?
- Guides mention --auth-mode offline for development; it is not the normal route for a public server. Verify with --help.
