← Back to Blog

Hytale Server Hosting After Update 7: 4 GB RAM, Java 25, UDP 5520 and a Tested Debian 13 Setup

Published · by Leo Gashi, RS Computers

Hytale Game servers Debian 13

Hytale server hosting after Update 7 needs four things: Java 25, at least 4 GB of memory, UDP port 5520 open in the firewall, and a Hytale account to sign the server in. For a group of friends that means a Linux server with 4 GB of RAM, such as our VPS Mini; modded or public servers do better with more memory and dedicated vCPUs. Our game server hosting plans can host it in Amsterdam, Dublin and Prishtina.

Update 7 shipped on 12 October 2026 as server version 0.7. Two of its changes catch people out: an old server now turns away updated players, and a server started inside the game launcher's folder exits with code 11. Below are the official requirements, a plan and city table, and a Debian 13 setup we tested with server 0.7.2.

Key facts, checked on 16 October 2026:

What changed in Hytale Update 7 for server owners

The Update 7 announcement is mostly goblins, a dungeon and two bosses. The server changes are spread across three posts. The biggest one is the protocol version, the format client and server use to talk over the network: when the two numbers differ, Hytale refuses the connection.

ChangeWhat it means for youSource
Protocol version bumpedClients on 0.7 cannot join a 0.6 server. The manual says the client and server must match exactly, so the server has to update the day the game does.Modder-facing notes
Install folder guardA server started inside the launcher's install path stops with exit code 11. A new --allow-install-dir flag overrides it, at your own risk.Modder-facing notes, confirmed in our lab
Cubic world data moved to version 7A cubic world loaded once on 0.7 cannot be opened on an older server, so rolling back means restoring a backup.Modder-facing notes
View distance capped at 32 chunksA MaxViewRadius outside 1 to 32 in config.json no longer stops the boot. It is clamped with a warning.Chapter I patch notes and modder-facing notes
Linux crash fixed in 0.7.2A crash on Linux in worlds that use RocksDB chunk storage was fixed on 14 October. Run 0.7.2 or newer on a Linux server.Hotfix notes

Mods can break too: some types were renamed and the old treasure map objective was removed. Check that your mods have an Update 7 build before updating a modded world.

Hytale server requirements: CPU, RAM and disk

The manual gives one hard floor, 4 GB of memory and Java 25, then explains what drives usage:

How much RAM does a Hytale server need?

At least 4 GB, per the official manual; above that, it depends mostly on view distance. Some hosting sites print player counts per gigabyte, but the manual has no such table. Hypixel's advice is to watch your own server and tune the Java heap, the memory Java may use for game data, whose upper limit is set with -Xmx.

We could not measure gameplay, because a world needs the asset pack and the asset pack needs a logged-in account. Our only numbers come from bootstrap mode with no world loaded: the Java process used about 217 MB, and systemd counted 320 to 350 MB for the whole service.

How much disk space?

The manual's example listing shows an Assets.zip of about 3.3 GB. Updates stage a new copy in updater/staging/ and keep the old files in updater/backup/, and the launch script makes a world backup every 30 minutes by default. Leave room for three copies of the assets plus your worlds.

Host a Hytale server at home or rent one?

A server on your own PC works for an evening with friends, but the PC must stay on whenever anyone plays, and your router must forward UDP port 5520 to it (the manual says TCP needs no forwarding). A rented server runs around the clock, with a 99% monthly uptime SLA on our plans, and has its own public IPv4 and IPv6 address, so the only port work is opening UDP 5520 in its firewall (Step 3).

Hytale server hosting: which plan and which city

Short answer: VPS Mini in the city nearest your players for a group of friends, VDS Small once you add mods or open the server to the public.

All our plans run on KVM with NVMe storage, unmetered traffic and their own IPv4 and IPv6 address. VPS plans share their vCPUs with other customers; VDS plans give you dedicated vCPUs, which helps a game loop that cannot wait for a busy neighbour. Our guide to VPS vs VDS and shared vs dedicated vCPUs has the details.

Your serverPlanSpecsWhy
You and a few friends, unmodded, view distance at 12 or belowVPS Mini4 shared vCPU, 4 GB RAM, 80 GB NVMe, 1 Gb/sMeets the official 4 GB minimum, with disk room for the assets and world saves
Modded server, players spread across the map, or several worldsVDS Small4 dedicated vCPU, 8 GB RAM, 240 GB NVMe, 10 Gb/sTwice the memory for loaded chunks, and cores nobody else uses
A public community, minigames, or a lobby plus game serversVDS Medium8 dedicated vCPU, 16 GB RAM, 480 GB NVMe, 10 Gb/sRoom for more than one world thread and a large heap
A Discord bot or website next to the gameVPS Nano or VPS MicroNano: 1 shared vCPU, 1 GB RAM, 20 GB NVMe, 1 Gb/s. Micro: 2 shared vCPU, 2 GB RAM, 40 GB NVMe, 1 Gb/s. Linux onlyFine for small tools, but below the 4 GB Hytale needs, so not for the game itself

You can move up a plan later from the client area with a short reboot. Prefer Windows? The server ships a start.bat too, and Windows can be picked at the configure step on VPS Mini and every VDS plan.

Pick the city by where your players live. Our own ping.pe measurements of 6 October 2026, published on our location pages, give these best round trips:

Players mostly inCityMeasured ping to our server
Germany, the UK, France, BeneluxAmsterdam6.6 ms Frankfurt, 6.7 ms London, 9.3 ms Paris, 11.6 ms Berlin (VPS Netherlands page)
Kosovo, Albania, North Macedonia, the BalkansPrishtina3 ms from Skopje on our own network, 18.6 ms Vienna, 21.9 ms Bucharest, 30.9 ms Athens (VPS Kosovo page)
IrelandDublinClosest of our three sites for Irish players

Availability by city is on the plans page. When you know your size and city, the game server hosting page has the plans side by side.

How to host a Hytale server on Linux: what we tested

We ran the commands below in a Debian 13 container (2 vCPUs, 2 GiB of RAM) on our Amsterdam test server, with Eclipse Temurin 25.0.4.1 and Hytale server 0.7.2 from Hypixel's public Maven repository, which the manual says carries the last five releases. We had no Hytale account, so no Assets.zip, world or players: the login, the asset download and the update cycle come from the official manual, and each step says so.

Step 1: install Java 25 (Java 21 fails)

The manual recommends Adoptium, the project that builds Eclipse Temurin, a free OpenJDK build. Add its package repository and install the runtime:

# as root
apt update
apt install -y curl gpg ca-certificates unzip nftables
install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor -o /etc/apt/keyrings/adoptium.gpg
echo "deb [signed-by=/etc/apt/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb $(. /etc/os-release && echo $VERSION_CODENAME) main" > /etc/apt/sources.list.d/adoptium.list
apt update
apt install -y temurin-25-jre
java --version

Expected output:

# expected output
openjdk 25.0.4.1 2026-08-18 LTS
OpenJDK Runtime Environment Temurin-25.0.4.1+1 (build 25.0.4.1+1-LTS)
OpenJDK 64-Bit Server VM Temurin-25.0.4.1+1 (build 25.0.4.1+1-LTS, mixed mode, sharing)

Debian 13's own archive also offered openjdk-25-jre-headless (25.0.4.1) in our lab, which is an alternative if you prefer distribution packages. What does not work is Java 21. We tried it, and 0.7.2 stops before it prints anything useful:

# output with Java 21
java.lang.UnsupportedClassVersionError: com/hypixel/hytale/Main has been compiled by a more recent version of the Java Runtime (class file version 69.0), this version of the Java Runtime only recognizes class file versions up to 65.0

Class file version 69 is Java 25 and 65 is Java 21. If you see this line, the server is fine; the wrong Java is first on your PATH.

Step 2: create a service user and get the Hytale server files

The server should never run as root. Create a system user whose home folder holds everything:

# as root
useradd --system --create-home --home-dir /opt/hytale --shell /usr/sbin/nologin hytale
runuser -u hytale -- mkdir -p /opt/hytale/game
id hytale

Expected output is one line like uid=989(hytale) gid=989(hytale) groups=989(hytale). The numbers can differ.

The manual offers three ways to get the server files:

We tested bootstrap mode as far as the login:

# as root, in the empty game folder
cd /opt/hytale/game
runuser -u hytale -- curl -fsSL -o HytaleServer.jar https://maven.hytale.com/release/com/hypixel/hytale/Server/0.7.2/Server-0.7.2.jar
curl -fsSL https://maven.hytale.com/release/com/hypixel/hytale/Server/0.7.2/Server-0.7.2.jar.sha1; echo
sha1sum HytaleServer.jar

Both lines should show the same checksum; for 0.7.2 it was 9ef07dd419828247213bb08c28ee502473132d09 and the file was 112 MB. Newer version numbers appear in the repository's maven-metadata.xml.

Now a quirk we hit. Started in an empty folder, 0.7.2 in bootstrap mode failed with Failed to syncLoad() /opt/hytale/game/permissions.json and Stream closed, then exited with code 9, twice in a row. An empty permissions file fixed it:

# as root, in /opt/hytale/game
runuser -u hytale -- sh -c 'echo "{}" > permissions.json'
runuser -u hytale -- java -jar HytaleServer.jar --bootstrap

After about two seconds you should see these lines, and the server waits for your commands:

# expected output (end of the log, shortened)
Hytale Server Booted! [Multiplayer, Fresh Universe] took 2sec ...
No server tokens configured. Use /auth login to authenticate.

Our test ended here. According to the manual, you now type /auth login device. The server prints a short code and the address accounts.hytale.com/device; open it in any browser, sign in with the account that owns Hytale and enter the code within 900 seconds.

Then run /update setup (or /update download). Per the manual, the server unpacks Assets.zip, start.sh and a Server/ folder here, moves the encrypted login into Server/, deletes the installer jar and shuts down, so the next start is already authenticated.

One more Update 7 rule: never run the server from the launcher's own folder, ~/.local/share/Hytale/install/ on a Linux desktop. We copied 0.7.2 into a folder laid out like it:

# output, shortened
 The server will not boot inside the install path
 Working directory  : /opt/hytale/.local/share/Hytale/install/release/package/game/latest/Server
 Launcher install   : /opt/hytale/.local/share/Hytale/install/release
 Copy HytaleServer.jar to a directory outside the install path. Run the copied JAR with --bootstrap ...
 To boot here anyway, add --allow-install-dir.

The exit code was 11. The guard also checks --universe, --prefab-cache and --backup-dir, because launcher updates patch or wipe that folder.

Step 3: open UDP port 5520, the Hytale server port

A firewall decides which network traffic may reach the server. This nftables ruleset drops everything incoming except replies to your own connections, SSH on port 22 and Hytale on UDP 5520. If your SSH runs on another port, change the 22 first, or you will lock yourself out:

# as root: save as /etc/nftables.conf
flush ruleset

table inet filter {
  chain input {
    type filter hook input priority filter; policy drop;
    ct state established,related accept
    ct state invalid drop
    iif "lo" accept
    meta l4proto { icmp, ipv6-icmp } accept
    tcp dport 22 accept comment "SSH"
    udp dport 5520 accept comment "Hytale, QUIC over UDP"
  }
  chain forward {
    type filter hook forward priority filter; policy drop;
  }
  chain output {
    type filter hook output priority filter; policy accept;
  }
}
# as root
nft -c -f /etc/nftables.conf
systemctl enable --now nftables
nft list chain inet filter input

The check prints nothing when the file is valid, and the last command shows your rules. We then sent one UDP packet from outside to port 5520 and one to 5521: the first arrived, the second was dropped. Keep the ICMP line; IPv6 breaks without it. With ufw, the manual's one-liner is ufw allow 5520/udp. To lock down SSH as well, see how to secure a Debian 13 VPS.

Step 4: run the Hytale dedicated server on Linux with systemd

Most guides use screen or tmux. Hytale needs its console for /auth, /update and /stop, so we gave the systemd service a named pipe (a FIFO, a file that passes text from one program to another) as its keyboard: you write commands into /run/hytale.stdin and read answers in the journal.

# as root: save as /etc/systemd/system/hytale.socket
[Unit]
Description=Hytale server console input
PartOf=hytale.service

[Socket]
ListenFIFO=/run/hytale.stdin
SocketUser=hytale
SocketGroup=hytale
SocketMode=0660
RemoveOnStop=true
Service=hytale.service
# as root: save as /etc/systemd/system/hytale.service
[Unit]
Description=Hytale dedicated server
Wants=network-online.target
After=network-online.target hytale.socket
Requires=hytale.socket

[Service]
Type=simple
User=hytale
Group=hytale
WorkingDirectory=/opt/hytale/game
ExecStart=/opt/hytale/game/start.sh
StandardInput=socket
StandardOutput=journal
StandardError=journal
Restart=on-failure
RestartSec=15
RestartPreventExitStatus=11
TimeoutStopSec=90

[Install]
WantedBy=multi-user.target

The unit starts Hypixel's start.sh, not Java directly, because that script applies staged updates: on exit code 8 it copies in the new files, keeps your config, saves and mods, and starts again without systemd noticing. Restart=on-failure covers crashes, and RestartPreventExitStatus=11 stops systemd retrying a start that cannot work. Set the Java heap first; the script reads one option per line from jvm.options:

# as root: save as /opt/hytale/game/jvm.options, owned by hytale
-Xms2G
-Xmx3G

On a 4 GB VPS Mini, a 3 GB heap leaves about 1 GB for Debian and Java's memory outside the heap. On VDS Small try -Xmx6G, on VDS Medium -Xmx12G. These are starting points, not measurements; watch free -m with players online and adjust. Then start everything:

# as root
chown hytale:hytale /opt/hytale/game/jvm.options
systemctl daemon-reload
systemctl enable --now hytale.socket hytale.service
systemctl status hytale.service --no-pager

Without Assets.zip our server could only run in bootstrap mode, so in the lab we added --bootstrap to ExecStart through a temporary override. The status showed Active: active (running) and TriggeredBy: ● hytale.socket. To send a command and see the answer:

# as root
echo "/auth status" > /run/hytale.stdin
journalctl -u hytale.service -n 20 --no-pager

The journal showed Console executed command: auth status followed by the server's status block. Ours said Token Source: Not authenticated, because we never logged in. To change the port, append --bind 0.0.0.0:5521 to the ExecStart line (start.sh passes extra arguments to the server) and open that UDP port in nftables. Hytale has no SRV record support yet, so players then type the port after your address.

Stopping and restarting

Use systemctl stop hytale. The server caught the signal, logged Shutdown completed!, and PartOf closed the console pipe with it. Typing /stop into the pipe also exits cleanly with code 0, but the pipe stays open, and in our test the next line written to it started the server again.

Exit codes you will meet

An exit code is the number a program reports when it stops; 0 means a normal stop, anything else tells you what went wrong.

CodeMeaningWhat systemd does with our unitSeen in our lab?
0Normal stop, for example /stopStays stoppedYes
7Asset pack missing (missingAssets)Restarts after 15 secondsYes, without Assets.zip
8Update staged and readyNothing; start.sh applies it and loopsNo, needs a logged-in server
9A core plugin failed to startRestarts after 15 secondsYes, the permissions.json quirk
11Working folder inside the launcher install folderMarks the unit failed, no restartYes

If the service keeps restarting, journalctl -u hytale.service -n 50 shows the reason in the line that starts with Shutting down....

How to keep a Hytale server updated

Because the protocol must match, an outdated server is an empty server. Per the manual (we could not run the updater without a login), the server checks hourly, downloads new versions into updater/staging/ and tells permitted players. Applying is set by AutoApplyMode under Update in Server/config.json:

Edit config.json only while the server is stopped, or your changes are likely to be overwritten. The checker also needs the bootstrap layout, with Assets.zip and start.sh next to Server/; on our bare test folder 0.7.2 logged Update checker disabled: invalid folder layout. The world saves that start.sh enables stay on the same disk, so copy Server/backups to another machine now and then.

Game servers also attract floods of junk traffic; our guide to checking whether your Linux server is under a DDoS attack shows how to tell. For other games, see how to host a game server on a VPS, our Project Zomboid dedicated server guide or the Enshrouded server on a Windows VPS.

Frequently asked questions

How much RAM does a Hytale server need?

The official Hytale Server Manual asks for at least 4 GB of memory and Java 25, on an x64 or arm64 machine. It gives no per-player table: CPU grows with players and creatures, RAM with view distance. Hypixel recommends a view distance of at most 12 chunks, so 4 GB is the starting point for a small group.

What port does a Hytale server use?

A Hytale server listens on UDP port 5520 by default and uses the QUIC protocol, so only UDP needs to be open. Change the port with the --bind option. SRV records are not supported yet, so players type a custom port after the address.

Does a Hytale server work with Java 21?

No. Hytale server 0.7.2 is compiled for Java 25 and fails on Java 21 with UnsupportedClassVersionError, class file version 69.0 against a maximum of 65.0. Install Java 25, for example Eclipse Temurin 25 from the Adoptium repository, which the official manual recommends.

Why can't players join my Hytale server after Update 7?

Update 7, released on 12 October 2026, changed the network protocol, and Hytale rejects any connection where client and server protocol versions differ. Update the server to 0.7.2 or newer, which also fixes a Linux crash in worlds that use RocksDB chunk storage.

What does exit code 11 mean on a Hytale server?

Since Update 7, a Hytale server exits with code 11 when its working folder, universe, prefab cache or backup folder is inside the game launcher's install folder, because launcher updates patch or wipe that folder. Move the server to its own folder, such as /opt/hytale/game, and start it there.

Can I run a Hytale server on a 2 GB VPS?

Not as a supported setup. The official minimum is 4 GB of memory. Our 2 GiB test container ran the setup and bootstrap mode, which loads no world. For a small group, 4 GB of RAM, such as VPS Mini, is the realistic floor.

Ready to put your Hytale world online?

Hytale wants a machine that stays on, sits near your players and gives the world thread a fast core. Our KVM servers in Amsterdam, Dublin and Prishtina come with NVMe, unmetered traffic and their own IPv4 and IPv6. VPS Mini (4 shared vCPU, 4 GB RAM) covers a group of friends; VDS Small or Medium adds dedicated vCPUs for mods and bigger communities. Compare them on our Minecraft and game server hosting page, or ask us on Telegram which size and city fit your server.

← All articles

Chat on Telegram