
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.
Список изменений
🗄️ 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.
