Hytale Server Files and Dedicated Hosting Setup (Early Access 2026)

Learn how to obtain the official Hytale server files, configure them, and run stable multiplayer servers.

By Shivam Malani 10 min read
Hytale Server Files and Dedicated Hosting Setup (Early Access 2026)

Hytale now ships with official dedicated server files, so anyone can host persistent worlds, private realms, or full public networks. The server runs as a standalone Java application and uses the same content assets as the client, with configuration and mods controlled entirely on the server side.


What the Hytale server files contain

The dedicated server lives in its own folder, usually alongside a copy of the game assets. A typical layout after first launch looks like this:

HytaleServer/
├── HytaleServer.jar
├── Assets.zip
├── config.json
├── permissions.json
├── whitelist.json
├── bans.json
├── mods/
├── universe/
│   └── worlds/
├── logs/
└── .cache/

HytaleServer.jar is the actual server executable. Assets.zip contains the game data the server needs to generate terrain, load entities, and keep logic in sync with the client. The JSON files in the root control global settings and player access, while the universe/ directory holds worlds and save data. Mods are loaded from the mods/ folder at startup.


System requirements for running a Hytale server

The dedicated server runs on Java 25 and supports both x64 and arm64 CPU architectures. Before working with the server files, install a Java 25 runtime and confirm it with:

java --version

Memory and disk performance matter more than high core counts. A practical starting point is at least 4 GB of RAM and SSD storage, then scaling up as player counts and view distance grow. NVMe disks help a lot with chunk loading and world saves.

Concurrent players CPU (approx.) RAM (approx.) Storage guidance
1–10 2–3 fast cores 4–6 GB SSD, 20–40 GB
10–30 4 fast cores 8–12 GB NVMe preferred, 40–80 GB
30–75 6+ fast cores 16–24 GB NVMe, 80–150 GB
75+ High‑end dedicated CPU 32 GB+ NVMe + frequent backups

Tip: if performance issues appear, the usual culprits are high view distance, low RAM, or slow storage rather than a lack of total cores.


Getting the official Hytale server files

The dedicated server files can be obtained in two main ways: copying them from an existing launcher installation or using the official downloader CLI.

Method 1: Copy from the game installation

Step 1: Install and update Hytale on your PC using your normal launcher, then close the game completely so no files are locked.

Step 2: Navigate to the game’s installation directory for your operating system and locate the latest package folder that holds the server and assets:

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

Step 3: Create a new folder for your dedicated server (for example, C:\HytaleServer or /opt/hytale-server) and copy HytaleServer.jar plus Assets.zip into it.

Step 4: Keep this directory separate from your launcher install. All future server configuration and data will live here.

Method 2: Use the official downloader CLI

The downloader CLI automates fetching and updating server builds.

Step 1: Obtain the official downloader binary as described in the Hytale support documentation at https://support.hytale.com/, then place it in an empty server directory.

Step 2: Run the downloader once to grab the latest server files and assets, for example on Linux or macOS:

./hytale-downloader

Step 3: Use the helper flags to check versions and update status when needed:

./hytale-downloader -print-version
./hytale-downloader -check-update

Step 4: After the download completes, verify that HytaleServer.jar and Assets.zip are present in your server folder.


First server launch and authentication

Once the server files are in place, the first launch generates configuration and triggers authentication.

Step 1: Open a terminal or command prompt in the server directory and start the server, pointing it at your assets archive:

java -jar HytaleServer.jar --assets ./Assets.zip

Step 2: Wait for the initial startup to finish. The server will create folders such as universe/, logs/ and the root JSON configs.

Step 3: In the server console, run the device authentication flow:

/auth login device

Step 4: Follow the URL and code shown in the console to complete login in a browser. When the console confirms success, the server is authorized to accept real player connections.

Note: large hosting deployments can use token‑based authentication and automation, but the device flow is the straightforward option for a single server.


Network configuration and ports for Hytale servers

Hytale uses QUIC over UDP for networking. By default the server listens on 0.0.0.0:5520 and only needs a UDP port opened and forwarded.

Binding to an address and port

# Default port (5520)
java -jar HytaleServer.jar --assets ./Assets.zip --bind 0.0.0.0:5520

# Custom port example
java -jar HytaleServer.jar --assets ./Assets.zip --bind 0.0.0.0:25565

Opening the firewall

Step 1: On Windows Server or Windows 10/11, create an inbound rule for UDP on your chosen port:

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

Step 2: On Linux with UFW, allow the UDP port:

sudo ufw allow 5520/udp

Step 3: On Linux with iptables, add a UDP accept rule:

sudo iptables -A INPUT -p udp --dport 5520 -j ACCEPT

Step 4: If the server is behind a home router, forward the same UDP port from the router to the server’s internal IP. Forwarding TCP only will not work, because the game expects QUIC over UDP.

Tip: if local connections work but remote players cannot join, check bind address, firewall, and router forwarding before debugging anything else.


Core configuration files and directory layout

After the first run, several configuration files appear in the server root. These files define permissions, bans, and global behavior, while worlds and per‑world settings live under universe/.

File or folder Location Main purpose
config.json Server root Global server settings
permissions.json Server root Roles and permission rules
whitelist.json Server root Allowed players (if whitelist enabled)
bans.json Server root Banned players and reasons
mods/ Server root Mod and plugin files
universe/worlds/<WorldName>/ Under universe/ World data and per‑world config
logs/ Server root Startup, runtime, and error logs
.cache/ Server root Cached or optimized data

Always stop the server completely before editing JSON files. Several settings can also be changed through in‑game tools or commands, which can overwrite manual edits if the server is running while files are modified.


World configuration and gameplay behaviour

Each world has its own config.json in universe/worlds/<WorldName>/. This file controls core gameplay rules such as PvP, fall damage, NPC spawning, and how the world is generated.

{
  "Seed": 1767292261384,
  "WorldGen": {
    "Type": "Hytale",
    "Name": "Default"
  },
  "IsTicking": true,
  "IsBlockTicking": true,
  "IsPvpEnabled": false,
  "IsFallDamageEnabled": true,
  "IsSpawningNPC": true,
  "IsAllNPCFrozen": false,
  "IsSavingPlayers": true,
  "IsSavingChunks": true,
  "IsUnloadingChunks": true
}
Key field Effect on the world
Seed Controls world generation so the same seed recreates the same layout.
IsPvpEnabled Enables or disables player‑versus‑player combat.
IsFallDamageEnabled Toggles whether players take fall damage.
IsSpawningNPC Turns creature and NPC spawning on or off.
IsAllNPCFrozen Freezes NPC behavior when set, useful for special events or debugging.
IsTicking / IsBlockTicking Controls whether the simulation runs and whether blocks update (for example crops or liquids).
IsSavingPlayers / IsSavingChunks Determines whether player data and chunk changes are written to disk.
IsUnloadingChunks Decides whether inactive chunks are unloaded from memory.

These per‑world toggles allow creative, adventure, or special event worlds to coexist on the same server with different rules. Keep backups before changing them so you can revert if needed.


Installing and removing mods on a Hytale server

Mods are loaded purely from the server, and players receive required content automatically when they join. Installation comes down to placing compatible files into the mods/ folder and restarting.

Installing mods on a hosted server with a control panel

Step 1: Stop the server through the hosting control panel so no files are being read or written during changes.

Step 2: Open the panel’s file manager or connect via SFTP/FTP, then browse to the mods/ directory in the server root.

Step 3: Upload the mod files (usually .jar or .zip) directly into mods/ without extracting them.

Step 4: Start the server again and watch the console output to confirm each mod loads successfully or to catch any error messages.

Installing mods on a self‑hosted server

Step 1: Stop the server by typing stop in the console or closing the terminal window with Ctrl+C.

Step 2: Place downloaded mod archives into the mods/ folder next to HytaleServer.jar. Do not unpack them unless a specific mod instructs otherwise.

Step 3: Start the server normally and check the log file or live console to ensure the mods are detected and initialized.

Step 4: If a new mod prevents the server from starting, stop it again, remove that mod file from mods/, and restart to confirm stability before trying other changes.

Removing or updating mods

To remove a mod, stop the server, delete the corresponding file from mods/, and start the server again. Updating follows the same pattern: stop, delete the old version, copy in the new one, then restart. Always keep a backup of your world before removing large gameplay mods, as saved data may depend on them.

Server‑side vs client‑side mods

Mod type Where it lives Typical use
Server‑side only Server mods/ folder Admin tools, utilities, performance tweaks
Client‑side only Player’s local game Interface changes, purely visual effects
Both required Server and clients New items, blocks, or mechanics that alter gameplay

Check the documentation for each mod to see which category it falls into and whether it expects other mods as dependencies.


Important launch options and JVM settings

The server accepts both JVM tuning options and Hytale‑specific command‑line flags. Combining them correctly improves stability and startup time.

JVM option Effect Example
-Xms / -Xmx Sets initial and maximum heap size -Xms4G -Xmx4G
-XX:+UseG1GC Enables G1 garbage collector (helpful for larger heaps) -XX:+UseG1GC
-XX:AOTCache Uses an AOT cache file to speed up startup -XX:AOTCache=HytaleServer.aot
Server option Description Default
--assets <path> Points to Assets.zip or an assets directory (required) None
--bind <ip:port> IP and port to listen on 0.0.0.0:5520
--auth-mode <mode> Chooses authenticated or offline mode authenticated
--backup Turns on automatic backups Disabled
--backup-dir <path> Directory where backups are stored ./backups
--backup-frequency <mins> Backup interval in minutes 60
--disable-sentry Disables crash reporting, useful for plugin development Crash reporting enabled
--allow-op Enables operator commands Disabled
--accept-early-plugins Loads experimental plugins (unsupported) Disabled

Example production launch script on Windows (in a start.bat file):

@echo off
java -Xms6G -Xmx6G -XX:+UseG1GC -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip --backup --backup-frequency 60
pause

Example on Linux (in start.sh):

#!/bin/bash
java -Xms6G -Xmx6G -XX:+UseG1GC -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip --backup --backup-frequency 60

For local testing or plugin development, an offline server with crash reporting disabled is often convenient:

java -Xms4G -Xmx4G -jar HytaleServer.jar --assets Assets.zip --auth-mode offline --disable-sentry

Backups, updates, and performance tuning

Proper handling of server files means regular backups, controlled updates, and a few careful performance choices.

Automatic backups from launch options

Step 1: Create a backups/ folder in your server directory or choose another path where backups should be stored.

Step 2: Start the server with backup options enabled, for example:

java -jar HytaleServer.jar --assets ./Assets.zip --backup --backup-frequency 30 --backup-dir ./backups

Step 3: Periodically test restoring from a backup on a separate copy of the server to ensure your process works before you need it.

Updating server files safely

When a new server version is released, the safest workflow is to stop the server, back up the entire directory (especially universe/), update the server executable and assets, then restart and monitor logs. The downloader CLI can check versions and apply updates consistently:

./hytale-downloader
./hytale-downloader -print-version
./hytale-downloader -check-update

Key performance levers

  • View distance is usually the main driver of RAM usage and CPU load; start conservatively and only raise it once stability is confirmed.
  • RAM limits should leave headroom; monitor memory during peak times and increase -Xmx or reduce settings if you see frequent garbage collection or swapping.
  • Storage should ideally be SSD or NVMe, especially for public servers where many players explore new terrain.
  • Mods can be heavy; add or update them one at a time so performance regressions are easy to track.

Using the AOT cache option (-XX:AOTCache=HytaleServer.aot) can noticeably reduce startup time, which is useful when frequent restarts are required for updates or testing.


Common mistakes with Hytale server files

  • Opening only TCP ports instead of UDP, which prevents players from connecting because Hytale uses QUIC over UDP.
  • Forgetting to complete device authentication, leaving the server running but unable to handle real player logins.
  • Pushing view distance or other heavy settings too high before confirming hardware capacity, leading to lag and stutters.
  • Running without any backup strategy and losing worlds when a disk fails or a mod corrupts data.
  • Editing config.json or permission files while the server is running, which risks changes being overwritten.
  • Installing or updating multiple mods at once directly on a live production server instead of testing on a staging instance.

Avoiding these pitfalls keeps the server environment predictable and protects both your world data and your players’ time.


Multi-server networks and server mesh features

Hytale includes built‑in mechanisms for handing players between servers, allowing multi‑world networks without relying on external proxies.

  • Player referral uses a method such as PlayerRef.referToServer(host, port, payload) to move an already‑connected player to another server, along with a small payload.
  • Connection redirect can use PlayerSetupConnectEvent.referToServer(host, port) to send players elsewhere during the handshake.

The payload that accompanies referrals passes through the client, so it must be treated as untrusted. Signing data with a shared secret (for example via HMAC) lets the target server verify that payloads were generated by a trusted peer before acting on them.

More advanced setups can use QUIC‑capable libraries to implement custom proxy layers, using the packet definitions shipped inside HytaleServer.jar.


Quick checklist before inviting players

  • The server starts cleanly, with no recurring errors in the latest log file.
  • The game port is open for UDP on the operating system firewall and, if applicable, forwarded by the router.
  • The bind address is set to 0.0.0.0 (or another correct external address), not just 127.0.0.1.
  • Automatic backups are enabled and a test restore has been performed on a copy of the server.
  • Permission and operator roles follow a least‑privilege model so only trusted accounts have full control.
  • A small staging instance exists for testing new mods, configs, and updates before rolling them into the main world.
  • Basic monitoring is in place for CPU, RAM, disk usage, and network throughput.
  • DDoS protection or upstream filtering is configured for any public‑facing server.
  • There is a simple, repeatable update process that always begins with taking a fresh backup.

With official server files, Java 25, and a clear understanding of the directory structure and options, hosting Hytale becomes a matter of careful configuration rather than guesswork. Obtaining the files through the launcher or downloader, securing networking and authentication, and treating mods and backups with respect are the core steps that turn those raw server files into a durable multiplayer world.