Incremental Player Save
No reviews yet
Implements incremental player saving to smooth out MSPT spikes from saving player data to disk in PlayerManager.saveAllPlayerData()
Enhances game performance and optimizes resource usage.
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
Incremental Player Save
A mod to eliminate MSPT spikes caused by player data auto-save on Minecraft servers.
What It Does
Minecraft's auto-save calls net.minecraft.server.PlayerManager.saveAllPlayerData() once per save interval, writing every online player's data to disk in a single tick. On servers with many players or with a lot of player data, this can cause a large MSPT spike.
Incremental Player Save fixes this by spreading player saves across multiple ticks, saving a small batch of players per tick rather than all at once. This mod was inspired by Paper's incremental player saving feature.
Who This Is For
Install this mod if you see any of the following:
- Regular MSPT spikes every auto-save interval (default: every 6000 ticks / 5 minutes)
net.minecraft.server.PlayerManager.saveAllPlayerDataappearing in Spark profiler results during spikes
This mod targets only player .dat file writes. It will not reduce spikes from chunk saving or other auto-save work.
Configuration
All options are in the mod's config file in config/incrementalplayersave.json
| Option | Description | Default |
|---|---|---|
ticksBetweenSaveAttempts |
How often (in ticks) the mod checks which players are due for a save | 20 |
ticksBetweenSavesPerPlayer |
Minimum ticks between saves for any individual player | 6000 |
maxPlayersSavedPerAttempt |
Maximum number of players saved per attempt. Controls per-tick save cost | 3 |
enableDebugLog |
Log save actions to console | false |
Other Notes
-
Some optimization mods may include similar functionality. Use Spark to confirm whether
saveAllPlayerDatastill appears in your profiles before installing. On my server with many optimization mods like Lithium, none of them alleviated the tick spike caused by PlayerManager.saveAllPlayerData(). -
net.minecraft.server.PlayerManager.saveAllPlayerData()isnet.minecraft.server.players.PlayerList.saveAll()in Mojang Mappings.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources