Tags
Creators
Details
26.10-ALPHA.001
Compatibility
Changes
PlayerDataSyncReloaded 26.10-ALPHA.001 — Fabric 1.20.1 – 26.2
Alpha build. Compiles and passes the unit tests; not yet exercised on a live network. Test on a staging server first.
File
PlayerDataSyncReloaded-Fabric-26.10-ALPHA.001.jar — one jar for every supported line. On start the mod reads the Minecraft version from Fabric Loader and activates the matching adapter:
| Minecraft | Fabric Loader | Fabric API | Java |
|---|---|---|---|
| 1.20.1 | 0.15.11+ | 0.92.2+1.20.1 | 17+ |
| 1.21.4 | 0.16.14+ | 0.119.2+1.21.4 | 21+ |
| 26.1 | 0.19.3+ | 0.153.0+26.1.2 | 25+ |
| 26.2 | 0.19.3+ | 0.153.0+26.2 | 25+ |
Config: config/playerdatasync.properties, created on first start. Use MariaDB, PostgreSQL or MongoDB — the MySQL driver is not bundled; the MariaDB driver connects to MySQL servers.
Distribution
- Now a separate download covering all Minecraft lines. Previously a single-line Fabric jar shipped inside the Paper jar as
bundled/playerdatasync-fabric.jar.
Fixed (all lines)
- Mod jar was not standalone: it contained only the adapter classes and failed on load with
NoClassDefFoundError.:api,:commonand the runtime libraries (HikariCP, MariaDB/PostgreSQL drivers, Mongo driver, Jedis) are now shaded in. Gson and SLF4J are left out because Minecraft ships them. - Health 0 killed the player on the next server: quitting on the death screen saved
health = 0, which was applied on join. Health is only applied when it is above 0.
Added (all lines)
- Save on shutdown:
SERVER_STOPPINGsaves every online player;SERVER_STOPPEDcloses storage after the writes have finished. Storage was never closed before. - Disconnect now clears the player's per-session sync state, like the other platforms.
Sync core (shared by all platforms)
- Redis auto-reconnect: the subscriber ran on a common-pool thread and died silently when the connection dropped, so other servers stopped receiving reload notifications. It now runs on its own thread and reconnects every 5 s.
- Encryption failure no longer writes plaintext: if
CryptoUtil.encryptthrows, the save fails instead of storing unencrypted JSON (SQL and Mongo). - Exact unchanged-check: skipping a save because "nothing changed" now compares the full serialized inventory instead of
String#hashCode, so a hash collision can no longer drop a changed inventory. SyncManager#handleQuitreturns aCompletableFuturethat completes when the write is done; newsaveAllandmarkLoadedfor shutdown/reload handling.- Includes the 26.9 ordering fixes: loads are serialized per player, saves are refused until the stored profile has been applied, a record that is already applied is not re-applied, and failed SQL writes are counted and retried instead of being cached as "unchanged".
Known issues
- Feature parity per line
- 1.20.1 and 1.21.4: no Ender Chest, potion effects, attributes, advancements, statistics.
- 26.1 and 26.2: no advancements, statistics.
- Fabric does not answer the Velocity save handshake yet. The proxy waits the full timeout once per Fabric server and then stops waiting on it.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:xIV08o16:hySYeAac"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:xIV08o16:hySYeAac"
}

