Page: 1 2

2.1 Oct 13, 2022
HuskSync 2.1 - Player death backups, data pagination, data dumps

HuskSync v2.1 makes a few quality-of-life improvements to the chat menu interface and adds some smaller requested features, such as the ability to create a data snapshot whenever a user dies.

  • Added a new option to create and rotate user data snapshots when a user dies
  • Added the ability to dump UserData snapshots to files or a web paste server in-game through a new /userdata dump command with a new permission node
  • The user data snapshot list for each user now presents snapshots in a paginated list for easier browsing and organisation
  • Improved error handling for rare DataSerialization exceptions
  • Significantly reduced the overheads of UserData storage through a modular approach, especially for servers which use less features
  • Improved the config handling system (via Annotaml)
  • Using the restore feature on snapshots that captured a dead user (<= 0 HP) will now restore them on half a heart
  • The latest Inventory and Ender Chest editor menus no longer update the user's current data when you close them even if you hadn't changed anything
  • The Ender Chest menu now supports Purpur's expanded inventory option and will dynamically resize beyond the three rows if necessary
  • Fixed it not being possible to creative-middle-click-clone item stacks from archived Inventory or Ender Chest menus that were uneditable
  • Updated the look of the about menu to match HuskHomes
  • Updated chat messaging logic to make use of the Adventure API via MineDown-adventure
  • Updated inventory handling to use TriumphGUI
  • API: Deprecated #getXData methods in the UserData class in favour of new #getX methods that return Optional<>s
  • API: Deprecated the full-fat constructor on the UserData class in favour of the new UserDataBuilder method

To update, regenerate your config and messages files (and don't forget to plug in your credentials and settings again!) and drag+drop the new jar file in.


2.0.2 Aug 21, 2022
HuskSync 2.0.2 - MariaDB comparability fix, rich command completions

185790659-0c4a22ea-ee86-4e40-83ee-47747507b3f9.png
HuskSync v2.0.2 fixes a compatibility issue with MariaDB caused by a race condition in user data ensuring and adds rich command syntax highlighting via commodore.

  • Added rich command syntax highlighting via commodore (see image)
  • Fixed an SQLIntegrityConstraintViolationException that would occur sometimes on MariaDB setups with large amounts of user data, caused by a race condition in ensuring the correct user data records were present (#40)
  • Fixed an issue that meant the legacy and MPDB data migrators would not accurately track migration progress.
  • Made the error that is logged when HuskSync fails to initialize larger and more obvious (#47)
  • Shrunk the jar file; the Jedis driver is now downloaded at runtime and boosted-yaml is now bundled in
  • Corrected the player persistent data container synchronization logic to fix various data types not synchronizing correctly
  • Added a config option to determine whether the plugin will synchronize dead player inventories; off by default (recommended for servers who want to use keepInventory)
  • Added Bulgarian (bg-bg) locales, courtesy of Pukejoy_1
  • API: Fixed an issue that prevented developers from being able to listen to HuskSync events

To update from HuskSync v2.0(.x), just drag+drop. Users upgrading from v1.x will need to follow the legacy migration documentation.


2.0.1 Jul 14, 2022
HuskSync 2.0.1 - Fixes & locale updates

HuskSync 2.0.1 fixes a few outstanding issues from the initial v2.0 release and updates the zh-tw (Traditional Chinese) locales.

  • Updated the Traditional Chinese (zh-tw) locale, courtesy of davgo0103
  • Tweaked the synchronization logic related to dead players; the plugin will now synchronize dead players correctly.
    • Fixed an IllegalArgumentException that could occur when synchronising a dead player (courtesy of HookWoods)
  • Fixed a crash that could occur in rare cases, caused by exceptional synchronous PlayerQuitEvent execution
  • Tweaked player event handling during player disconnections
  • Increased the maximum blob size in the MySQL Database schema (mediumblob --> longblob) to accommodate servers that utilize complex item tagging and metadata
  • Improved debug logging messages and exception handling when setting and saving player data

To update from HuskSync v2.0, just drag+drop. Users upgrading from v1.x will need to follow the legacy migration documentation.


2.0 Jul 12, 2022
HuskSync 2.0 - Rewrite, no more proxy plugin, data backups & more!

f4b2e4dc7136991b81beebef8251d0bdaf688991?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F31187453%2F178556994-7c6a3c76-e17c-44ee-b8dd-9d1894d0b791.png

⚠️ Upgrading from v1.x? Follow these steps!

HuskSync 2.0 is now available! This is a complete rewrite of the plugin that brings with it a myriad of new features, improvements & optimisations. Notably, you no longer need to install HuskSync as a proxy plugin as data is now cached directly via Redis keys.

New features

  • Data rotation! The plugin can now store multiple snapshots of user data per player and will automatically rotate them
    • You can restore, delete and pin user data. Peace of mind if something happens to go wrong.
    • You can configure how many snapshots to save
    • Commands: /userdata <view/list/delete/restore/pin>
  • New user data format, new database schema, improved data serialization using Gson and compression via Snappy
  • New, faster synchronisation system, utilising Redis key caching for optimal server switching
  • Added support for synchronising player PersistentDataContainers.
  • Added an integration that allows you to view user data on your Plan (Player Analytics) web panel if you have it installed
  • Added support for tweaking network latency on a per-server basis
  • API v2: There's an all-new and more comprehensive Developer API
    • Events have been renamed and repackaged, and there is also a new BukkitDataSaveEvent
    • Documentation now provides better walkthrough examples

Changes

  • HuskSync no longer requires a proxy plugin. You now only need to install it to your backend Spigot servers
  • /husksync invsee and /husksync echest have been moved into their own commands; /inventory <player> and /enderchest <player> respectively.
    • There are now less restrictions when using these commands
    • There are now permission nodes to restrict editing a player's latest data snapshot
  • The plugin permission nodes have changed. Check here for the new ones
  • SQLite is no longer supported. A MySQL Database is now required (although most people already used MySQL anyway)
  • Removed /husksync status (it is no longer neccessary)

Locales

  • Added a Brazillian Portugese translation (pt-br), courtesy of mateusneresrb
  • Added an Italian translation (it-it), courtesy of xF3d3
  • Updated the Spanish translation (es-es), courtesy of Melonzio
  • Updated the German translation (de-de), couretsy of Ceddix
  • Updated the Simplified Chinese translation (zh-cn), courtesy of DJelly4K
  • The plugin locales have changed. If you'd like to update the locales for your native language, please feel free to get in touch or submit a PR on GitHub

To update from 1.x, you need to follow these steps, including deleting your existing config and language files.
As mentioned, you no longer need to install HuskSync on your proxy.

The plugin documentation has been rewritten for v2.0 - please have a read!

HuskSync 2.0 supports Minecraft 1.16.5 - Minecraft 1.19.x

Thank you!


1.4.1 Jul 4, 2022
HuskSync 1.4.1 - Hotfix

HuskSync 1.4.1 fixes an exploit related to player death. Updating to this release is strongly encouraged.

  • Fixed an exploit where players could duplicate items in some cases by dying during the synchronization process.

To update, just drag+drop.

A note about the next release of HuskSync: HuskSync 2.0 is coming soon! This release will move away from requiring a proxy plugin, instead caching data via Redis keys. This will carry with it a new data format. It'll be much faster and will have new features such as creating and restoring backups of player data.


1.4 Jun 8, 2022
HuskSync 1.4 - 1.19, New locales, periodic data saving, bug fixes

84bd0ab830aba72fdbe0f2941b73bb628be9566e?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F31187453%2F172505507-3e3777a9-d923-460d-95d6-28502dd9b0a0.png

HuskSync 1.4 is now available and supports Minecraft 1.19.x, adds a number of new locales, saves player data on the WorldSaveEvent, introduces a number breaking API changes and fixes a number of minor issues.

  • Player data is now backed up to the central cache on the world save event (#21)
    • Can be turned off in the bukkit-side configs.
  • Native advancement synchronization is now off by default. Updated support for this may return in a future update, though of course the spigot API advancement sync will still work fine.
  • Added a number of new plugin locales - thank you to everyone who contributed new translations:
    • German (de-de), courtesy of Ceddix (#19)
    • Traditional Chinese (zh-tw), courtesy of davgo0103 (#23)
    • Simplified Chinese (zh-cn), courtesy of ghost-chu (#24)
    • Ukrainian (uk-ua), courtesy of Thourgard (#29)
  • Fixed a health synchronization compatibility issue with Combatlogx (#25)
  • Moved a few expensive deserialization options off the main thread. Thanks to everyone for their reports and assistance in tracking performance bottlenecks down.
  • There's a new config option for modifying the synchronization_timeout_retry_delay. This can be used to modify how long until HuskSync retries a data request if it fails. Don't mess with this if you don't know what you're doing!
  • API: The HuskSync API has been notably refactored. API integrations developed for HuskSync 1.3.2 are not compatible with 1.4 API. Sorry for the inconvenience, though it should be relatively simple to update.
    • Packages have been refactored: me.william278.husksync.* --> net.william278.husksync.*
    • Internally, the plugin module scheme has changed; events are now included in the bukkit module.
    • The timestamp of when PlayerData was last created/updated is now exposed through PlayerData#getDataTimestamp()
    • Fixed PlayerData not being included in the API.
    • The API is still available via Jitpack, check the README for details.

To update, just drag+drop - though please consult your developers if you have custom API integrations. They'll need to be updated. Once again, sorry for that inconvenience.
Enjoy the update - and the 1.19 Wild Update!


1.3.2 Feb 16, 2022
HuskSync 1.3.2 - New languages & fixes

HuskSync 1.3.2 adds Japanese and Spanish language support and makes a number of fixes, tweaks and improvements.

  • Added Japanese (ja-jp) locales courtesy of Namiu/うにたろう (#17)
  • Added Spanish (es-es) locales courtesy of anchelthe
  • Improved the way libraries are shaded and refactored build script courtesy of HarvelsX (#16)
  • Tweaked event priorities on BungeeCord to prevent slow event operations causing synchronization issues.
  • Fixed the current timestamp being inserted into MySQL being incorrectly set
  • Reworked the Redis listener to fix an issue that could cause EndOfStreamExceptions in certain circumstances
  • Bumped bStats dependency

Important: Recent builds of Paper implement new API for player profile data, but this caused issues when trying to serialize player head data, breaking HuskSync. This has been fixed in the most recent builds (#195+).

To update, just drag+drop.


1.3.1 Jan 21, 2022
HuskSync 1.3.1 - Bug fixes & improvements

HuskSync 1.3.1 fixes a few rare issues that could occur on certain setups and makes a few optimizations with connecting to Redis.

  • Updated HikariCP to 5.0.1 to fix an issue where the database connection pool could be drained in rare circumstances.
  • Updated the way Redis connections are established via Jedis
    • Updated the Jedis dependency to 4.0.1
    • A connection pooling setup is now utilized to enable a more optimal retrieval of connections.
    • Added a config option to allow you to connect to Redis servers via SSL

To update, just drag+drop. The new use_ssl config option should appear under redis_settings in the config files of both the proxy and spigot servers.


1.3 Jan 7, 2022
HuskSync 1.3 - Native advancement synchronization, API overhaul

HuskSync 1.3 introduces a native implementation for advancement synchronization that means advancements will more accurately sync advancement data and no longer display duplicate toasts in the top right corner of the screen when changing servers. It also includes significant improvements to the API allowing developers to fetch user data.

  • Added native advancement synchronization (on by default)
    • Fixes duplicate toasts and award sounds appearing when changing servers.
    • Can be toggled as a config option in the HuskSync config file on Spigot servers.
    • Fixes advancement award dates not synchronizing correctly.
    • Uses reflection to hook into NMS classes as the Spigot API doesn't offer advanced advancement data setting options.
    • Works with 1.17+
  • Fixed an issue with relocation on bStats.
  • API: Added a new API entrypoint class that provides methods for retrieving and updating PlayerData, HuskSyncAPI.
    • Get an instance using #getInstance();
  • API: HuskSync's DataSerializer class that provides static methods for serializing and deserializing data stored as PlayerData is now available as part of the API.
  • API: The API events have moved and are now located under me.william278.husksync.bukkit.api.events
  • API: Javadocs are now available and the API can now be retrieved from Jitpack. Please see the README for more details.

To update, you can just drag+drop! If you're on 1.16 still, then you may be prompted with a warning that native advancement synchronization is not supported for your version. To fix this, just disable native_advancement_synchronization in your HuskSync Spigot config.yml files.


1.2.2 Dec 24, 2021
HuskSync 1.2.2 - Hotfix
HuskSync 1.2.2 fixes a Redis authentication issue with 1.2.1

• Fix redis authentication issue

To upload, just drag+drop. Happy holidays.

1.2.1 Dec 23, 2021
HuskSync 1.2.1 - Hotfix
HuskSync 1.2.1 fixes an issue with the MySQL driver on velocity.

• Fixed the MySQL connection failing to initialize on velocity

To update, just drag+drop.

1.2 Dec 17, 2021
HuskSync 1.2 - Velocity support
HuskSync 1.2 adds support for Velocity proxies.
Velocity is a proxy server similar to BungeeCord but a completely different project, built from the ground up. It is currently being maintained by the Paper team, who have announced that Waterfall will be discontinued in favor of it.
Installation and configuration on Velocity is exactly the same as on BungeeCord-based proxies.

• Added support for Velocity proxies
- Metrics have been added for HuskSync (Velocity), too, which you can find here.
- As with BungeeCord, installation involves starting the proxy (and spigot servers) with the plugin, filling in the Redis and optionally MySQL credentials, then restarting the server.
• Added option to independently enable/disable synchronicity of creative flight
• Miscellaneous code refactoring and performance improvements

The new option to enable/disable creative flight will be added to the config files on your spigot servers. It is off by default.
Oh, and have a Merry Christmas / Happy Holidays! I need a rest :D

1.1.2 Dec 2, 2021
HuskSync 1.1.2 - Hotfix
HuskSync 1.1.2 is a hotfix update that corrects an issue preventing the MySQLPlayerDataBridge migrator from working.

• Fixed NullPointerException that occurred preventing the MPDB migrator from starting

No config changes. To update, just drag+drop.

1.1.1 Nov 29, 2021
HuskSync 1.1.1 - Hotfix
HuskSync 1.1.1 is a small hotfix update that fixes an issue in v1.1 for SQLite users.

• Fixed data not being loaded from SQLite correctly.

To update, simply drag+drop.

1.1 Nov 28, 2021
HuskSync 1.1 - 1.18 and Multi-cluster support
HuskSync 1.1 adds support for having multiple clusters of synced servers on the same BungeeCord network and fixes an issue with max health syncing. It also brings compatibility for Minecraft 1.18

• Added multi-cluster support; you can now define "clusters" on the proxy server and then specify which cluster each spigot server is connected to in spigot configs.
- For example, if you wanted to have a network with two skyblock servers and two survival servers, you could create a "survival" and "skyblock" cluster, with survival servers set to be on the "survival" cluster and skyblock servers on the "skyblock" cluster.
- Clusters create new database tables and optionally can be on a different database if you wish.
• Support for Minecraft 1.18.x
• Fixed maximum health synchronization failing with an IllegalArgumentException
• Fixed IllegalPluginAccessException on Bukkit server closure caused by illegal registration of redis listener task

To update from 1.0.x, you just need to drag+drop. Your config file should be automatically upgraded.

1.0.3 Oct 28, 2021
HuskSync 1.0.3 - Hotfix
HuskSync 1.0.3 fixes a few issues present in the launch versions of the plugin

• Fixed an EOFException that occurred when synchronizing players without any active potion effects
• Fixed inconsistencies with the synchronization of player's max health attributes

To update, simply drag+drop.

1.0.2 Oct 27, 2021
HuskSync 1.0.2
HuskSync 1.0.2 replaces some proprietary data serialization code with my own to fix a copyright issue.

To update, please drag+drop.

1.0.1 Oct 26, 2021
HuskSync 1.0.1 - Update checker
HuskSync 1.0.1 adds an update checker (/husksync update) and fixes bugs.

• Added an update checker (/husksync update) and the plugin will now automatically check for updates on startup.
- To disable this, set check_for_updates to false in the config.yml of HuskSync on your proxy and spigot servers.
• Fixed a harmless ConcurrentModifciationException sometimes appearing during migration from MySQLPlayerDataBridge
• Fixed experience progress not synchronizing correctly.

To update, just drag+drop. You must update HuskSync on both your proxy server and spigot servers.

1.0 Oct 25, 2021

Page: 1 2