Skip to content
Go back
en

Hytale Dedicated Server Settings to Make It More Stable and Less Laggy

Published:

This article introduces the settings I used when actually running a Hytale Dedicated Server to make it less likely to crash and less prone to slowdowns, in a copy-and-paste-friendly format. The settings are based on values I personally tested. Fine-tune them while checking the logs and how the server feels in practice.

Note: Hytale is currently updated frequently, so configuration keys and behavior may change.

Rules Before Editing

  • Stop the server before editing
    • If you edit files by hand while the server is running, your changes may be overwritten.
  • Back up before editing
    • At minimum, copy config.json / permissions.json / universe/.
  • Do not break JSON
    • A trailing comma or mismatched bracket can prevent the server from starting.

Make the Server More Stable and Robust

First, as a baseline, I do not recommend cranking everything up at once.

  • Start from the top with settings that are less dependent on your PC specs
  • If problems appear along the way, you can still isolate the cause

Set MaxViewRadius in config.json

The official manual and community docs also explain server operation on the assumption that keeping the view distance modest helps stability. A good starting baseline is 12.

  • First set MaxViewRadius: 12
    • Check whether sub-30 TPS logs such as ExplorationTicker 34–57ms appear
  • Raise it only gradually if you have enough headroom (higher values increase load)
{
  "MaxViewRadius": 12
}

Tuning JVM Options

This is the main part of the article. I prepared several presets for tuning JVM options. If you are not sure what to use, try them by copy-pasting from the top.

  • Load can spike when exploration distribution and NPC density overlap, so changing settings in stages instead of cranking everything up at once is safer.

Note: On a 16GB environment, heap headroom is limited, so estimate settings conservatively.

Procedure:

  1. Back up your local config.json / permissions.json / universe/ and similar files
  2. Adjust the JVM options
  3. Start the server with a launch .bat
  4. Check logs/ to see whether tick warnings and NPC overcrowding warnings decrease

Tick guidelines:

  • <33ms: Good (maintains 30 TPS)
  • 33–50ms: Acceptable
  • >50ms: Bad (noticeable lag is more likely)

Preset A: Typical Mid-Range Specs

Target specs:

  • CPU: 6–8 cores
  • RAM: 16GB

Recommended:

  • MaxViewRadius: 10
  • JVM: -Xms4G -Xmx6G

Launch .bat (example)

@echo off
setlocal

REM Adjust this path to match your Hytale installation folder
set JAVA="C:\Hytale\install\release\package\jre\latest\bin\java.exe"

REM Change this to the IP you want to bind to (remove --bind if you do not need it)
set BIND_IP=25.xx.xx.xxx
set PORT=5520

REM Specify the path to the bundled Assets.zip
REM Example below assumes Assets.zip is next to the Server directory
set ASSETS=..\Assets.zip

set XMS=4G
set XMX=6G

set JVM_OPTS=-Xms%XMS% -Xmx%XMX% -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50
set AOT=-XX:AOTCache=HytaleServer.aot

cd /d "%~dp0"

%JAVA% %AOT% %JVM_OPTS% -jar ".\HytaleServer.jar" --assets "%ASSETS%" --bind %BIND_IP%:%PORT% --backup --backup-dir backups --backup-frequency 15 --backup-max-count 96

pause
endlocal

Preset B: Fairly High-End Specs

Target specs:

  • CPU: 8+ cores
  • RAM: 32GB

Recommended:

  • MaxViewRadius: 12
  • JVM: -Xms6G -Xmx9G

Launch .bat (example)

@echo off
setlocal

REM Adjust this path to match your Hytale installation folder
set JAVA="C:\Hytale\install\release\package\jre\latest\bin\java.exe"

REM Change this to the IP you want to bind to (remove --bind if you do not need it)
set BIND_IP=25.xx.xx.xxx
set PORT=5520

REM Specify the path to the bundled Assets.zip
REM Example below assumes Assets.zip is next to the Server directory
set ASSETS=..\Assets.zip

set XMS=6G
set XMX=9G

set JVM_OPTS=-Xms%XMS% -Xmx%XMX% -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=75 -XX:+DisableExplicitGC -XX:+PerfDisableSharedMem
set AOT=-XX:AOTCache=HytaleServer.aot

cd /d "%~dp0"

%JAVA% %AOT% %JVM_OPTS% -jar ".\HytaleServer.jar" --assets "%ASSETS%" --bind %BIND_IP%:%PORT% --backup --backup-dir backups --backup-frequency 15 --backup-max-count 96

pause
endlocal

Preset C: Very High-End Specs

Target specs:

  • CPU: 12+ cores
  • RAM: 64GB

Recommended:

  • MaxViewRadius: 12~16
  • JVM: -Xms8G -Xmx12G

Launch .bat (example)

@echo off
setlocal

REM Adjust this path to match your Hytale installation folder
set JAVA="C:\Hytale\install\release\package\jre\latest\bin\java.exe"

REM Change this to the IP you want to bind to (remove --bind if you do not need it)
set BIND_IP=25.xx.xx.xxx
set PORT=5520

REM Specify the path to the bundled Assets.zip
REM Example below assumes Assets.zip is next to the Server directory
set ASSETS=..\Assets.zip

set XMS=8G
set XMX=12G

set JVM_OPTS=-Xms%XMS% -Xmx%XMX% -XX:+UseZGC -XX:+ZGenerational -XX:SoftMaxHeapSize=10g -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:+PerfDisableSharedMem -XX:+UseDynamicNumberOfGCThreads
set AOT=-XX:AOTCache=HytaleServer.aot

cd /d "%~dp0"

%JAVA% %AOT% %JVM_OPTS% -jar ".\HytaleServer.jar" --assets "%ASSETS%" --bind %BIND_IP%:%PORT% --backup --backup-dir backups --backup-frequency 10 --backup-max-count 144

pause
endlocal

  • What I Did to Make a Valheim Dedicated Server × Crossplay Server More Stable and Robust
  • Hytale QoL Mods That Improve Play Without Breaking the Vanilla Experience
  • [GUNDAM EVOLUTION] How to Get More FPS Even on a Low-Spec CPU
  • [Deadlock] How to Set a Maximum FPS Limit
  • What I did to improve brief connection dropouts and freezes in Marvel Rivals and VALORANT

Previous Post
Windrose Weapon Recommendation Ranking: Best Weapons and Upgrade Paths by Biome Progression
Next Post
Hytale QoL Mods That Improve Play Without Breaking the Vanilla Experience