Incremental Player Save

Quick rating

Incremental Player Save

No reviews yet

Implements incremental player saving to smooth out MSPT spikes from saving player data to disk in PlayerManager.saveAllPlayerData()

Performance & Optimization
Mod Loaders
Fabric
Minecraft
26.2

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Unsupported
Server Required

About

Project Details

Type
Mod
License
MIT License
Latest Version
1.0.1
Authors

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.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

Modrinth ID

Resources

External Links

Source Issues Wiki Discord

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.saveAllPlayerData appearing 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 saveAllPlayerData still 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() is net.minecraft.server.players.PlayerList.saveAll() in Mojang Mappings.

Screenshots

Gallery

This project has no gallery images yet.

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

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
CurseForge
Modrinth
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works