Use this guide to create and host a Hytale dedicated server on your own machine (VPS/dedicated box/home host). It covers Java 25, obtaining server files, first boot, authentication, and getting players connected over UDP/QUIC.
Short on time?
Order a pre-configured Hytale server and start playing without the manual setup.

Requirements
Hardware (minimum)
- RAM: 4 GB minimum (monitor usage and scale for your player count/playstyle)
- CPU: Any modern 64-bit CPU (higher player/entity counts increase CPU usage)
- Storage: Enough space for the server + assets + worlds (plan for growth)
Software
- Java 25 (required)
- Windows (x64) or Linux (x64/arm64). Hytale supports x64 and arm64 architectures.
Note: Resource usage depends heavily on player behaviour. Larger loaded world area (view distance + exploration) increases RAM; high entity counts increase CPU.
1) Install Java 25
Install Java 25 (Temurin/Adoptium is commonly used), then verify:
java --version
You should see output similar to:
openjdk 25.0.1 2025-10-21 LTS
2) Get the server files
You have two supported options:
Option A: Copy from your Hytale Launcher install (quick testing)
Locate your Hytale install folder and copy the Server folder and Assets.zip to your server directory.
Typical paths:
- Windows:
%appdata%\Hytale\install\release\package\game\latest - Linux:
$XDG_DATA_HOME/Hytale/install/release/package/game/latest - macOS:
~/Application Support/Hytale/install/release/package/game/latest
You should see something like:
Client/Server/Assets.zip
Option B: Use the Hytale Downloader CLI (best for production + easy updates)
The official downloader fetches the latest server + asset files using OAuth2. Refer to QUICKSTART.md inside the downloader archive.
Common commands:
./hytale-downloader
./hytale-downloader -print-version
./hytale-downloader -check-update
./hytale-downloader -patchline pre-release
3) First launch the server
Create a folder to run your server from (examples: C:\HytaleServer or /opt/hytale), then place:
HytaleServer.jarAssets.zip
Start the server:
java -jar HytaleServer.jar --assets Assets.zip
Tip: You can review all available server arguments with:
java -jar HytaleServer.jar --help
4) Authenticate the server (required for online play)
After first launch, the server must authenticate before it can accept player connections.
In the server console, run:
/auth login device
You’ll be shown a device URL + code. Open the URL in a browser, enter the code, and sign in. When complete you should see “Authentication successful!” in the server console.
Note (licensing/scale): Hytale limits authenticated servers per game license (see official docs). If you need to run lots of servers or automate authentication at scale, you’ll need a Server Provider approach.
5) Networking: ports, firewall, and port forwarding
Default port
Hytale listens on UDP port 5520 by default and uses QUIC over UDP (not TCP).
Changing the port / bind address
Use --bind:
java -jar HytaleServer.jar --assets Assets.zip --bind 0.0.0.0:25565
Port forwarding (home hosting)
If you’re behind a router, forward UDP 5520 (or your custom port) to the machine running the server. TCP forwarding is not required.
Firewall rules
Windows (PowerShell)
New-NetFirewallRule -DisplayName "Hytale Server" -Direction Inbound -Protocol UDP -LocalPort 5520 -Action Allow
Linux (ufw)
sudo ufw allow 5520/udp
Linux (iptables)
sudo iptables -A INPUT -p udp --dport 5520 -j ACCEPT
NAT notes
QUIC generally handles NAT well, but if players can’t connect:
- Confirm your forward/rules are UDP, not TCP
- Some symmetric NAT setups may cause issues (a VPS/dedicated host often avoids this)
6) Allocate RAM (recommended)
It can be hard to judge how much RAM a Java process truly needs without tooling. A common approach is to explicitly cap memory with -Xmx (and set an initial heap with -Xms) and then adjust based on load.
Examples (leave ~1 GB free for the OS):
# 4 GB host
java -Xms3G -Xmx3G -jar HytaleServer.jar --assets Assets.zip
# 6 GB host
java -Xms5G -Xmx5G -jar HytaleServer.jar --assets Assets.zip
# 8 GB host
java -Xms7G -Xmx7G -jar HytaleServer.jar --assets Assets.zip
Typical symptom of memory pressure: increased CPU usage due to garbage collection.
7) Create a start script
Windows: start.bat
@echo off
java -Xms4G -Xmx4G -jar HytaleServer.jar --assets Assets.zip
pause
Linux: start.sh
#!/bin/bash
java -Xms4G -Xmx4G -jar HytaleServer.jar --assets Assets.zip
Make it executable:
chmod +x start.sh
8) File and folder structure (what’s what)
Common server files/folders you’ll see after first run:
.cache/— cache for optimised fileslogs/— server logs (first place to check on errors)mods/— installed modsuniverse/— world + player save dataconfig.json— main server configpermissions.json— ranks/permissionswhitelist.json— whitelist entriesbans.json— ban list
Worlds
World data lives under universe/worlds/ and each world has its own config.json.
Important: Core config files are read on startup and may be overwritten by in-game actions. Avoid editing while the server is running.
9) Installing mods
Place mod files (.zip or .jar) into:
mods/
Restart the server after adding/removing mods.
Troubleshooting
Server starts but nobody can join
- Confirm the server is authenticated (console should say Authentication successful)
- Ensure UDP port 5520 is allowed through firewall
- If hosting at home, confirm UDP port forwarding is in place
- If you changed ports, confirm you also changed
--bindand firewall rules
High CPU usage / stutters
- Check if the host is memory constrained (GC pressure can spike CPU)
- Reduce view distance / limit exploration spread (RAM grows with loaded area)
Where to look for errors
- Check
logs/for the latest server log entries