Releases: Lostes-Burger/MySqlPlayerBridge
Release list
v3.7.5 Folia compatibility layer overhaul
This release overhauls the Folia compatibility layer. All modules and data handlers migrated to Player / Region specific Schedulers to ensure a more stable experience when using Folia 26.x
Thanks to @mcdsp_ for bringing this issue to my attention.
v3.7.4 — Player Lock System, Pre-Sync for Edits & MC 1.26.x Support
MySqlPlayerBridge v3.7.4
English
This release mainly improves safety and consistency for player data synchronization.
Highlights
- Introduced a new player lock system for join/sync flows to prevent parallel or conflicting sync operations.
- Admin edit GUI actions now always trigger a pre-sync before changes are applied.
- Improved stability across multiple sync modules for more reliable cross-server data handling.
- Minor improvements to update notifications and language files.
- Minecraft 1.26.x is now supported, when using the latest NBTAPI version.
Mentions
Thank you Nerbbz for bringing the Lock System idea, I hope this release solves the Item pickup issues you had on your server
Deutsch
Dieses Release bringt vor allem mehr Sicherheit und Konsistenz bei der Spielerdaten-Synchronisation.
Highlights
- Neues Player-Lock-System für Join-/Sync-Abläufe eingeführt, um parallele oder konkurrierende Sync-Prozesse zu verhindern.
- Vor Änderungen über das Admin-Edit-GUI wird jetzt immer ein Pre-Sync erzwungen.
- Mehr Stabilität in mehreren Sync-Modulen für zuverlässigere Datenübertragung zwischen Servern.
- Kleine Verbesserungen bei Update-Hinweisen und Sprachdateien.
- Minecraft 1.26.x wird unterstützt, sofern die aktuellste NBTAPI-Version verwendet wird.
3.7.2 HOTFIX -> Fixed armor disappearing on join && edit inventory orientation
Hi Friends,
I have to apologize for the update yesterday. I left a broken experimental armor / inventory applying, which I've tested and forgot to remove in the final compiled version. This sadly resulted in all users, which joined on the broken version (3.7.1) loosing their armor data.
Other fixes:
- Mpb inventory edit now displays the items in the correct order
- Removed offhand data_type in edit command and moved offhand edit to inventory edit
NEW Edit command to edit all data from players online/offline & Bug fixes from 3.7.0
Hi Friends,
I am sorry fixing some bugs in version 3.7.0 took me so long and some of you experienced issues while migrating to the new database structure. I've received a lot of feature requests from you guys on discord. One feature was requested a lot: being able to edit a player's data (online & offline).
Introducing the new /mpb edit command: Edit data from all modules for a single player or all players at once.
Editing data for all players only works for offline players. If you want to set for example all players health to 10, only players joining after the command was executed will be affected, all online players are not affected due to their data being overwritten.
Editing a single online player does only work if the command executor is on the same server as the player.
Editing of a single offline player works without any restrictions. You can edit the inventory via gui and other attributes via command.
Other changes:
- Fixed a mysql error when removing migration lock from db.
- Added Migration fail-safe if migration takes longer than 15 min the migration_running value will be set to: false (fixing older bricked databases)
- Added back all error logging and data protection fail saves.
- Migration to new player index && removed legacy player registry.
Deutsch:
Hallo Freunde,
es tut mir leid, dass die Behebung einiger Fehler in Version 3.7.0 so lange gedauert hat und einige von euch Probleme bei der Migration zur neuen Datenbankstruktur hatten. Ich habe viele Feature-Anfragen von euch auf Discord erhalten. Ein Feature wurde besonders häufig angefragt: die Möglichkeit, die Daten eines Spielers (online und offline) zu bearbeiten.
Ich stelle euch den neuen Befehl /mpb edit vor: Damit könnt ihr Daten aus allen Modulen für einen einzelnen Spieler oder alle Spieler gleichzeitig bearbeiten.
Das Bearbeiten von Daten für alle Spieler funktioniert nur für Offline-Spieler. Wenn ihr beispielsweise die Gesundheit aller Spieler auf 10 setzen möchtet, sind nur Spieler betroffen, die nach der Ausführung des Befehls beitreten. Alle Online-Spieler sind nicht betroffen, da ihre Daten überschrieben werden.
Das Bearbeiten eines einzelnen Online-Spielers funktioniert nur, wenn sich der Ausführende des Befehls auf demselben Server wie der Spieler befindet.
Das Bearbeiten eines einzelnen Offline-Spielers funktioniert ohne Einschränkungen. Sie können das Inventar über die GUI und andere Attribute über Befehle bearbeiten.
Weitere Änderungen:
- Behebung eines MySQL-Fehlers beim Entfernen der Migrationssperre aus der Datenbank.
- Hinzufügen einer Migrations-Ausfallsicherung: Wenn die Migration länger als 15 Minuten dauert, wird der Wert „migration_running” auf „false” gesetzt (Behebung älterer beschädigter Datenbanken).
- Wiederherstellung aller Fehlerprotokollierungen und Datensicherungen.
- Migration zum neuen Spielerindex && Entfernung der alten Spielerregistrierung.
Übersetzt mit [DeepL.com]
3.7.0 - pre-release
English
Dear user,
where do I start with this Update? First of all Merry Christmas to everyone who celebrated and a Happy new Year!
This project is one of my favorites, I love working on It and I am really happy for all the positive feedback and Interested people in my Discord dms. I have to thank master_n for the bug-hunt and testing multiple versions of this pre-release.
!! Before I list the changes: This plugin does a completely automated migration to the new database. I've put in fail saves to make sure no data is lost. If you don't trust me blind (I don't) please back up your main mysql player_data table before running this update !!
This update includes:
- major database structure changes
- changed player registry
- removal of api version to support older Minecraft servers
- all player data is now saved in separate mysql tables
- modules are now handled by SyncManager
- new supress-warnings option in config.yml
- removed test info data
- added migration handler & migration lock to ensure smooth automated migration to new database structure
- general file & project structure changes
This update doesn't bring a lot of features for most users but it ensures future proofing of this plugin. All developers witch forked this project will thank me.
Upcoming changes in next release
Planed changes include:
- manually editing online & offline players data including inventory via gui
- Thanks to (master_n) the next update will have even more secure data handling using ReetrantLocks
Deutsch
Liebe Nutzer,
wo fange ich bei diesem Update an? Zunächst einmal: Frohe Weihnachten an alle, die gefeiert haben, und ein frohes neues Jahr!
Dieses Projekt ist eines meiner Favoriten. Ich arbeite unglaublich gerne daran und freue mich sehr über das viele positive Feedback sowie über alle interessierten Leute in meinen Discord-DMs. Ein besonderer Dank geht an master_n für die Bug-Jagd und das Testen mehrerer Versionen dieses Pre-Releases.
!! Bevor ich die Änderungen aufliste: Dieses Plugin führt eine vollständig automatisierte Migration auf die neue Datenbank durch. Ich habe Sicherheitsmechanismen eingebaut, um sicherzustellen, dass keine Daten verloren gehen. Wenn ihr mir nicht blind vertraut (tue ich selbst auch nicht), erstellt bitte vor dem Update ein Backup eurer Haupt-MySQL-Tabelle player_data !!
Dieses Update beinhaltet:
- große Änderungen an der Datenbankstruktur
- geänderte Spieler-Registrierung
- Entfernung der API-Version zur Unterstützung älterer Minecraft-Server
- alle Spielerdaten werden nun in separaten MySQL-Tabellen gespeichert
- Module werden jetzt über den SyncManager verwaltet
- neue Option suppress-warnings in der config.yml
- Entfernen von Test-Informationsdaten
- Hinzufügen eines Migrations-Handlers sowie eines Migrations-Locks, um eine reibungslose und automatisierte Migration auf die neue Datenbankstruktur sicherzustellen
- allgemeine Änderungen an Datei- und Projektstruktur
Dieses Update bringt für die meisten Nutzer nicht viele neue Features, stellt jedoch die Zukunftssicherheit dieses Plugins sicher. Alle Entwickler, die dieses Projekt geforkt haben, werden es mir danken.
Kommende Änderungen im nächsten Release
Geplante Änderungen:
- manuelles Bearbeiten von Online- und Offline-Spielerdaten inklusive Inventar über eine GUI
- dank master_n wird das nächste Update eine noch sicherere Datenverarbeitung durch ReentrantLocks enthalten
3.6.1 -> Satuaration fix, Async fix, Github rate limit failsafe
Thanks to Yo. (@universe.0000),
for bringing the Saturation syncing issue and the github rate limit error.
Bug fixes:
- Added food level syncing
- Adding fail safe if github api rate limit is reached
- Fixed async task creation error on shutdown
3.6.0 -> Language presets & Hotbar selection syncing
3.6.0 -> Language presets & Hotbar selection syncing
This update brings 2 new requested features:
-
Language presets. We thrown out a single message.yml file and moved all translations to the lang/ folder.
Pre translated languages are: German (de-de), English (en-us), Chinese (zh-cn)
Thanks again to xucy for providing the Chinese translation and the idea -
Another requested feature by our own private server community was another sync module: Hotbar selection syncing
It is now possible by enabling the sync.selected_hotbar_slot to sync the Selected Hotbar slot. It makes much sense to use this
in combination with the inventory sync module, making player's live easier.
3.5.4 Hotfix -> again issuses with the CraftCore lib
Again I made mistakes migrating to the new lib resulting in some mysql versions not syncing the data correctly.
This time I tested all versions ensuring complete compatibility. Hopefully the last hotfix due to the new library!
AGAIN MAKE SURE TO USE THIS VERSION TO EXPERIENCE ERROR FREE USAGE
3.5.3 Hot fix update
I am really sorry for the Update yesterday.
I made an mistake in the migration to CraftCore lib resulting in a MySql condition error.
Please don't use version 3.5.2 IT WILL NOT WORK
3.5.2 craftcore lib & github update checker
- Changed dependency from CoreLib to new CraftCore lib
- Removed deprecated PluginSmiths update check -> switched to improved github based update checker
- Drastically reduced file size due to new CraftCore lib
- Added manual sync to database command: /mpb sync <player_name / *> to manually sync player data to mysql