
DeathLog_By_FeDen Update 2.0
This project adds a complete death tracking system for Minecraft servers. It records player deaths, including lost items, coordinates, cause of death, and killer, and provides an intuitive GUI for administrators to review and manage death history.
Links
Tags
Creators
Details
2.0
Compatibility
Changes
ποΈ DeathLog β Major Storage Update
DeathLog has received a major internal update: we have completely replaced the old YAML-based death storage system with a SQL database.
β‘ What changed?
Previously, DeathLog had to work with constantly growing YAML files. As the number of deaths increased, loading and saving the data became more expensive.
Now, each death is stored as a separate database record. This significantly reduces file operations and improves performance on servers with large death histories.
ποΈ Database Support
DeathLog now supports:
- SQLite β enabled by default;
- MySQL;
- MariaDB;
- PostgreSQL.
Connection pooling is also used, so a new database connection does not have to be created for every query.
π Better GUI Performance
The death history GUI now loads data directly from the database using SQL pagination.
Instead of loading every death into memory, DeathLog only requests the required page using:
LIMIT + OFFSET
This makes a big difference on servers with thousands or even tens of thousands of recorded deaths.
π Automatic YAML Migration
You don't need to manually migrate your existing data.
On the first launch, DeathLog will automatically:
- Create the required database tables.
- Find the existing YAML files.
- Import all existing deaths.
- Verify the number of imported records.
- Create a backup of the old YAML data.
- Store the migration version.
Old YAML files are never deleted automatically.
π‘οΈ Existing Features Are Preserved
The new storage system keeps all important death data, including:
- Inventory;
- Armor;
- Offhand;
- Original inventory slots;
- ItemStacks and ItemMeta;
- Enchantments and lore;
- Death location;
- Death cause;
- Experience;
- Rollback data;
- Dropped items;
- Placed blocks;
- Loot pickup data;
- Restore data.
Snapshot creation before lethal damage, restore, loot pickup, 3Γ3Γ3 block rollback, and other existing DeathLog features remain fully supported.
π Pending Restore
Pending restores are now stored in the database as well.
If require_player_online: false is enabled, restore requests for offline players will survive server restarts and will not be lost from memory.
βοΈ Performance & Stability
SQL operations are executed asynchronously and do not block the Minecraft main thread.
The update also adds proper handling for database connection errors, timeouts, SQL errors, and SQLite problems. Database passwords are never printed to the server log.
π¦ Final
This update may not add a flashy new feature, but it significantly improves the foundation of DeathLog.
Less file I/O β less overhead β faster GUI β better performance on large servers.
DeathLog is now much better prepared for large-scale servers and large death histories.
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:D7E3N4DP:i5qezfmG"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:D7E3N4DP:i5qezfmG"
}
