1.1.0
Compatibility
Changes
Changelog 1.1.0
Scheduled Auto-Backup System
No more losing everything to a crash or power outage between manual backups. Cobblemon Full Restore can now snapshot every online player's PC and Party data on a timer, automatically.
- Runs on a configurable interval (default every 30 minutes)
- Keeps a rolling history of snapshots per player (default 5) instead of just one — auto-backups never overwrite your manual
.dat.oldbackup, and never overwrite each other - Also takes a free snapshot whenever a player disconnects, and optionally on join (off by default)
- Spread across server ticks so a backup pass never causes a noticeable hitch, even with many players online
Corruption Guard
Backups and snapshots now refuse to capture a .dat file under 64 bytes, the telltale sign of a file truncated by a crash. This prevents a "good" backup slot from silently getting overwritten with already-broken data.
Automatic Cleanup
Both rotating snapshots (.dat.auto.*) and pre-restore safety-net files (.dat.crash.*) are now automatically pruned, keeping only the most recent files per player instead of accumulating forever.
New Commands
/cfr snapshots [<player>]— list rotating auto-backup snapshots with restore points/cfr restore [<player>] snapshot <index>— restore from a specific snapshot (not just the latest)/cfr restore offline <uuid>— (OP) restore a player who isn't currently online/cfr autobackup status— check whether auto-backup is on and when it runs next/cfr autobackup on/off— (OP) toggle scheduled auto-backups/cfr autobackup now— (OP) trigger an immediate backup pass/cfr autobackup interval <minutes>— (OP) change how often auto-backup runs
Configuration
New config file at config/cobblemonfullrestore.json:
| Setting | Default | Description |
|---|---|---|
autoBackupEnabled |
true |
Master on/off switch |
autoBackupIntervalMinutes |
30 |
Minutes between scheduled passes |
maxSnapshotsPerPlayer |
5 |
Rotating snapshots kept per player, per store |
maxCrashFilesPerPlayer |
5 |
Pre-restore safety-net files kept per player, per store |
playersPerTickBudget |
1 |
Players processed per server tick during a pass |
backupOnDisconnect |
true |
Snapshot on graceful disconnect |
backupOnJoin |
false |
Snapshot on join (opt-in) |
Most settings can also be changed live with /cfr autobackup commands, no restart needed.
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:eRQIAHco:NQYtrjMl"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:eRQIAHco:NQYtrjMl"
}

