WARNING
For experienced users only. This guide assumes you can work with the command line, Java, a firewall, and basic VPS setup.
TIP
Don't want to deal with this? If you just need a server to play with friends, create one at Hosting-Hytale.pro. It already uses our auth patch, you can run an unofficial server, and there is a free plan.
This guide is based on the official Hytale documentation, but adapted for an unofficial server — without /auth login device and a Hytale account.
Requirements
| Resource | Minimum | Recommended |
|---|---|---|
| RAM | 4 GB | 8+ GB (depends on player count and view distance) |
| Java | Java 25 | Adoptium Temurin 25 |
| CPU | 2 cores | 4+ cores with a large player count |
| Disk | 10 GB | 20+ GB SSD |
| Network | UDP port 5520 | Open UDP (not TCP!) |
Check Java:
java --versionExpected output: openjdk 25.x.x
TIP
Java can be located anywhere — just provide the full path to java / java.exe in the startup command. You do not have to install it into Server/jre/.
File layout
Official Hytale server layout:
game/
├── Assets.zip
├── jvm.options # optional — custom JVM arguments (one per line)
├── start.sh # optional (Linux)
├── start.bat # optional (Windows)
└── Server/
├── HytaleServer.jar
├── HytaleServer.aot # optional — speeds up the first launch
├── earlyplugins/
│ └── hytale-auth-patch.jar ← patch for an unofficial server
├── mods/
├── universe/ # worlds and player saves
├── logs/
├── config.json
├── permissions.json
├── bans.json
└── whitelist.jsonImportant: the server is started from the Server/ folder, and Assets.zip sits one level above (../Assets.zip).
Where to get the game files
- Copy them from the launcher install:
- Release:
%appdata%\HLauncher\install\release\package\game\latest\Server - Pre-Release:
%appdata%\HLauncher\install\pre-release\package\game\latest\Server - Assets.zip:
%appdata%\HLauncher\install\release\package\game\latest
- Release:
- Transfer the files to the VPS.
Minimum required: the Server/ folder (with HytaleServer.jar) and Assets.zip.
Step 1. Download the unofficial patch
- Download the patch: Download
Step 2. Install the patch
- Create an
earlypluginsfolder insideServer/. - Place the file and name it
hytale-auth-patch.jar.
game/Server/earlyplugins/hytale-auth-patch.jarStep 3. Start the server
Go to the Server/ folder and run the command. Replace the paths with your own.
cd C:\hytale\Server
"...\jdk-25\bin\java.exe" ^
-Duser.home="C:\hytale\Server" ^
-Dterminal.ansi=true ^
-Xms2G -Xmx10G ^
-XX:+UseG1GC -XX:+UnlockExperimentalVMOptions ^
-XX:G1NewSizePercent=20 -XX:G1MaxNewSizePercent=40 ^
-XX:G1ReservePercent=15 -XX:G1HeapWastePercent=5 ^
-XX:G1MixedGCCountTarget=4 -XX:MaxGCPauseMillis=200 ^
-XX:G1HeapRegionSize=8M -XX:InitiatingHeapOccupancyPercent=35 ^
-XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 ^
-XX:+DisableExplicitGC -XX:+AlwaysPreTouch ^
-XX:+ExtensiveErrorReports -XX:+UseStringDeduplication ^
-XX:+PerfDisableSharedMem -XX:ParallelGCThreads=6 ^
-XX:ConcGCThreads=2 -XX:+ParallelRefProcEnabled ^
--enable-native-access=ALL-UNNAMED -Xshare:off ^
-jar HytaleServer.jar ^
--assets ..\Assets.zip ^
--accept-early-pluginsBackground launch on a VPS:
screen -S hytale
# run the startup command
# Ctrl+A, D — detach; screen -r hytale — reattachWait for the Done status in the console.
TIP
If HytaleServer.aot is present in the Server/ folder, add -XX:AOTCache=HytaleServer.aot before -jar — this speeds up loading (as in the official documentation).
Step 4. Network and connecting
Hytale uses QUIC over UDP, not TCP.
| Parameter | Value |
|---|---|
| Default port | 5520 UDP |
| Change port | --bind 0.0.0.0:3500 |
Player connection: client → Servers → Direct Connect → server IP (for example 123.45.67.89 or 123.45.67.89:5520).
Firewall
Windows:
New-NetFirewallRule -DisplayName "Hytale Server" -Direction Inbound -Protocol UDP -LocalPort 5520 -Action AllowLinux (ufw):
sudo ufw allow 5520/udp
sudo ufw reloadOn the router, forward UDP 5520, not TCP.
VPS: quick setup
- Preparationbash
sudo mkdir -p /opt/hytale/Server/earlyplugins sudo chown -R $USER:$USER /opt/hytaleUpload via SFTP:
Assets.zip,Server/HytaleServer.jar, and the patch intoServer/earlyplugins/. - Java 25bash
sudo apt update && sudo apt install -y temurin-25-jdk java --version - Launch
Run the command from the Linux tab above.
- Autostart (optional)
Create
/etc/systemd/system/hytale.service— set the full path tojava,WorkingDirectory=/opt/hytale/Server, and the Step 3 command inExecStart.
Windows: quick setup
- Create
C:\hytale\and arrange the files according to the layout above. - Install Java 25 (Adoptium).
- Place the patch in
C:\hytale\Server\earlyplugins\. - Run the command from the Windows tab (you can save it as
start-pirate.bat). - Allow Java in Windows Firewall (UDP 5520).
Good to know
Memory: the main RAM consumer is view distance. Officially, it is recommended not to go above 12 chunks (384 blocks). If you are short on memory, reduce -Xmx10G to -Xmx4G.
Mods: place .jar / .zip files in Server/mods/.
Configs: config.json, permissions.json, and others are overwritten by the server while it is running — do not edit them while the server is up.
Versions: the client and server must be on the same protocol version, otherwise the connection will be rejected.
