Assets.zip, start
HytaleServer.jar with --assets, run /auth login device, then open UDP port 5520
(QUIC) and tune view distance for performance.
Requirements
Dedicated Hytale servers run on Java 25 and can run on either x64 or arm64. Plan for at least 4GB RAM and scale up based on view distance, player count, and how spread-out players are. For most public servers, a fast CPU and SSD/NVMe storage matter more than raw core count.
Install Java 25
Install Java 25 (Temurin/Adoptium is a common choice). Then confirm:
java --version
Get the Official Server Files
You have two practical options: copy the server files from your launcher install (good for quick testing), or use the official downloader CLI (best for production and keeping versions updated).
Option A: Copy from your Launcher installation (quick test)
Locate your launcher folder and copy Server plus Assets.zip into your server directory.
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
Option B: Use the Hytale Downloader CLI (recommended)
The official CLI downloads the latest server + assets and is designed for production workflows. After you download it, follow the included
QUICKSTART.md.
# Examples
./hytale-downloader
./hytale-downloader -print-version
./hytale-downloader -check-update
First Boot & Authentication
Start the server by pointing it at your Assets.zip (or assets directory). On first run, the server will generate its folders and configuration
files. Then you’ll authenticate.
java -jar HytaleServer.jar --assets ./Assets.zip
Authenticate (device flow)
In the server console, run:
/auth login device
You’ll be prompted to visit a device URL and enter a code. Once authentication completes, your server can accept player connections.
Ports, Firewall & Networking (QUIC/UDP)
Hytale uses QUIC over UDP. The default bind is 0.0.0.0:5520. If you change the port, change it with --bind.
# Default port is 5520
java -jar HytaleServer.jar --assets ./Assets.zip --bind 0.0.0.0:5520
# Example custom port
java -jar HytaleServer.jar --assets ./Assets.zip --bind 0.0.0.0:25565
Firewall rules
Windows Defender Firewall
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
5520 (or your custom port) to the server.
TCP forwarding is not required. If you accidentally forward TCP only, players will fail to connect.
Configuration & File Structure
After first launch, you’ll see a clear server layout. These are the key files/folders you’ll manage day-to-day:
config.json- main server configurationpermissions.json- permissions setupwhitelist.json- whitelisted playersbans.json- banned playersmods/- server mods/pluginsuniverse/- worlds + player save datalogs/- server logs.cache/- server cache / optimized files
config.json and permission files while the server is stopped. Some files can be rewritten by in-game actions,
so live edits may be overwritten.
World-specific configuration
Worlds live under universe/worlds/ and each world has its own config.json (seed, PvP, fall damage, gameplay config, etc.).
Installing Mods
Install mods by placing their .zip or .jar files into your mods/ folder, then restart the server. Always test new mods
on staging first.
# Example structure
mods/
economy.jar
permissions-plus.zip
gameplay-tweaks.jar
Performance & Optimization
Use the Ahead-Of-Time cache (faster startup)
java -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets ./Assets.zip
Disable crash reporting during plugin development
java -jar HytaleServer.jar --assets ./Assets.zip --disable-sentry
View distance is the big lever
View distance tends to be the primary driver of RAM usage. For most public servers, a sensible starting cap is 12 chunks (384 blocks). Start conservative and raise it only if your hardware is stable.
Recommended Specs by Player Count
These are practical starting points for stable gameplay. Your view distance, number of loaded worlds, and mod complexity will shift requirements up or down. When in doubt, start conservative and scale based on real usage.
1–10 players (small/private)
- CPU: 2–3 fast cores
- RAM: 4–6 GB
- Storage: SSD (20–40 GB)
- Notes: Low/moderate view distance, minimal mods
10–30 players (growing community)
- CPU: 4 fast cores
- RAM: 8–12 GB
- Storage: NVMe preferred (40–80 GB)
- Notes: Start staging server for mod testing
30–75 players (public server)
- CPU: 6+ fast cores (high clock)
- RAM: 16–24 GB
- Storage: NVMe (80–150 GB)
- Notes: DDoS protection strongly recommended
75+ players (large network)
- CPU: Dedicated hardware / high-performance VPS
- RAM: 32 GB+
- Storage: NVMe + frequent backups
- Notes: Consider multiple instances + load separation
Backups & Updates
Enable automatic backups
Hytale supports automatic backups and a backup frequency (minutes). Example:
java -jar HytaleServer.jar --assets ./Assets.zip --backup --backup-frequency 30 --backup-dir ./backups
Keep server files updated
For production servers, the downloader CLI is the cleanest way to keep server files current (and consistent across nodes).
./hytale-downloader
./hytale-downloader -print-version
Common Mistakes (and how to avoid them)
- Opening TCP instead of UDP: Hytale uses QUIC over UDP - make sure your firewall/forwarding is UDP.
- Skipping authentication: Your server won’t accept real players until you authenticate via device flow.
- Too much view distance too early: Start lower and increase gradually while watching RAM/CPU.
- No backups: Enable automatic backups and store them off-server if possible.
- Editing config while live: Stop the server before editing JSON to avoid changes being overwritten.
- Installing mods directly on production: Test on staging first, then deploy.
Troubleshooting Hub
Use this section when something “just won’t work.” Start with connectivity, then check logs, then isolate recent changes.
Players can’t connect
- Verify the address: correct IP/domain and port.
- Confirm bind: server should listen on
0.0.0.0(not127.0.0.1). - Firewall: allow the game port on the OS firewall.
- Router/forwarding: if self-hosting, forward the port to your server - UDP only.
- Provider firewall: check security groups / anti-DDoS firewall rules.
If it works locally but not externally, it’s almost always firewall/forwarding/bind - and the most common mistake is forwarding TCP instead of UDP.
Server crashes / won’t start
- Check logs first: open the latest file in
logs/. - Undo the last change: mods/config updates are the usual culprit.
- Test without mods: temporarily move everything out of
mods/. - Confirm Java: run
java --versionand match Java 25. - Disk space: verify you’re not out of space (world saves + logs grow fast).
Pro tip: add changes one at a time so you always know what caused a failure.
Lag / stuttering / rubber-banding
- Lower view distance (most common fix).
- Watch CPU during peak hours (sustained 100% = overload).
- Check RAM pressure (frequent GC or swapping = increase RAM / reduce settings).
- Check disk IO (NVMe helps a lot for world streaming).
- Audit mods (remove heavy features one by one).
If lag only happens when players spread out, view distance + world streaming is likely the driver.
0.0.0.0, and reduce view distance until the server is stable.
Hytale Hosting Checklist
Use this as a quick “production readiness” checklist before you open your server to the public.
Hytale Server FAQ
These answers cover the most common setup and hosting questions. If you’re running a public server, keep this page bookmarked - best practices evolve quickly after updates.
Do I need a dedicated server to host Hytale?
You can host on a home PC for small private sessions, but a VPS or dedicated server is strongly recommended for public communities.
Which port(s) do I need to open?
Open/forward the port set in your --bind argument. Hytale uses QUIC over UDP, so ensure you allow UDP (not TCP).
Why can’t my friends connect to my server?
- UDP port not opened in your OS firewall
- UDP port not forwarded on your router (self-hosting)
- Wrong IP/domain or wrong port
- Server bound to
127.0.0.1instead of0.0.0.0 - Hosting provider firewall/security group blocking UDP
Do I need a dedicated server to host Hytale?
You can host on a home PC for small private sessions, but a VPS or dedicated server is strongly recommended for public communities. Dedicated hosting gives you better uptime, lower latency, and far fewer networking headaches.
What hardware matters most for Hytale server performance?
In most sandbox servers, the biggest real-world performance factors are CPU speed (especially per-core performance), fast storage (SSD/NVMe), and enough RAM headroom to avoid memory pressure. Player count and view distance are common load drivers.
How much RAM do I need?
For a small private server, 4GB can be workable. For public servers, start at 8GB and scale up depending on player count, view distance, and mods. The safest approach is to monitor memory usage during peak times and adjust.
Which operating system is best: Linux or Windows?
Linux is typically preferred for dedicated servers because it’s lightweight, stable, and easy to automate. Windows can still work well, especially if you’re more comfortable with it - just ensure your firewall rules are correct.
Which port(s) do I need to open?
Open the game port set in your server’s bind/listen configuration. Some servers use UDP-only; others may use a combination. Always confirm in your official server docs/config and open/forward the exact port + protocol specified there.
Why can’t my friends connect to my server?
Most connection issues come from one of these:
- Port not opened in your OS firewall
- Port not forwarded on your router (self-hosting)
- Wrong IP/domain or wrong port
- Server bound to
127.0.0.1instead of0.0.0.0 - Hosting provider firewall/security group blocking the port
Can I run multiple Hytale servers on one machine?
Yes, typically by running separate instances with different ports and separate data directories. Make sure each instance has enough RAM/CPU and that your firewall rules allow the correct ports.
Where are worlds and player data stored?
Dedicated servers commonly store worlds and player data in a server data directory (often a “worlds” or “universe” folder). Back up that directory regularly - it’s the most important thing to protect.
How do I install mods (and avoid crashes)?
Best practice:
- Test mods on a staging server first
- Add or update one mod at a time
- Keep a changelog of what you changed
- If the server crashes after an update, roll back the last mod/config change
What’s the best backup strategy?
Aim for automated backups on a schedule (daily minimum; more often for active servers), plus an off-site copy (another disk or remote storage). Always test restoring a backup before you need it.
How do I reduce lag?
Try these in order:
- Reduce view distance and any heavy simulation settings
- Check CPU saturation during peak hours
- Confirm disk IO isn’t bottlenecking (NVMe helps)
- Remove or optimize heavy mods/features
- Scale up RAM if you’re memory-bound
Should I use a whitelist?
For private servers: yes. For public servers: not always - but you should still use strong moderation tools, role-based permissions, rate limits, and a clear demonstrateable ban/appeal process.
Do public Hytale servers need DDoS protection?
If you’re public, assume “yes.” Even small communities can get targeted. Provider-level DDoS mitigation, firewalling, and rate limiting are the typical baseline for stable uptime.
VPS vs Dedicated: which should I choose?
Start with a VPS for small-to-medium communities. Move to dedicated hardware if you need guaranteed CPU performance, larger player counts, or you’re running multiple servers/services. The “right” answer is what stays stable under peak load.
What’s a good “starter” configuration for a new public server?
Start conservative: moderate view distance, limited heavy mods, frequent backups, and clear moderation rules. Then scale up settings as you confirm stability.