Do you dream of creating a persistent world for you and your friends, or hosting a unique gaming experience for thousands of players? This guide will accompany you step by step in the creation and configuration of your own custom Hytale server. Hytale is designed to offer unprecedented flexibility to creators. Mastering the hosting of your server is the first step to unlocking unlimited customization potential, ranging from unique game rules to complex mini-games and user-generated worlds.
The prerequisites
Hardware
Before starting, ensure your machine (PC or dedicated server) meets these points:
| Component | Recommendation | Important notes |
| OS | Ubuntu | Windows 10/11 and macOS also work. |
| Processor | x64 or ARM64 | 64-bit architecture mandatory. |
| RAM | 8 GB recommended | 4 GB minimum to start. Plan for more for a high view distance. |
| Disk | 10 GB | Minimum free space for the server and backups. |
Java
Java version 25 is essential; Hytale will not work with an earlier version.
Tip: We recommend installing Adoptium (Temurin) to get Java 25. With java --version you can check the installed Java version, for example:
openjdk 25.0.1 2025-10-21 LTS
OpenJDK Runtime Environment Temurin-25.0.1+8 (build 25.0.1+8-LTS)
OpenJDK 64-Bit Server VM Temurin-25.0.1+8 (build 25.0.1+8-LTS, mixed mode, sharing)Network configuration
Hytale differs from Minecraft on a crucial point: it uses the QUIC protocol over UDP (and not TCP).
- Default port: 5520 (UDP)
- Firewall rule: You must open port 5520 in UDP. No need to open TCP.
Quick commands to open the port:
- Linux (UFW):
sudo ufw allow 5520/udpthensudo ufw reload - Linux (iptables):
sudo iptables -A INPUT -p udp --dport 5520 -j ACCEPT - Windows (PowerShell):
New-NetFirewallRule -DisplayName "Hytale Server" -Direction Inbound -Protocol UDP -LocalPort 5520 -Action Allow
Step 1: Retrieving server files
There are two methods. For a robust and easy-to-update server, the CLI method is king.
Method A: Hytale Downloader CLI (recommended)
The Hytale Downloader (Linux & Windows) is a command-line tool that allows downloading server files and “assets” (resources) using secure OAuth2 authentication.
For Linux:
- Prepare the folder:
mkdir hytale-server && cd hytale-server - Get the tool:
wget https://downloader.hytale.com/hytale-downloader.zipunzip hytale-downloader.zipchmod +x hytale-downloader-linux-amd64(Adapt according to your OS) - Start the download:
Run./hytale-downloader-linux-amd64.
The terminal will ask you to go tooauth.accounts.hytale.comto authorize the download. Once validated, you will get the game archive (e.g.,2026.01.13-xxxx.zip). - Extraction: Unzip the obtained archive. You will then have a
Server/folder and anAssets.zipfile.
Here is the list of all available commands on the hytale downloader:
| Command | Description |
./hytale-downloader | Downloads the latest available version. |
./hytale-downloader -print-version | Displays the game version without starting the download. |
./hytale-downloader -version | Displays the current version of the hytale-downloader tool. |
./hytale-downloader -check-update | Checks if a tool update is available. |
./hytale-downloader -download-path game.zip | Downloads files to a specific file (here game.zip). |
./hytale-downloader -patchline pre-release | Downloads files from the “pre-release” channel. |
./hytale-downloader -skip-update-check | Ignores the automatic update check at launch. |
Method B: Manual
- Go to the folder where your Hytale game is installed on your PC. The path usually looks like this:
%appdata%\Hytale\install\release\package\game\latest. - Look for the folder named “Server” and the file “Assets.zip”.
- Copy these two elements into a clean new folder on your desktop (name it MyHytaleServer).
Step 2: First launch and authentication
Unlike other games, your Hytale server must be “linked” to your account to function. Each Hytale account can create up to 100 servers maximum.
Step 1: The launch command
In your terminal, navigate to the Server folder and launch the server with this command: java -jar HytaleServer.jar --assets ../Assets.zip
Step 2: Link the server to your account
At the first launch, the server will be in “No Server Token Configured” mode. It awaits your validation. Look at the console:
- Type the command:
/auth login device - The console displays a code (e.g., ABCD-1234) and a URL.
- Go to
https://accounts.hytale.com/device. - Enter the code.
- Once validated, the console will display:
Authentication successful! Mode: OAUTH_DEVICE.
> /auth login device
===================================================================
DEVICE AUTHORIZATION
===================================================================
Go to: https://accounts.hytale.com/device
Enter code: ABCD-1234
Or go to: https://accounts.hytale.com/device?user_code=ABCD-1234
===================================================================
Waiting for authorization (expires in 900 seconds)...
[User completes authorization in browser]
> Authentication successful! Mode: OAUTH_DEVICE
Optimization and launch configuration
Now that the server is running, it needs to be made fluid. Everything depends on RAM and Java configuration.
RAM allocation
Java does not automatically use all available memory. Insufficient allocation can cause slowdowns (lag) and stuttering.
java -Xms<size> -Xmx<size> -jar HytaleServer.jar ...
-Xms: Defines the initial memory allocation.-Xmx: Defines the maximum memory limit.
Example for 8 GB of RAM:
java -Xms8G -Xmx8G -jar HytaleServer.jar --assets ../Assets.zip
Recommendations:
- Small server: 4 GB
- Medium server: 6-8 GB
- Large/Public: 10-16 GB
- Always leave 1 to 2 GB of free memory for the operating system.
Ahead-Of-Time (AOT) cache
The Hytale server includes an AOT cache (HytaleServer.aot) which can significantly improve startup times by skipping the JIT (Just-In-Time compilation) “warm-up” phase.
Usage:
Add the following argument to your server startup command: java -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets ../Assets.zip
Server port
The default port is 5520. Change it if necessary.
java -jar HytaleServer.jar --assets PathToAssets.zip --bind 0.0.0.0:25565
View distance
View distance is the main factor of RAM consumption on your server.
- Hytale uses a default view distance of about 384 blocks (12 chunks), which is significantly higher than some similar games.
- Recommendation: To balance performance and gameplay, consider limiting the maximum view distance to 12 chunks. Adjust this value based on the expected number of players and your server resources.
- To modify the value, edit
MaxViewRadiusin the generalconfig.jsonof the server.
File structure
Once launched, your folder will fill up with new files. Here are the most important ones for you:
| Path | Description |
.cache/ | Cache for optimized files |
logs/ | Server log files |
mods/ | Installed mods |
universe/ | World and player save data |
bans.json | Banned players |
config.json | Server configuration |
permissions.json | Permissions configuration |
whitelist.json | Whitelisted players |
Attention: Manual modifications to these files while the server is running may be overwritten. Always stop your server before modifying these files. To discover more about the structure of files and folders on your server, consult the dedicated guide.
Global settings
The most common and basic settings of a Hytale server are editable in the config.json file:
{
"Version": 3,
"ServerName": "Hytale Server",
"MOTD": "",
"Password": "",
"MaxPlayers": 999,
"MaxViewRadius": 16,
"LocalCompressionEnabled": false,
"Defaults": {
"World": "default",
"GameMode": "Adventure"
},
"ConnectionTimeouts": {
"JoinTimeouts": {}
},
"RateLimit": {},
"Modules": {},
"LogLevels": {},
"Mods": {},
"DisplayTmpTagsInStrings": false,
"PlayerStorage": {
"Type": "Hytale"
}
}
| Setting (Key) | Type | Description & Recommendations |
| I. Information & Access | ||
ServerName | Text | The public name of your server. This is what will appear in the server list. Example: “My Hytale Server FR” |
MOTD | Text | Message Of The Day. The welcome or announcement message displayed under the server name. Tip: Use it to announce maintenance or welcome players. |
Password | Text | Access password. If filled, the server becomes private. Leave the quotes empty "" for a public server. |
MaxPlayers | Integer | Hosting capacity. The maximum number of simultaneous players. Warning: The higher this number, the more RAM and CPU are needed. |
| II. Performance & Technical | ||
MaxViewRadius | Integer | View distance (in chunks). Critical impact: This is the setting that consumes the most RAM. Recommendation: 12 (Standard) to 16 (High). Avoid more than 16 without a very powerful machine. |
LocalCompressionEnabled | Boolean | Bandwidth optimization.true: Enables data compression. Reduces network usage but slightly increases CPU usage. Recommended for public servers. |
Version | Integer | Config file version. Do not touch this number; it allows the game to know if your file is up to date. |
| III. Gameplay (“Defaults” Section) | ||
Defaults > World | Text | Default world name. If this folder does not exist in universe/, the server will create it at launch.Default: “default” |
Defaults > GameMode | Text | Game mode for newcomers. Options: “ADVENTURE” (Classic survival) or “CREATIVE” (Building). |
| IV. Advanced (Network & System) | ||
ConnectionTimeouts | Object | Manages delays before ejecting a player who is no longer responding (lag). Leave empty {} to use engine defaults. |
RateLimit | Object | Protection against packet spam (light DDoS or client bugs). Leave empty {} unless you know how to configure precise limits. |
PlayerStorage | Object | Defines how player data is saved. Default: Type: “Hytale” (Standard local save). |
DisplayTmpTagsInStrings | Boolean | Development tool. Displays raw translation or formatting tags. Leave on false for production. |
There are also dedicated configuration files for your worlds and your mods/plugins. To go further, consult the dedicated guide.
Server updates
When a new version of Hytale is available, the Hytale Downloader CLI facilitates updating your server. It is important to ensure that the downloader itself is up to date before using it to update the server:
./hytale-downloader-linux-amd64 -check-update (Or the executable corresponding to your OS)
Once the downloader is up to date, you can proceed to update the server files:
- Stop your Hytale server:
Before any update, ensure your server is completely stopped to avoid data corruption. - Run the Hytale Downloader:
To download the latest version of the Hytale server and associated asset files:./hytale-downloader-linux-amd64(Or your OS executable)
The downloader will download the most recent archive (e.g.,2026.01.13-50e69c385.zipor2026.01.15-c04fdfe10.zip) into your current directory. It may use aCACHE_DIRECTORY(.cache/) to avoid redundant downloads. - Extract the new files:
unzip [NAME_OF_DOWNLOADED_ARCHIVE].zip(Ex:unzip 2026.01.15-c04fdfe10.zip)
This will extract theServer/folders and theAssets.zipfile.
Tip: If you wish to download a specific version or a pre-release channel, use the options:
./hytale-downloader -patchline pre-release./hytale-downloader -download-path my_custom_server.zip - Replace the old files:
Copy the extracted newServer/folders and theAssets.zipfile into your main server directory, overwriting previous versions. - Launch the Hytale server:
java -jar Server/HytaleServer.jar --assets Assets.zip
Your server will restart with the new version. You may need to re-authenticate if the tokens have expired or if a new security procedure requires it. Use/auth login devicein the server console if a warning (NO SERVER TOKENS CONFIGURED) appears.
Becoming server admin
To give yourself server administrator rights, visit our dedicated guide.
Recommended mods and plugins
Hytale promises a universe of endless possibilities, and much of this promise rests on its modding tools, specifically plugins. Unlike traditional “mods” in some games, Hytale plugins are designed to integrate seamlessly with the server architecture.
Where to find your Hytale mods and plugins?
The first step is to find reliable mods and plugins.
- CurseForge: This is the reference platform for Hytale mods (as well as for other games). You will find a vast selection of Packs and Plugins there: https://www.curseforge.com/hytale
- Modtale: Another emerging community directory to discover Hytale content: https://modtale.net/
- GitHub / Communities: Some developers publish their projects directly on GitHub or share them via dedicated Hytale modding Discord servers.
Tip: Before downloading, always check the mod description for compatibility (Hytale version) and required dependencies. Always download from reliable sources to avoid malware.
Installation of mods / plugins
Java plugins (.jar) are installed server-side. The steps vary slightly depending on whether you use a hosted server or host your own.
- Stop your server to avoid file corruption during transfer.
- Navigate to the
mods/folder. This is where plugins are stored. - Upload the
.jarfile of your plugin. - Start your server. The plugin will be automatically loaded at startup.
- Configure the plugin: at launch, a
config.jsonfile was created in themods/pluginname/directory.
Recommended plugins
Here are some recommended plugins for your servers:
| Plugin | Description |
| Nitrado:WebServer | Basic plugin for web applications and APIs. |
| Nitrado:Query | Exposes server status (player count, etc.) via HTTP protocol. |
| Nitrado:PerformanceSaver | Dynamically limits view distance based on server resource usage. |
| ApexHosting:PrometheusExporter | Exposes detailed metrics on the server and JVM (Java Virtual Machine). |
Moderating your server: kick & ban
Hytale makes player management simple thanks to three essential commands: kick, ban, and unban. To ban or unban a player from your server:
/ban <player_name_or_uuid>/unban <player_name_or_uuid>
To kick a player:
/kick <player_name_or_uuid>
Securing server access with the whitelist
To secure access to your server, you can use a whitelist. To set it up, consult this complete guide.
