Hytale Servers Space

    hytaleservers.space

    Server ListBlogFAQContact
    Back to Blog
    PERFORMANCE

    How to Optimize Hytale Server Performance

    January 16, 2026•12 min read•Performance Guide
    Optimizing Hytale Server Performance

    Server performance directly impacts player experience. Lag, stuttering, and crashes frustrate players and drive them away. This comprehensive guide covers everything you need to optimize your Hytale server—from JVM tuning and view distance configuration to automated performance management with the Nitrado Performance Saver plugin.

    What you'll learn: Understanding performance bottlenecks, optimal JVM flags, view distance optimization, TPS management, RAM pressure handling, the Performance Saver plugin, monitoring tools, and troubleshooting performance issues.

    Understanding Performance Bottlenecks

    TPS (Ticks Per Second)

    Hytale servers aim for 20 TPS. Each tick processes game logic—entity movement, block updates, etc. When TPS drops below 20, the game appears laggy and unresponsive.

    Key insight: Stable 18 TPS is better than fluctuating 15-20 TPS. Consistency matters more than peak performance.

    View Distance

    The #1 performance factor. View distance determines how many chunks are loaded and sent to players. Higher view distance = exponentially more RAM and CPU usage.

    8 chunks (256 blocks): ~2GB RAM, light CPU

    12 chunks (384 blocks): ~4-6GB RAM, moderate CPU (recommended max)

    16 chunks (512 blocks): ~8-12GB RAM, heavy CPU

    24 chunks (768 blocks): ~20GB+ RAM, very heavy CPU

    RAM Pressure

    When RAM fills up, Java's garbage collector (GC) runs more frequently, causing stuttering. If GC can't free enough memory, the server crashes with OutOfMemoryError.

    Main RAM consumers: Loaded chunks, entities (mobs/NPCs), player inventories, world generation, and mods.

    CPU Usage

    CPU handles game logic: entity AI, block updates, physics, world generation, and chunk loading. When players explore independently, CPU load spikes dramatically.

    CPU-intensive scenarios: Players exploring separately, mob farms, redstone-equivalent contraptions, world generation during exploration.

    JVM Optimization Flags

    Recommended JVM Flags

    These flags optimize garbage collection and memory management for Hytale servers:

    # For servers with 4-8GB RAM:
    java -Xms4G -Xmx8G \
    -XX:+UseG1GC \
    -XX:+ParallelRefProcEnabled \
    -XX:MaxGCPauseMillis=200 \
    -XX:+UnlockExperimentalVMOptions \
    -XX:+DisableExplicitGC \
    -XX:G1NewSizePercent=30 \
    -XX:G1MaxNewSizePercent=40 \
    -XX:G1HeapRegionSize=8M \
    -XX:G1ReservePercent=20 \
    -XX:G1HeapWastePercent=5 \
    -XX:G1MixedGCCountTarget=4 \
    -XX:InitiatingHeapOccupancyPercent=15 \
    -XX:G1MixedGCLiveThresholdPercent=90 \
    -XX:G1RSetUpdatingPauseTimePercent=5 \
    -XX:SurvivorRatio=32 \
    -XX:+PerfDisableSharedMem \
    -XX:MaxTenuringThreshold=1 \
    -XX:AOTCache=HytaleServer.aot \
    -jar HytaleServer.jar --assets Assets.zip

    Flag Explanations

    -Xms4G -Xmx8G

    Minimum and maximum heap size. Set both to same value for production (e.g., -Xms8G -Xmx8G) to prevent resize pauses.

    -XX:+UseG1GC

    Use G1 garbage collector—best for large heaps and game servers.

    -XX:MaxGCPauseMillis=200

    Target max GC pause time. Lower = more frequent but shorter pauses.

    -XX:AOTCache=HytaleServer.aot

    Use ahead-of-time compilation cache for faster server startup (Java 25 feature).

    -XX:+DisableExplicitGC

    Prevents mods from forcing garbage collection (unless Performance Saver plugin needs it).

    Memory Allocation Guidelines

    Player CountView DistanceRecommended RAM
    1-5 players8-10 chunks4GB
    5-10 players10-12 chunks6-8GB
    10-20 players12 chunks8-12GB
    20-50 players10-12 chunks12-16GB
    50+ players8-10 chunks16GB+

    View Distance Optimization

    Recommended Settings

    Based on extensive testing, these view distances balance performance with gameplay:

    Maximum: 12 chunks (384 blocks)

    Sweet spot for most servers. Provides good visibility while keeping RAM usage reasonable. This is roughly equivalent to 24 Minecraft chunks.

    Budget servers: 8-10 chunks

    For servers with 4GB RAM or limited CPU. Still playable but reduced visibility.

    High-performance: 14-16 chunks

    Only on dedicated hardware with 12GB+ RAM. Provides excellent visibility but heavy resource usage.

    Critical: Why View Distance Matters

    View distance increases resource usage exponentially, not linearly:

    • ▸8 chunks → 12 chunks = ~2x RAM usage
    • ▸12 chunks → 16 chunks = ~2x RAM usage again
    • ▸When players explore separately, multiply by player count

    Nitrado Performance Saver Plugin

    What It Does

    The Performance Saver plugin automatically optimizes your server's resource usage in real-time. Instead of running hardware that can handle worst-case scenarios 24/7, this plugin intelligently manages resources during high-load situations while maintaining playability.

    TPS Limiting

    Limits server TPS to stable values. Empty servers run at 5 TPS to save resources.

    Dynamic View Radius

    Automatically reduces view distance during CPU/RAM pressure, then gradually recovers.

    Smart GC Triggering

    Triggers garbage collection when chunks unload, freeing memory proactively.

    Installation

    1. 1.

      Download the plugin from GitHub:

      https://github.com/nitrado/hytale-plugin-performance-saver
    2. 2.

      Place the JAR file in your server's mods/ folder

    3. 3.

      Restart your server—the plugin will create default configuration

    4. 4.

      (Optional) Customize mods/Nitrado_PerformanceSaver/config.json

    Complete Configuration

    Create or edit mods/Nitrado_PerformanceSaver/config.json:

    // Default configuration with all options
    {
    "Tps": {
    "Enabled": true,
    "TpsLimit": 20,
    "TpsLimitEmpty": 5,
    "OnlyWorlds": [],
    "InitialDelaySeconds": 30,
    "CheckIntervalSeconds": 5,
    "EmptyLimitDelaySeconds": 300
    },
    "ViewRadius": {
    "Enabled": true,
    "MinViewRadius": 2,
    "DecreaseFactor": 0.75,
    "IncreaseValue": 1,
    "InitialDelaySeconds": 30,
    "CheckIntervalSeconds": 5,
    "RecoveryWaitTimeSeconds": 60,
    "RequireNotifyPermission": false,
    "GcMonitor": {
    "Enabled": true,
    "HeapThresholdRatio": 0.85,
    "TriggerSequenceLength": 3,
    "WindowSeconds": 60
    },
    "TpsMonitor": {
    "Enabled": true,
    "TpsWaterMarkHigh": 0.75,
    "TpsWaterMarkLow": 0.6,
    "OnlyWorlds": [],
    "AdjustmentDelaySeconds": 20
    }
    },
    "ChunkGarbageCollection": {
    "Enabled": true,
    "MinChunkCount": 128,
    "ChunkDropRatioThreshold": 0.8,
    "GarbageCollectionDelaySeconds": 300,
    "InitialDelaySeconds": 5,
    "CheckIntervalSeconds": 5
    }
    }

    Key Configuration Options

    TPS Settings

    TpsLimit: 20

    Maximum TPS when players are online. Keep at 20 for normal gameplay.

    TpsLimitEmpty: 5

    TPS when server is empty—saves CPU and electricity.

    View Radius Settings

    MinViewRadius: 2

    Minimum view distance during severe pressure. Increase to 4-6 for better minimum experience.

    DecreaseFactor: 0.75

    Multiplier when reducing view distance (current × 0.75). Lower = more aggressive reduction.

    RecoveryWaitTimeSeconds: 60

    How long to wait before increasing view distance after pressure subsides.

    GC Monitor Settings

    HeapThresholdRatio: 0.85

    Triggers view distance reduction when heap reaches 85% usage.

    TriggerSequenceLength: 3

    Number of consecutive high-heap GC events before taking action—prevents false positives.

    TPS Monitor Settings

    TpsWaterMarkLow: 0.6

    Reduce view distance when TPS falls below 60% of target (12 TPS if target is 20).

    TpsWaterMarkHigh: 0.75

    Allow view distance increases when TPS is above 75% of target (15 TPS if target is 20).

    Additional Performance Tips

    Use SSD Storage

    Hytale servers constantly read/write chunks. SSDs provide 10-50x faster disk I/O than HDDs, dramatically improving chunk loading performance.

    Recommended: NVMe SSD for best performance, SATA SSD minimum. Avoid HDDs entirely.

    Pregenerate World Chunks

    World generation is CPU-intensive. Pregenerate chunks in a radius around spawn to reduce load during gameplay:

    # Use a world pregeneration plugin or command
    /worldborder set 5000
    /worldborder fill

    Limit Entity Counts

    Too many mobs/NPCs tank performance. Configure entity limits:

    • ▸Reduce mob spawn rates in server config
    • ▸Clear unused entities periodically
    • ▸Limit mob farms and breeding areas

    Regular Server Restarts

    Schedule automatic daily restarts to clear memory leaks and reset entity counts:

    # Using cron on Linux (restart at 4 AM daily):
    0 4 * * * /usr/bin/systemctl restart hytale-server

    Monitor Performance

    Install monitoring plugins to track server health:

    • ▸ApexHosting:PrometheusExporter - Detailed metrics for Grafana
    • ▸Nitrado:Query - Real-time server status via HTTP
    • ▸Check logs regularly for performance warnings

    Optimize Mods

    Some mods are resource-intensive:

    • ▸Test mods individually to identify performance hogs
    • ▸Keep mods updated—newer versions often have optimizations
    • ▸Remove unused mods to reduce overhead

    See our mod installation guide for best practices.

    Monitoring & Troubleshooting

    Check Current TPS

    Monitor your server's TPS in-game or via console:

    /tps

    Healthy servers maintain 18-20 TPS. Consistent drops below 15 indicate serious performance issues.

    Identify Performance Bottlenecks

    Low TPS + Low CPU usage

    → Single-threaded bottleneck. Upgrade to faster CPU (higher clock speed).

    Low TPS + High CPU usage

    → Too much load. Reduce view distance, limit entities, or upgrade hardware.

    Frequent GC pauses (check logs)

    → RAM pressure. Reduce view distance, add more RAM, or enable Performance Saver plugin.

    Stuttering during chunk loading

    → Disk I/O bottleneck. Upgrade to SSD, pregenerate chunks, or reduce view distance.

    Reading Server Logs

    Server logs show performance warnings:

    # Common performance warnings:
    [WARN] Can't keep up! Is the server overloaded?
    [WARN] GC pause time exceeded 200ms
    [ERROR] OutOfMemoryError: Java heap space

    Check logs/latest.log regularly for these warnings.

    Common Performance Issues & Solutions

    Server crashes with OutOfMemoryError

    Solution:

    • • Increase -Xmx value (add more RAM)
    • • Reduce view distance
    • • Install Performance Saver plugin
    • • Check for memory leaks in mods

    TPS drops when players explore

    Solution:

    • • Enable Performance Saver plugin (automatic adjustment)
    • • Pregenerate world chunks around spawn
    • • Reduce max view distance to 10-12 chunks
    • • Upgrade CPU or use VPS with better single-thread performance

    Stuttering and lag spikes

    Solution:

    • • Tune GC settings (see JVM flags section)
    • • Reduce entity counts
    • • Schedule restarts to clear memory
    • • Check disk I/O—upgrade to SSD if using HDD

    Performance Testing Scenarios

    Test Your Optimizations

    After applying optimizations, test these scenarios:

    Test 1: Idle Performance

    Let the server run empty for 30 minutes. TPS should be stable at TpsLimitEmpty (default 5). Check RAM usage—should remain stable.

    Test 2: Grouped Players

    Have all players stay together in one area. TPS should maintain 18-20. This represents the best-case scenario.

    Test 3: Exploration Stress Test

    Have players explore in different directions simultaneously. Monitor TPS and watch Performance Saver adjust view distance automatically. Server should remain stable even if view distance drops temporarily.

    Test 4: Combat & Entity Stress

    Spawn large groups of mobs and engage in combat. Monitor TPS and entity count. Should remain playable even with 50+ entities.

    Your Server is Optimized!

    You've learned how to optimize your Hytale server for maximum performance. With proper JVM flags, view distance configuration, and the Performance Saver plugin, your server can handle player exploration and resource pressure automatically. Monitor performance regularly and adjust settings based on your specific player count and hardware.

    List Your ServerCommands Guide →

    Related Server Guides

    • ▸
      Ultimate Guide to Hytale Server Hosting
    • ▸
      Hytale Server Commands Guide
    • ▸
      How to Create a Hytale Server with Docker
    • ▸
      How to Add Mods to Your Hytale Server
    • ▸
      Performance Saver Plugin on GitHub