How to Optimize the Performance of Your Hytale Server
Introduction
The performance of a Hytale server can vary significantly depending on the players' behavior. A group of players exploring different areas of the world consumes much more resources than a group gathered in the same place.
The Performance Saver plugin from Nitrado intelligently manages these load peaks to avoid crashes and maintain a smooth gaming experience, even on modest hardware.
📥 Step 1: Download the Plugin
Download the plugin from the official GitHub repository:
🔗 Download link : https://github.com/nitrado/hytale-plugin-performance-saver/releases/tag/v1.0.0
Retrieve the .jar file from the releases page.
📂 Step 2: Installation
- Locate your Hytale server folder
- Open (or create) the
mods/folder - Place the downloaded
.jarfile in thismods/folder - Restart your server
That's it! The plugin works with its default settings.
⚙️ Step 3: Configuration (Optional)
To customize the plugin's behavior, create a configuration file:
- In the
mods/folder, create a sub-folderNitrado_PerformanceSaver/ - In this sub-folder, create a
config.jsonfile
Full path : mods/Nitrado_PerformanceSaver/config.json
🔧 The 3 Main Features
1. TPS Limitation (Ticks Per Second)
The plugin stabilizes the server's TPS. A stable but slightly reduced TPS provides a better experience than a high but unstable TPS.
| Parameter | Default Value | Description |
|---|---|---|
TpsLimit | 20 | Maximum TPS with connected players |
TpsLimitEmpty | 5 | TPS when the server is empty |
EmptyLimitDelaySeconds | 300 | Delay before switching to "empty server" mode |
2. Dynamic View Radius Adjustment
When the server is under CPU or RAM pressure, the view radius is automatically reduced, then gradually restored when resources become available.
| Parameter | Default Value | Description |
|---|---|---|
MinViewRadius | 2 | Minimum view radius |
DecreaseFactor | 0.75 | Reduction factor (×0.75) |
RecoveryWaitTimeSeconds | 60 | Time before attempting to increase the radius |
3. Garbage Collection Management
Java does not automatically release unused memory. This plugin triggers memory cleanup when chunks are unloaded.
| Parameter | Default Value | Description |
|---|---|---|
MinChunkCount | 128 | Minimum number of chunks before activation |
GarbageCollectionDelaySeconds | 300 | Minimum delay between two GC |
📋 Example of Full Configuration
{
"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,
"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
}
}
💡 Optimization Tips
For small servers (less RAM)
{
"ViewRadius": {
"MinViewRadius": 2,
"GcMonitor": {
"HeapThresholdRatio": 0.75
}
}
}
For servers with many players
{
"ViewRadius": {
"TpsMonitor": {
"TpsWaterMarkLow": 0.5,
"AdjustmentDelaySeconds": 10
}
}
}
To save resources when the server is empty
{
"Tps": {
"TpsLimitEmpty": 2,
"EmptyLimitDelaySeconds": 120
}
}
✅ Summary
- Download the plugin from GitHub
- Place the
.jarin your server'smods/folder - Restart the server
- (Optional) Configure via
mods/Nitrado_PerformanceSaver/config.json
The plugin takes care of the rest automatically! 🚀


