Page: 1 2

3.5 Apr 13, 2024
HuskSync 3.5 - Folia, PostgreSQL, Attributes syncing, & more

HuskSync 3.5 is a big update adding support for Folia, Attribute & separate Flight Status data syncing, PostgreSQL data storage, Mongo Atlas support, ProtocolLib support, and more.

  • Added support for Folia (#280)
  • Added a new data type: Attributes (#276)
    • Adds support for syncing attributes applied to players, including modifiers and instances and fixes issues related to health and max health syncing.
    • The following data values which can be attributed to the player will now be properly synced: Flight speed, Movement speed, Luck, Knockback resistance, Mob pathfind follow range, Knockback, Attack speed, Max absorption (1.20.2+)
    • This means that plugins/commands modifying player attributes directly will now be correctly synced cross-server. This system now also better takes into account modifiers from equipment and potion effects.
    • This also futureproofs support for syncing these newly customizable values coming in 1.20.5/1.21: Block breaking speed, Entity/block mining range ("reach"), Step height, Jump strength, Distance you can fall without taking fall damage, Fall damage calculation multiplier, Gravitational pull
    • The config to sync max health has been removed and replaced with a config option to skip syncing specific attributes
  • Added a new data type: Flight Status, which has been moved out of the game mode data type (#273)
  • Added support for PostgreSQL as a database storage option, courtesy of @ProdPreva1l (#255)
  • Improved MongoDB data storage support, courtesy of @ProdPreva1l (#255)
    • Added support for MongoDB Atlas
    • Added support for Mongo replica sets
  • Added support for hooking into ProtocolLib to ignore inbound locked user packets for lower-level cancellation (#274)
  • Improved data validation; this now takes place on unpack rather than deserialization (#279)
    • You can now delete invalid or corrupt snapshots
  • Slightly adjusted how cursor items are handled on logout
  • The system locale format will now be used for formatting dates / times
  • Fixed issues with /userdata menus when viewing data for users with names that were surrounded with double underscores (#270)
  • Fixed it being possible to manipulate armor stands while locked (even if you're not using ProtocolLib)
  • Fixed an IntegrityConstraintViolation when trying to modify inventory data of an offline player through the API (#275)
  • Updated the Simplified Chinese (zh-cn) locales, courtesy of @jhqwqmc (#281)
  • API: A few API changes have been made:
    • Added husksync:attributes and husksync:flight_status data types.
    • husksync:health – Methods to get/set max health have been deprecated for removal. Helper methods to easily access this have been added to the new husksync:attributes
    • husksync:game_mode – Methods to get/set if the player is flying/can fly have been deprecated for removal. Use the new husksync:flight_status attributes instead
    • Data save causes can now hold a flag specifying whether they should fire the DataSaveEvent (by default, all except shutdown/legacy migration do this)
    • Internally, serializers that extended BukkitSerializer.Json have been removed and now just use BukkitSerializer.Json<Type> as their serializer. Since these serializers were internal, this shouldn't introduce any breaking changes, but is noted here nonetheless.

To update, just drag+drop. You should regenerate your messages-xx-xx.yml file and consider regenerating your config.yml file, particularly if you use MongoDB (as new options have been added for Atlas support)


3.4 Mar 2, 2024
HuskSync 3.4 - MongoDB support

HuskSync 3.4 adds support for MongoDB! It also fixes a bug and addresses a compatibility issue.

  • Added support for MongoDB storage, courtesy of @ProdPreva1l (#250)
  • Improved the compatibility of event cancellation handling for better plugin interoperability, courtesy of @EinDev (#246)
  • Fixed an issue where the last snapshot cache of online users would not be invalidated on Redis on a server shutdown, causing sync issues in specific circumstances

To update, just drag+drop.


3.3.3 Feb 17, 2024
HuskSync 3.3.3 - Hotfix

HuskSync 3.3.3 fixes a bug in the previous release.

  • Fixed player death save events causing issues with players dying multiple times
  • API: Data save and update causes are now customisible by developers

To update, just drag+drop.


3.3.2 Feb 13, 2024
HuskSync 3.3.2 - Bug fixes

HuskSync 3.3.2 is a minor bug fixing release.

  • Fixed /userdata restore not working due to it failing to update cached user data if the sync mode is LOCKSTEP (#242)
  • Fixed /userdata delete not clearing cached user data if the sync mode is set to LOCKSTEP. (#245)
  • API: Fixed cancelling or modifying the outcome of the DataSaveEvent not being effective. (#243)
    • The DataSaveEvent will now always fire before the data save pipeline, except on server shutdown, rather than just before database operations.

To update, just drag+drop. 


3.3.1 Feb 5, 2024
HuskSync 3.3.1 - Bug fixes
HuskSync 3.3.1 fixes a few minor bugs present in the prior release.
  • Fixed the /inventory and /enderchest commands not updating the inventories of offline players (#229)
  • Fixed the ITEMS_TO_KEEP death save setting not preserving the position of items in the saved inventory snapshot (#186)
To update, just drag+drop.

3.3 Jan 26, 2024
HuskSync 3.3 - Platform API publishing, improvements

Please note, as announced on Discord, starting with this release support for Minecraft 1.16 and Java 16 has been dropped. HuskSync now requires Java 17 / Minecraft 1.17.1 as a minimum.

HuskSync 3.3 is a minor version release that makes changes to how developers target the API, and makes a selection of locale updates, fixes, and improvements.

  • If your Redis server goes down, HuskSync will now automatically attempt to reconnect to it, courtesy of @Rubenicos (#230)
  • Changed the way config files are loaded, and updated the config comment formatting (#233)
  • Fixed an issue on servers with significant Redis server connection latencies where snapshots would be applied multiple times to users
  • Added Indonesian (id-id) locales, courtesy of @Wirayuda5620 (#226)
  • Updated the Simplified Chinese (zh-cn) locales, courtesy of @jhqwqmc (#224)
  • Updated the Turkish (tr-tr) locales, courtesy of @WinTone01 (#228)
  • API: The way the HuskSync API is published has been changed.
    • APIs are now published per-platform; husksync-bukkit and husksync-common can now be targeted.
    • Simply update your build scripts to target the net.william278.husksync:husksync-bukkit artifact
    • HuskSyncAPI is no longer an abstract class; you can now retrieve an instance of the base class with HuskSyncAPI.getInstance()
    • Otherwise, there are no breaking changes.

To update from v3.2.x, just drag+drop and regenerate your locales file (messages-xx-xx). You should not need to touch your config file unless it's very outdated (regenerate it if so!)


3.2.1 Dec 27, 2023
HuskSync 3.2.1 - Bug fixes, /husksync status

HuskSync 3.2.1 fixes bugs, adds a /husksync status command for debugging, and updates the plugin locales.

  • Added /husksync status (permission node: husksync.command.status), which displays system status information for debug purposes
  • Updated the Simplified Chinese (zh-cn) locales, courtesy of @jhqwqmc (#220)
  • Fixed a bug that could occur on Minecraft 1.20.4 where the GRASS statistic wasn't being properly upgraded from legacy (v2) snapshot versions causing synchronization to fail

To update from v3.1.x, just drag+drop. For earlier versions, please consult prior release notes.


3.2 Dec 21, 2023
HuskSync 3.2 - Bug fixes & improvements

HuskSync 3.2 fixes bugs, makes the default sync mode LOCKSTEP, and makes a few internal changes (hence the minor version bump)

  • Added support for Redis Sentinels, courtesy of @romanalexander (#216)
  • Made LOCKSTEP the default sync mode in the config file
  • HuskSync now uses the native adventure platform implementation on Paper servers running 1.19.4+ (this fixes clickable menus not quite working on 1.20.4)
  • Improved player max health / health scale synchronization to hopefully better account for item attributes (#148)
  • Fixed flight synchronization sometimes failing and causing an IllegalArgumentException in the server console (#206)
  • Fixed a rare issue where data could sometimes fall out of sync if users moved between servers that did not have HuskSync installed in a certain way

To update from v3.1.x, just drag+drop. For earlier versions, please consult prior release notes.


3.1.2 Dec 12, 2023
HuskSync 3.1.2 - MC 1.20.4 support
HuskSync 3.1.2 adds support for Minecraft 1.20.4. Please note that since a library, adventure-platform-bukkit, has not yet updated, interactive chat and action bar notifications won't work on 1.20.3+ clients just yet. I'll put out a follow-up release when that's been addressed. clear.png
  • The plugin now supports Minecraft 1.20.3 and 1.20.4.
  • Added support for translating Data Save Causes, courtesy of @nartsisss (#214)
  • Added Russian (ru-ru) locales, courtesy of @nartsisss (#211)
  • Added Turkish (tr-tr) locales, courtesy of @WinTone01 (#207)
  • Updated the German (de-de) locales, courtesy of @Ceddix and @Joo200 (#196#215)
To update from v3.1.1, just drag+drop. For earlier versions, please consult prior release notes.

3.1.1 Oct 18, 2023
HuskSync 3.1.1 - Minor bug fix

HuskSync 3.1.1 fixes a minor bug related to persisted locked maps and updates some locales.

  • Updated the Simplified Chinese (zn-cn) locales, courtesy of @Q2297045667 (#183#184)
  • Fixed banners on persisted locked maps having their banners added too many times when being rendered
    • This could cause excessive client-side lag if too many were added
    • Other minor optimizations to locked map canvas rendering were made in this release

To update, just drag+drop.


3.1 Oct 13, 2023
HuskSync 3.1 - Lockstep syncing, Paper plugin & more

HuskSync 3.1 adds a new sync mode option for better stability on some servers, adds new options for saving player items on death, now runs as a Paper plugin on Paper servers, improves locked map syncing, and more.

  • Added a new sync modeLOCKSTEP in addition to the default DELAY system (#178)
    • This mode provides better stability for a smoother experience on servers with considerably variable tick rates or network latency
    • DELAY (which pauses syncing for your configured netwrok latency) will remain the default for now, but this may change to LOCKSTEP in the future.
  • Added new configuration options for configuring the behaviour of the system for saving player items on death (#179)
    • Users running Paper servers (reccommended) the system will now save their "items to keep," if any are present instead of their drops
    • Useful for servers with per-item keepInventory setups
    • Rearranged the "save_on_death" options in the config.yml file to be all next to one another
  • Locked maps created on other servers, synchronised between servers, then placed in item frames/storage will no longer appear blank after a server restart (#180)
    • Such maps will now be saved locally to disk on each server and updated with the correct map data when needed, if applicable
  • HuskSync now runs as a Paper plugin on Paper servers.
  • Added a warning that the MySQLPlayerDataBridge migrator only supports migrating from MPDB versions v4.9.2 and below (an update will be released in the future to support newer versions)
  • Fixed an error that could be thrown on modded servers caused by modded blocks/items being null by @GsTio86 (#171)
  • Fixed an issue where interactive menus would sometimes not be clickable on Minecraft 1.20.2 servers
  • Added Dutch (nl-nl) locales, courtesy of @arnokeesman (#176)
  • Updated the Japanese (ja-jp) locales, courtesy of @NamiUni (#170)

To update, it's recommended that you regenerate your config.yml file for this release.


3.0.2 Sep 23, 2023
HuskSync 3.0.2 - Hotfix

HuskSync 3.0.2 is a hotfix release to address a problem with locked map persistence.

  • Fixed a "Tried returning part of the NBT to outside of the NBT scope" NBT API error when applying map data on a server without pre-existing map data (#169)
  • Fixed an exception fetching player block statistics on modded (e.g. Arclight) servers.

To update, just drag+drop.


3.0.1 Sep 22, 2023
HuskSync 3.0.1 - Bug fixes

HuskSync 3.0.1 fixes a few bugs present in the initial v3.0 release.

  • Enabled locked map syncing by default (persist_locked_maps) is now set to true in the default config
  • Improved exception handling when a data element fails to be deserialized or applied to a user.
  • Added a config option to disable max health syncing (synchronize_max_health under the synchronization section)
  • Fixed a few issues with health syncing on certain setups (such as extreme health values being applied to players in some cases)
  • Fixed the /userdata restore command having the wrong syntax error message (#166)
  • Fixed data from v2.x displaying the wrong timestamp/UUID, and it not being possible to view or manage these old snapshots (#167)

To update from v3.0, just drag+drop. You may wish to regenerate your config to get the new max health syncing option (or just add it manually from the docs page)


3.0 Sep 21, 2023
HuskSync 3.0 - New Data Format, API; Improved UX

HuskSync 3.0 is a major release introducing a new, much more versatile data format to enable developers. It supports Minecraft 1.16.5—1.20.2 (released today).

  • Introduced data format v4 — a much more modular format which improves the capability of the HuskSync API
  • Added better support for modded items and plugins which inject ItemStacks with custom NBT tags directly, in addition to the existing support for items with Persistent Data Container (PDC) data
    • It is my intent that plugins such as MMOItems, MythicMobs and ItemsAdder will have their data correctly synced starting with this release.
  • HuskSync will now synchronise Custom Persistent Data Tags applied to players (#155)
  • Banners on locked maps will now be synchronised, and locked map syncing should be more stable in general.
  • The approximate file size of a data snapshot, in KiB, is now displayed on the Data Snapshot List menu and Overview menu.
  • Added a new config option to allow for the customisation of a minimum time for creating additional data snapshots (default: 4h), to make the set of backups available on-hand to administrators more useful.
    • The intent here is that HuskSync should keep the last snapshot from the last X number of play sessions, to allow for more convenient rollbacks if the worst happens
  • Fixed an issue where HuskSync would not save data correctly on server shutdown (#159)
  • Fixed various compatibility issues with other plugins utilising CompletableFuture's shared thread pool (HuskSync will now execute asynchronous operations via platform-implementing APIs, such as Bukkit's task system)
    • Preliminary work has been undertaken to support Folia, which I am to support soon, though wish to test thoroughly first (and may need to adjust synchronous operations to be player-location specific).
  • Updated the Italian (it-it) locales, courtesy of @iVillager (#163)
  • API: HuskSync has an all-new API (v3), hence the major version bump. This necessitates breaking API changes and means plugin developers will have to convert their add-ons to APIv3.
    • Developers can now provide their own extensions of Data and implementations of Serializer to provide custom data
    • The new Custom Data API is already seeing use to allow the synchronisation of data from mods such as Pixelmon!
    • Much more versatile access to getting, setting and editing Data Snapshots and the data they contain

To update, drag+drop the .jar file into your /plugins/ folder and regenerate your config.yml and messages-xx-xx.yml files. Data will automatically be converted from v2.0's format. Thanks to @alexdev03 for their help testing and preparing this release.


2.2.8 Jul 28, 2023
HuskSync 2.2.8 - Hotfix 2

HuskSync 2.2.8 fixes another issue preventing MariaDB database environments from occasionally failing to initialize. Sorry for all the updates today !

  • Fixed the MariaDB Driver class not being found during initialization
  • Tweaked database initialization confirmation messages

To update, just drag+drop.


2.2.7 Jul 28, 2023
HuskSync 2.2.7 - Hotfix

HuskSync 2.2.7 fixes a bug related to initializing the database for MariaDB users.

  • Fixed MariaDB database users failing to initialize the connection due to a missing schema file

To update, just drag+drop. MariaDB users can now set their database type to MARIADB.


2.2.6 Jul 28, 2023
HuskSync 2.2.6 - Bug fixes, MariaDB 11 support

HuskSync 2.2.6 is a maintenance update that fixes a few issues and improves support for users running a MariaDB v11 database.

  • Added MariaDB protocol option type, courtesy of @Joo200 (#145)
    • The MariaDB driver is now bundled in with the plugin to support MariaDB v11 properly
  • Fixed a ConcurrentModificationException that could occur when saving locked map data, courtesy of @rafaelflromao (#140)
  • Added the ability to specify * in the blacklsited command list to block all commands during sync, courtesy of @kforbro (#138)
  • Fixed users inventory crafting slots not being cleared properly before a data sync (#153)

To update, just drag+drop. If you're using MariaDB v11, you should now specify MARIADB as your database type in config.yml.


2.2.5 Jun 9, 2023
HuskSync 2.2.5 - Bug fixes

HuskSync 2.2.5 fixes bugs and has been tested to work with Minecraft 1.20 on Spigot. What's coming next to HuskSync, you ask? I'm working on making various improvements to the internal way in which it handles asynchronous operations to improve stability with other plugins that make use of CompletableFutures.

  • Fixed an issue with player PersistentDataContainer synchronization where certain primitive data types would fail to be saved correctly (#118)
    • Please note PersistentDataContainer syncing is still considered an experimental feature
  • Fixed some string compare operations being locale-specific causing compatibility issues on some machines
  • Fixed an issue where the exception logger would fail to print a stacktrace, making debugging synchronization problems harder
  • Updated the Chinese (Traditional) locales, courtesy of @davgo0103 (#124)

To update from v2.2.4, you can just drag+drop. Songoda customers: Since the last release, Songoda has been renamed to Craftaro. Purchases were automatically moved to the new Craftaro site.


2.2.4 Mar 11, 2023
HuskSync 2.2.4 - Bug fixes, better keepInventory support

HuskSync 2.2.4 fixes a number of bugs present in the previous release and adds an option beneficial for setups using the keepInventory gamerule or plugins.

  • Added a new config option under the synchronization section: save_empty_drops_on_death
    • This option, which is enabled by default, can be set to false to stop user data snapshots from being created when a user dies and has dropped no items
    • Requires the save_on_death option to be on to be effective
    • This is beneficial for setups using keep inventory (#73)
  • Fixed an issue that would prevent servers from saving persistent data container tags correctly on shutdown
  • Fixed an issue where the update checker would erroneously report that an update was available
  • Renamed the save_dead_player_inventories option to synchronise_dead_players_changing_server to better reflect how it works.
  • Updated the German (de-de) locales, courtesy of @Ceddix (#101)

To update, you must regenerate your config, as a new option has been added and a key renamed. Be sure to update your config on all servers.


2.2.3 Feb 13, 2023
HuskSync 2.2.3 - Fixes & tweaks

HuskSync 2.2.3 contains more fixes and tweaks to improve your user's experiences.

  • Fixed an issue where players could interact with item frames during the locked synchronization process.
  • Fixed an issue where a ConcurrentModificationException could occur when fetching the user's PersistentDataContainer key mappings
  • Added a new config option (synchronisation.blacklisted_commands_while_locked)
    • This lets you blacklist certain commands to prevent them from being used during the locked synchronization process.
    • Useful for certain plugins, like auction house plugins
    • Empty by default

To update, just drag+drop.


2.2.2 Jan 10, 2023
HuskSync 2.2.2 - Hotfix

HuskSync 2.2.2 is a hotfix for an unchecked cast exception that appears on player locking logic that occurs when a drowned throws a trident.

  • Fixed an exception caused by an unchecked cast when a drowned throws a trident (#79)

There are no config or locale changes from v2.2.1. If you're updating from v2.1 or earlier, you will however need to regenerate your config file.


2.2.1 Jan 7, 2023
HuskSync 2.2.1 - Bug fixes
HuskSync 2.2.1 is a small bug fix update
  • Fixed an issue where a user could throw a trident while in a locked state, which could be picked up after synchronization completed
  • Fixed an issue that prevented items on the users' cursor when disconnecting from correctly dropping to the ground
  • Fixed an issue that meant the plugin could try and add citizens NPCs to the database
  • Simplified the logic in some areas, carrying out some miscellaneous refactor work.
    • The signature of the methods to get and set data to/from OnlineUser have changed.
    • These methods shouldn't be used by authors directly so this shouldn't affect any plugins (see the provided HuskSyncAPI methods to do this).
To update, just drag+drop. There are no config changes since v2.2 -- though note if you're upgrading from v2.1 or earlier you will need to regenerate your config file.

2.2 Jan 3, 2023
HuskSync 2.2 - Locked map syncing, priority control, toast notifications
Note: Due to an issue in v2.1.2 with the location of the MySQL username credential you will need to regenerate your config.yml file for this release and re-enter your database / redis connection details. Sorry about that!

HuskSync v2.2 adds beta support for synchronizing locked maps. Note this feature is in beta and disabled by default for now.

In addition to this, a number of other user experience improving features and tweaks have been made, such as the ability to display synchronization notifications in advancement toasts and customize the priorities of HuskSync's events.

  • Added the ability to synchronize locked map items (#65)
    • This only works on static locked maps; i.e. ones placed in a cartography table with a glass pane.
    • The pixels of locked maps are serialized to the item and then set when the player changes server.
    • Treasure maps are unsupported. This feature is in beta, so is disabled by default.
  • Added a display option to display synchronization notifications in the advancement toast slot (#68)
  • The priorities of the DEATH, JOIN and QUIT events can now be customised for better plugin compatibility (#61)
  • Fixed an issue that meant inventory and ender chest editing permission nodes weren't being properly respected
  • Fixed the MySQL Username database credentials being at the wrong path in config.yml
    • As a result, you will need to regenerate your config for this release
  • Fixed an issue that meant players weren't being properly locked on disconnect or server shutdown
  • Fixed an issue that meant items on player cursors weren't being cleared when updating their inventory
  • Fixed an issue that meant locked/unsynced players still had their data saved on the world save event or if they died
  • Fixed an issue that meant snapshots could go onto a second line due to long data save cause name IDs (#60)
  • Added additional error handling when setting player health and statistics to increase synchronization resilience of the system when bad values are set by other plugins
  • API: Added a method to get whether or not a player is currently "locked", courtesy of @emmanuelvlad (#75)

To update, drag+drop and be sure to regenerate your config and locales files. Thank you!

9334c5544a52d7c8639a2756a8f6d2818e90ef6b?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F31187453%2F210356389-6150f1dc-7665-4b66-b9d6-c54344265f72.png


2.1.2 Nov 13, 2022
HuskSync 2.1.2 - Bug fix

HuskSync v2.1.2 fixes an issue related to players losing items in rare cases at very low health point values when changing servers.

  • Fixed an issue where players would be incorrectly treated as dead at very low health point values

To update from v2.1.x, just drag+drop. For older versions, consult the previous changelogs.


2.1.1 Oct 26, 2022
HuskSync 2.1.1 - Locale updates, bug fix

HuskSync v2.1.1 is a minor update that fixes an issue with the inventory and ender chest viewer commands and updates the German and Italian locales.

  • Fixed a crash that could occur when using the /inventory or /enderchest commands as a result of futures blocking the main thread during join operations (#58)
  • Updated the German locales (de-de), courtesy of @Ceddix (#56)
  • Update the Italian locales (it-it), courtesy of @iVillager (#57)

To update, just drag+drop. Users running the German or Italian messages file may wish to regenerate their config file. No other config changes.


Page: 1 2