Hytale Advanced Server Configuration: Difference between revisions
No edit summary |
|||
| Line 1: | Line 1: | ||
This guide covers advanced Hytale server configuration including | This guide covers advanced Hytale server configuration including world settings, command-line arguments, and server mesh architecture. | ||
'''Important:''' Always back up your server files before making configuration changes. Stop your server before editing any configuration files. | '''Important:''' Always back up your server files before making configuration changes. Stop your server before editing any configuration files. | ||
| Line 19: | Line 19: | ||
| <code>config.json</code> || <code>universe/worlds/[WorldName]/</code> || Per-world settings | | <code>config.json</code> || <code>universe/worlds/[WorldName]/</code> || Per-world settings | ||
|} | |} | ||
''Note: The exact format of config.json and permissions.json in the server root is not yet publicly documented. Check the [https://support.hytale.com/ official Hytale documentation] for updates.'' | |||
== Editing Configuration Files == | == Editing Configuration Files == | ||
| Line 26: | Line 28: | ||
# Log into your [https://www.survivalservers.com/sspanel/ control panel] | # Log into your [https://www.survivalservers.com/sspanel/ control panel] | ||
# Click '''Stop''' to shut down your server | # Click '''Stop''' to shut down your server | ||
# Click ''' | # Click '''Configuration Files''' or use '''FTP Access''' | ||
# Edit the desired file and save | # Edit the desired file and save | ||
# Click '''Start''' to restart your server | # Click '''Start''' to restart your server | ||
| Line 37: | Line 39: | ||
# Start your server | # Start your server | ||
== | == World Configuration (universe/worlds/[WorldName]/config.json) == | ||
Each world has its own configuration file. Below is the documented world config structure: | |||
<pre> | <pre> | ||
| Line 175: | Line 117: | ||
| <code>DeleteOnRemove</code> || Delete world files when removed | | <code>DeleteOnRemove</code> || Delete world files when removed | ||
|} | |} | ||
== World Pre-Generation == | == World Pre-Generation == | ||
| Line 284: | Line 140: | ||
== Server Mesh Architecture (Multi-Server Networks) == | == Server Mesh Architecture (Multi-Server Networks) == | ||
Hytale has built-in support for connecting multiple servers together without third-party proxies. | Hytale has built-in support for connecting multiple servers together without third-party proxies like BungeeCord. | ||
These features are implemented via the server's Java API: | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Feature !! Description | ! Feature !! API Method !! Description | ||
|- | |- | ||
| '''Player Referral''' || Transfer players between servers | | '''Player Referral''' || <code>PlayerRef.referToServer(host, port, payload)</code> || Transfer players between servers with optional 4KB payload | ||
|- | |- | ||
| '''Connection Redirect''' || Redirect during handshake before full connection | | '''Connection Redirect''' || <code>PlayerSetupConnectEvent.referToServer(host, port)</code> || Redirect during handshake before full connection | ||
|- | |- | ||
| '''Disconnect Fallback''' || Auto-reconnect to fallback if server crashes | | '''Disconnect Fallback''' || Coming soon || Auto-reconnect to fallback if server crashes | ||
|} | |} | ||
'''Security:''' Referral payloads pass through the client. | '''Security:''' Referral payloads pass through the client and can be tampered with. Sign payloads cryptographically (e.g., HMAC with a shared secret) so receiving servers can verify authenticity. | ||
'''Custom Proxies:''' Build proxy servers using Netty QUIC. Packet definitions available in <code>HytaleServer.jar</code> at <code>com.hypixel.hytale.protocol.packets</code>. | '''Custom Proxies:''' Build proxy servers using Netty QUIC. Packet definitions available in <code>HytaleServer.jar</code> at <code>com.hypixel.hytale.protocol.packets</code>. | ||
| Line 389: | Line 196: | ||
| <code>--backup-dir <path></code> || Backup storage location || ./backups | | <code>--backup-dir <path></code> || Backup storage location || ./backups | ||
|- | |- | ||
| <code>--backup-frequency <mins></code> || Backup interval || 60 | | <code>--backup-frequency <mins></code> || Backup interval in minutes || 60 | ||
|- | |- | ||
| <code>--disable-sentry</code> || Disable crash reporting || Enabled | | <code>--disable-sentry</code> || Disable crash reporting || Enabled | ||
| Line 395: | Line 202: | ||
| <code>--allow-op</code> || Allow operator commands || Disabled | | <code>--allow-op</code> || Allow operator commands || Disabled | ||
|- | |- | ||
| <code>--accept-early-plugins</code> || Load experimental plugins || Disabled | | <code>--accept-early-plugins</code> || Load experimental plugins (unsupported) || Disabled | ||
|} | |} | ||
| Line 416: | Line 223: | ||
<pre> | <pre> | ||
java -Xms4G -Xmx4G -jar HytaleServer.jar --assets Assets.zip --auth-mode offline --disable-sentry | java -Xms4G -Xmx4G -jar HytaleServer.jar --assets Assets.zip --auth-mode offline --disable-sentry | ||
</pre> | |||
== Firewall Configuration == | |||
Hytale uses QUIC protocol over UDP (not TCP). | |||
'''Windows PowerShell:''' | |||
<pre> | |||
New-NetFirewallRule -DisplayName "Hytale Server" -Direction Inbound -Protocol UDP -LocalPort 5520 -Action Allow | |||
</pre> | |||
'''Linux (iptables):''' | |||
<pre> | |||
sudo iptables -A INPUT -p udp --dport 5520 -j ACCEPT | |||
</pre> | |||
'''Linux (ufw):''' | |||
<pre> | |||
sudo ufw allow 5520/udp | |||
</pre> | </pre> | ||
| Line 423: | Line 249: | ||
* [[How to Join a Hytale Server]] | * [[How to Join a Hytale Server]] | ||
* [[How to Install Mods on a Hytale Server]] | * [[How to Install Mods on a Hytale Server]] | ||
* [https://support.hytale.com/ Hytale Support & Documentation] | * [https://support.hytale.com/ Hytale Support & Documentation] | ||
* [https://www.survivalservers.com/services/game_servers/hytale/ Rent a Hytale Server from Survival Servers] | * [https://www.survivalservers.com/services/game_servers/hytale/ Rent a Hytale Server from Survival Servers] | ||
__NOTOC__ | __NOTOC__ | ||
Revision as of 14:13, 12 January 2026
This guide covers advanced Hytale server configuration including world settings, command-line arguments, and server mesh architecture.
Important: Always back up your server files before making configuration changes. Stop your server before editing any configuration files.
Configuration File Locations
| File | Location | Purpose |
|---|---|---|
config.json |
Server root folder | Main server settings |
permissions.json |
Server root folder | Player roles and permissions |
bans.json |
Server root folder | Banned player list |
whitelist.json |
Server root folder | Allowed players list |
config.json |
universe/worlds/[WorldName]/ |
Per-world settings |
Note: The exact format of config.json and permissions.json in the server root is not yet publicly documented. Check the official Hytale documentation for updates.
Editing Configuration Files
For Survival Servers Customers
- Log into your control panel
- Click Stop to shut down your server
- Click Configuration Files or use FTP Access
- Edit the desired file and save
- Click Start to restart your server
For Self-Hosted Servers
- Stop your server (type
stopor pressCtrl+C) - Open the config file in a text editor
- Make your changes and save
- Start your server
World Configuration (universe/worlds/[WorldName]/config.json)
Each world has its own configuration file. Below is the documented world config structure:
{
"Version": 4,
"UUID": {
"$binary": "j2x/idwTQpen24CDfH1+OQ==",
"$type": "04"
},
"Seed": 1767292261384,
"WorldGen": {
"Type": "Hytale",
"Name": "Default"
},
"WorldMap": {
"Type": "WorldGen"
},
"ChunkStorage": {
"Type": "Hytale"
},
"ChunkConfig": {},
"IsTicking": true,
"IsBlockTicking": true,
"IsPvpEnabled": false,
"IsFallDamageEnabled": true,
"IsGameTimePaused": false,
"GameTime": "0001-01-01T08:26:59.761606129Z",
"RequiredPlugins": {},
"IsSpawningNPC": true,
"IsSpawnMarkersEnabled": true,
"IsAllNPCFrozen": false,
"GameplayConfig": "Default",
"IsCompassUpdating": true,
"IsSavingPlayers": true,
"IsSavingChunks": true,
"IsUnloadingChunks": true,
"IsObjectiveMarkersEnabled": true,
"DeleteOnUniverseStart": false,
"DeleteOnRemove": false,
"ResourceStorage": {
"Type": "Hytale"
},
"Plugin": {}
}
| Setting | Description |
|---|---|
Seed |
World generation seed |
IsPvpEnabled |
Allow player vs player combat |
IsFallDamageEnabled |
Players take fall damage |
IsGameTimePaused |
Freeze day/night cycle |
IsSpawningNPC |
Enable mob spawning |
IsAllNPCFrozen |
Freeze all NPCs in place |
IsTicking |
World simulation runs |
IsBlockTicking |
Block updates (crops, liquids) |
IsSavingPlayers |
Save player data |
IsSavingChunks |
Save world changes |
IsUnloadingChunks |
Unload empty chunks |
DeleteOnUniverseStart |
Delete world on server start |
DeleteOnRemove |
Delete world files when removed |
World Pre-Generation
Pre-generating creates terrain ahead of time, reducing lag when players explore.
Method 1: In-Game Exploration
- Start your server and log in as admin
- Fly around the map to generate chunks
- The server saves chunks as you explore
Method 2: Pre-Generation Mods
- Add a pre-gen mod to your
mods/folder - Configure the area size and center point
- Run the pre-generation command
Method 3: Command-Line
java -jar HytaleServer.jar --help
Check for built-in pre-generation options.
Server Mesh Architecture (Multi-Server Networks)
Hytale has built-in support for connecting multiple servers together without third-party proxies like BungeeCord.
These features are implemented via the server's Java API:
| Feature | API Method | Description |
|---|---|---|
| Player Referral | PlayerRef.referToServer(host, port, payload) |
Transfer players between servers with optional 4KB payload |
| Connection Redirect | PlayerSetupConnectEvent.referToServer(host, port) |
Redirect during handshake before full connection |
| Disconnect Fallback | Coming soon | Auto-reconnect to fallback if server crashes |
Security: Referral payloads pass through the client and can be tampered with. Sign payloads cryptographically (e.g., HMAC with a shared secret) so receiving servers can verify authenticity.
Custom Proxies: Build proxy servers using Netty QUIC. Packet definitions available in HytaleServer.jar at com.hypixel.hytale.protocol.packets.
Command-Line Arguments
java [JVM options] -jar HytaleServer.jar [server options]
JVM Options
| Option | Description | Example |
|---|---|---|
-Xms |
Initial memory allocation | -Xms4G
|
-Xmx |
Maximum memory allocation | -Xmx4G
|
-XX:+UseG1GC |
Use G1 garbage collector | Recommended for 8GB+ |
-XX:AOTCache |
Use AOT cache for faster startup | -XX:AOTCache=HytaleServer.aot
|
Server Options
| Option | Description | Default |
|---|---|---|
--assets <path> |
Path to Assets.zip (required) | None |
--bind <ip:port> |
Address and port to listen on | 0.0.0.0:5520 |
--auth-mode <mode> |
authenticated or offline |
authenticated |
--backup |
Enable automatic backups | Disabled |
--backup-dir <path> |
Backup storage location | ./backups |
--backup-frequency <mins> |
Backup interval in minutes | 60 |
--disable-sentry |
Disable crash reporting | Enabled |
--allow-op |
Allow operator commands | Disabled |
--accept-early-plugins |
Load experimental plugins (unsupported) | Disabled |
Example Launch Scripts
Production server (Windows - start.bat):
@echo off java -Xms6G -Xmx6G -XX:+UseG1GC -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip --backup --backup-frequency 60 pause
Production server (Linux - start.sh):
#!/bin/bash java -Xms6G -Xmx6G -XX:+UseG1GC -XX:AOTCache=HytaleServer.aot -jar HytaleServer.jar --assets Assets.zip --backup --backup-frequency 60
Development server:
java -Xms4G -Xmx4G -jar HytaleServer.jar --assets Assets.zip --auth-mode offline --disable-sentry
Firewall Configuration
Hytale uses QUIC protocol over UDP (not TCP).
Windows PowerShell:
New-NetFirewallRule -DisplayName "Hytale Server" -Direction Inbound -Protocol UDP -LocalPort 5520 -Action Allow
Linux (iptables):
sudo iptables -A INPUT -p udp --dport 5520 -j ACCEPT
Linux (ufw):
sudo ufw allow 5520/udp
See Also
- How to Create a Hytale Server Guide
- How to Join a Hytale Server
- How to Install Mods on a Hytale Server
- Hytale Support & Documentation
- Rent a Hytale Server from Survival Servers