Hytale Updated April 27, 2026

Hytale Server Performance Optimization

Tips and settings for improving the performance of your Hytale dedicated server, including JVM flags and config tuning.

HytalePerformanceOptimizationJVMLagRAM

Hytale Server Performance Optimization

A well-tuned Hytale server runs smoothly even with many players or heavy mods. Performance issues typically come from one of three areas: JVM memory settings, server configuration, or hardware constraints.

JVM Memory Flags

The launch command's -Xms and -Xmx flags control how much RAM the JVM allocates.

Server Size Recommended Flags
Small (1–10 players, no mods) -Xms2G -Xmx4G
Medium (10–30 players, light mods) -Xms4G -Xmx6G
Large (30+ players, heavy mods) -Xms6G -Xmx10G

Do not set -Xmx higher than 80% of your machine's available RAM. Leaving headroom for the OS prevents swapping, which is far more damaging to tick rates than a modest -Xmx.

Example Launch Command

java -Xms4G -Xmx8G \
     -XX:+UseG1GC \
     -XX:G1HeapRegionSize=16M \
     -XX:+ParallelRefProcEnabled \
     -XX:MaxGCPauseMillis=200 \
     -jar HytaleServer.jar

The additional GC flags instruct the JVM to use the G1 garbage collector with settings tuned for low-latency server workloads.

Why G1GC?

Java 25's default garbage collector is G1GC for most heap sizes. Explicitly specifying the GC flags gives you control over pause time targets. The -XX:MaxGCPauseMillis=200 setting tells the GC to aim for pauses under 200 ms, which prevents the server tick from stalling visibly.

config.json Tuning

View Distance

View distance is the single biggest lever for CPU and memory usage. Each chunk in a player's view distance must be loaded and ticked. Lower this value before touching anything else.

{
  "viewDistance": 8
}

A value of 8 is a good balance for most servers. Drop to 6 for very low-resource environments.

Max Players

Setting maxPlayers accurately prevents oversubscription. If your server struggles at 30 players, set maxPlayers to 25 to maintain quality for existing players.

{
  "maxPlayers": 25
}

Tick Rate

The default tick rate of 20 ticks/second is standard. Do not lower this unless you have a specific reason — it affects gameplay feel significantly.

Per-World Performance Settings

For worlds with different player densities, use per-world config.json files to apply tighter limits only where needed:

universe/worlds/dungeon-realm/config.json
{
  "viewDistance": 6,
  "difficulty": "normal"
}

Monitoring Server Health

Watch the server log for tick overrun warnings (messages like "Server is running behind by X ms"). Frequent overruns indicate CPU saturation.

sudo journalctl -u hytale -f | grep -i "behind\|warn\|error"

Check memory usage:

top -p $(pgrep -f HytaleServer.jar)

If the JVM is using close to its -Xmx limit, increase it or reduce the mod/player load.

Plugin Performance

Each .jar plugin adds to the server's CPU and memory load. If performance degrades after adding mods:

  1. Stop the server.
  2. Remove mods from mods/ one at a time.
  3. Restart and measure tick rate after each removal.
  4. Identify the culprit plugin and contact its author or replace it.

Hardware Recommendations

Players CPU RAM
Up to 10 2 vCPU / 2.5 GHz+ 4 GB
10–30 4 vCPU 8 GB
30–60 6–8 vCPU 16 GB
60+ 8+ vCPU, dedicated server 32 GB+

Hytale benefits from fast single-core performance since the main game loop is largely single-threaded.