Commit Graph

360 Commits (f0574527b927b8f1e39be568ff6a999f7661f8a5)

Author SHA1 Message Date
dependabot[bot] 73de0ff392
deps: bump commons-io:commons-io from 2.15.1 to 2.16.0 (#266)
Bumps commons-io:commons-io from 2.15.1 to 2.16.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8 months ago
dependabot[bot] ccd7601a0e
deps: bump org.projectlombok:lombok from 1.18.30 to 1.18.32 (#264)
Bumps [org.projectlombok:lombok](https://github.com/projectlombok/lombok) from 1.18.30 to 1.18.32.
- [Changelog](https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown)
- [Commits](https://github.com/projectlombok/lombok/compare/v1.18.30...v1.18.32)

---
updated-dependencies:
- dependency-name: org.projectlombok:lombok
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8 months ago
dependabot[bot] aa1e8b8e95
deps: bump com.google.guava:guava from 33.0.0-jre to 33.1.0-jre (#260)
Bumps [com.google.guava:guava](https://github.com/google/guava) from 33.0.0-jre to 33.1.0-jre.
- [Release notes](https://github.com/google/guava/releases)
- [Commits](https://github.com/google/guava/commits)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8 months ago
William 93ab25bf44
deps: target ConfigLib on Maven Central 8 months ago
Preva1l 4c0addfd67
feat: PostgreSQL, Mongo Atlas & Replica Support (#255)
* Started impl for mongo

* added docs

* refactor of the mongo code, made mongodb artifacts download at run time, tested and working

* complete all change requests

* remove mongo and bson from relocations as they arnt needed

* changed the config

* updated docs

* not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null

* added postgres support (closes https://github.com/WiIIiam278/HuskSync/issues/212)

* add support for mongodb atlas, added atlas and postrgres to docs, update the config example in docs, also updates mongodb driver bc apparently i was special and very very out of data

* Rework how mongo connections are handled, **breaks config for mongo only**, allows for MongoDB Atlas, normal MongoDb AND MongoDB replica sets via the parameters in advanced mongo settings, added try and catch on all mongo operations so that it actually throws instead of a cutsie little warning

* small doc change

* whoops forgot to instantiate MongoCollectionHelper, and added missing step from docs for atlas users

* why thats a tad embarrassing (grammar mistake)

* add cluster id to `/husksync status`, shows "MongoDB Atlas" in status if using mongodb atlas

---------

Co-authored-by: William <will27528@gmail.com>
8 months ago
dependabot[bot] 501ea3f609
deps: bump org.json:json from 20240205 to 20240303 (#254)
Bumps [org.json:json](https://github.com/douglascrockford/JSON-java) from 20240205 to 20240303.
- [Release notes](https://github.com/douglascrockford/JSON-java/releases)
- [Changelog](https://github.com/stleary/JSON-java/blob/master/docs/RELEASES.md)
- [Commits](https://github.com/douglascrockford/JSON-java/commits)

---
updated-dependencies:
- dependency-name: org.json:json
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9 months ago
William278 48f7037898 fix: update license headers 9 months ago
Preva1l 67dddf0cfa
feat: Add support for MongoDB data storage (#250)
* Started impl for mongo

* added docs

* refactor of the mongo code, made mongodb artifacts download at run time, tested and working

* complete all change requests

* remove mongo and bson from relocations as they arnt needed

* changed the config

* updated docs

* not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null

---------

Co-authored-by: William <will27528@gmail.com>
9 months ago
William eeb5e57c1e
fix: shutdown not clearing cached data 9 months ago
dependabot[bot] 5a6ea2cffe
deps: bump com.github.Exlll.ConfigLib:configlib-yaml (#251)
Bumps [com.github.Exlll.ConfigLib:configlib-yaml](https://github.com/Exlll/ConfigLib) from v4.4.0 to v4.5.0.
- [Release notes](https://github.com/Exlll/ConfigLib/releases)
- [Commits](https://github.com/Exlll/ConfigLib/compare/v4.4.0...v4.5.0)

---
updated-dependencies:
- dependency-name: com.github.Exlll.ConfigLib:configlib-yaml
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9 months ago
dependabot[bot] 07ddd34f8e
deps: bump net.kyori:adventure-api from 4.15.0 to 4.16.0 (#252)
Bumps [net.kyori:adventure-api](https://github.com/KyoriPowered/adventure) from 4.15.0 to 4.16.0.
- [Release notes](https://github.com/KyoriPowered/adventure/releases)
- [Commits](https://github.com/KyoriPowered/adventure/compare/v4.15.0...v4.16.0)

---
updated-dependencies:
- dependency-name: net.kyori:adventure-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
9 months ago
William 6fbef032bc
locales: update zh-tw by lin_ak90 9 months ago
William 318aacd432
refactor: minor tidy up 9 months ago
Timon Michel ba1b2ff62e
fix: improve event cancellation logic for better plugin compat (#246) 9 months ago
William278 67ef4888da fix: death save updating player 9 months ago
William278 a5d3015c6e feat: allow customizable save / update causes 9 months ago
William278 131a364f53 fix: cache not cleared on `/userdata delete`, close #245 9 months ago
William 19636d9447
refactor: optimize imports 10 months ago
William f803a0b57b
refactor: revert `keys` change 10 months ago
William 28afffe95e
refactor/redis: use `scan` instead of `keys` 10 months ago
dependabot[bot] c7e100a78a
deps: bump org.json:json from 20231013 to 20240205 (#244)
Bumps [org.json:json](https://github.com/douglascrockford/JSON-java) from 20231013 to 20240205.
- [Release notes](https://github.com/douglascrockford/JSON-java/releases)
- [Changelog](https://github.com/stleary/JSON-java/blob/master/docs/RELEASES.md)
- [Commits](https://github.com/douglascrockford/JSON-java/commits)

---
updated-dependencies:
- dependency-name: org.json:json
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
10 months ago
William 12e223618d
refactor: data save event order processing, use new method in DataSyncer (#243)
* fix: fire DataSaveEvent before disconnect

* fix: revert rename `addSnapshot`

* docs: mention `addSnapshot` firing the API event

* refactor: use DataSyncer method for event saving, close #242

* fix: trailing semicolon
10 months ago
William e580c4f2bd
fix: LOCKSTEP preventing offline inv updates, close #229 10 months ago
William fa7f6f0d6e
fix: exception when reading server defaults 10 months ago
William 267cf1ff35
fix: wrong URL on startup exception 10 months ago
William 08944ffd35
refactor: update a few config comments 10 months ago
William c75114b858
deps: bump ConfigLib to 4.3.0 10 months ago
William 350a8b864d
fix: bad ConfigProvider logic 10 months ago
William278 df0bd7a7cb refactor: actually don't use lombok for API just yet 10 months ago
William278 9fc9e8caf4 refactor: use lombok in a few other places 10 months ago
William278 2e3db2fffa refactor: use Guava methods in various places 10 months ago
William 530b3ef24d
refactor: Migrate from BoostedYaml to Exll's ConfigLib (#233)
* feat: start work on moving to Exll's configlib

* refactor: Fully migrate to Exlll's configlib

* refactor: Optimize imports
10 months ago
William278 85706d97c5 refactor: move `unregister` to common API module 10 months ago
William278 685431a40d api: add cross-platform API support 10 months ago
William278 280e90e297 refactor: use guard clause in thread unlock logic 10 months ago
Rubén 31920d056d
refactor: Reconnect to Redis when connection lost (#230)
* Add redis reconnection

* Add separated method to handle thread unlock

* Add reconnection time constant
10 months ago
William278 6641e11fd9 fix: high latency redis environments firing data updates twice 10 months ago
William278 66bbde0b5d command: update translator credits in AboutMenu 10 months ago
WinTone01 7dde6423e4
Update tr-tr.yml (#228) 10 months ago
William278 0eac12e3f8 locales: Add id-id, courtesy of Wirayuda5620 10 months ago
Wirayuda5620 5df58e4ef9
Update HuskSyncCommand.java AboutMenu
hehe 😋
10 months ago
Wirayuda5620 4a6583d8bd
Indonesian translation for HuskSync 10 months ago
jhqwqmc 059ee6f660
locales: Update zh-cn.yml (#224)
Correction
11 months ago
William bf9f29ffe9
refactor: Improve display of `/husksync status` 11 months ago
William 29bd2e1319
feat: Add `/husksync status` report menu 11 months ago
William 237abf9698
deps: bump adventure-platform to 4.3.2 11 months ago
William adbc264532
Merge remote-tracking branch 'origin/master' 11 months ago
jhqwqmc f9cfec7d03
Update zh-cn.yml (#220) 11 months ago
William d4f61bd646
refactor: catch `Throwable`, not `Exception` 11 months ago
William 9cf6d1eab6
refactor: change default sync mode to `LOCKSTEP` 11 months ago
William 33c2eb2237
refactor: Use cloud `☁` for server for HuskHomes consistency 11 months ago
William 299586aa86
refactor: Rename `DATA_UPDATE` -> `LATEST_SNAPSHOT` 11 months ago
William 05c988f2c7
refactor: Extend `DATA_UPDATE` Redis cache time on `LOCKSTEP` mode 11 months ago
William 8e0ad76968
refactor: Improve `getUserCheckedOut` debug log 11 months ago
William 4db162e78f
refactor: Even more minor debug logging tweaks 11 months ago
William 272bc1278a
refactor: More minor debug logging tweaks 11 months ago
William 35fdcf7106
refactor: Further improve debug log messages 11 months ago
William 48e087a3d7
refactor: Improve debug log wording for `getUserCheckedOut` 11 months ago
William ca000197e4
refactor: Further improvements to debug messages 11 months ago
William a6bab88cee
refactor: Add debug log for `listenForRedis` timeout 11 months ago
William f0c64df439
refactor: Improve debug logging messages 11 months ago
William ac5ab56717
fix: Don't wrap `saveUserData` in `runAsync` twice 11 months ago
William 4c2bb5c6df
fix: Get correct platform Audience for OnlineUsers 11 months ago
William fb069296e1
refactor: Use native adventure implementation on Paper 11 months ago
Roman Alexander 22eedc8522
feat: Add support for Redis Sentinels (#216)
* Add support for Redis Sentinels

* Add some comments
11 months ago
William278 5ec0f1b098 Support MC 1.20.4, improve timestamp exceptions 12 months ago
William 83e27cca83
locales: Add Korean (ko-kr) courtesy of cada3141 12 months ago
Joo200 029407613f
locales: add new localization to de-de (#215) 12 months ago
Daniil Nartsissov 3d6ff7c30b
Save cause localization support (#214) 12 months ago
Daniil Nartsissov 5833ce955f
locales: add ru-ru localization (#211) 12 months ago
dependabot[bot] b3a5091828
Bump commons-io:commons-io from 2.15.0 to 2.15.1 (#209)
Bumps commons-io:commons-io from 2.15.0 to 2.15.1.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: William <will27528@gmail.com>
12 months ago
dependabot[bot] 5d1bd7c3a9
Bump org.jetbrains:annotations from 24.0.1 to 24.1.0 (#208)
Bumps [org.jetbrains:annotations](https://github.com/JetBrains/java-annotations) from 24.0.1 to 24.1.0.
- [Release notes](https://github.com/JetBrains/java-annotations/releases)
- [Changelog](https://github.com/JetBrains/java-annotations/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JetBrains/java-annotations/compare/24.0.1...24.1.0)

---
updated-dependencies:
- dependency-name: org.jetbrains:annotations
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
WinTone01 7b8c75dbeb
Create tr-tr.yml (#207) 1 year ago
dependabot[bot] c973dc5f05
Bump com.zaxxer:HikariCP from 5.0.1 to 5.1.0 (#199)
Bumps [com.zaxxer:HikariCP](https://github.com/brettwooldridge/HikariCP) from 5.0.1 to 5.1.0.
- [Changelog](https://github.com/brettwooldridge/HikariCP/blob/dev/CHANGES)
- [Commits](https://github.com/brettwooldridge/HikariCP/compare/HikariCP-5.0.1...HikariCP-5.1.0)

---
updated-dependencies:
- dependency-name: com.zaxxer:HikariCP
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
Ceddix c09fde4c36
Update German (de-de) locales, fix broken link in README (#196)
* updated the locales url

* updated German translation
1 year ago
dependabot[bot] 8d3beab145
Bump commons-io:commons-io from 2.14.0 to 2.15.0 (#193)
Bumps commons-io:commons-io from 2.14.0 to 2.15.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] cdf666bde6
Bump org.apache.commons:commons-text from 1.10.0 to 1.11.0 (#194)
Bumps org.apache.commons:commons-text from 1.10.0 to 1.11.0.

---
updated-dependencies:
- dependency-name: org.apache.commons:commons-text
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
dependabot[bot] 93913ca4ef
Bump org.json:json from 20230618 to 20231013 (#187)
Bumps [org.json:json](https://github.com/douglascrockford/JSON-java) from 20230618 to 20231013.
- [Release notes](https://github.com/douglascrockford/JSON-java/releases)
- [Changelog](https://github.com/stleary/JSON-java/blob/master/docs/RELEASES.md)
- [Commits](https://github.com/douglascrockford/JSON-java/commits)

---
updated-dependencies:
- dependency-name: org.json:json
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 year ago
Missing_Love 6fc827dedf
Update zh-cn.yml (#184) 1 year ago
Missing_Love b8aa1d9701
Update zh-cn.yml (#183)
Update Chinese Simplified Translation
1 year ago
William 51116cbdfb
docs: Minor updates to links/legacy migration 1 year ago
William 289227e763
locales: Remove redundant comments in Japanese 1 year ago
William 3b8a9e4ed1
locales: Fix Dutch filename 1 year ago
William 7db3ed678f
Paper plugin support, save player itemsToKeep rather than drops if not empty (#179)
* Paper plugin support, save itemsToKeep if present, close #172

* Fixup wrong packages, suppress a warning

* Update docs, add settings for death saving, reorganise config slightly

* Improve default server name lookup

* docs: Add note on Unsupported Versions

* docs: Minor Sync Modes tweaks
1 year ago
William cae17f6e68
Introduce new lockstep syncing system, modularize sync modes (#178)
* Start work on modular sync systems

* Add experimental lockstep sync system, close #69

* Refactor RedisMessageType enum

* Fixup lockstep syncing

* Bump to 3.1

* Update docs with details about the new Sync Modes

* Sync mode config key is `mode` instead of `type`

* Add server to data snapshot overview

* API: Add API for setting data syncers

* Fixup weird statistic matching logic
1 year ago
Arno Keesman c2b9e6c932
add Dutch translation (#176) 1 year ago
dependabot[bot] 518853c921
Bump commons-io:commons-io from 2.13.0 to 2.14.0 (#174)
Bumps commons-io:commons-io from 2.13.0 to 2.14.0.

---
updated-dependencies:
- dependency-name: commons-io:commons-io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: William <will27528@gmail.com>
1 year ago
Namiu/うにたろう 37a671dae9
Update ja-jp.yml (#170) 1 year ago
William 55e443cd49
Improve error handling on data sync 1 year ago
William 575122e6dd
Tweak max health syncing calculation, add config option 1 year ago
William 856cbb9caa
Allow conversion of v1-v3 data snapshots 1 year ago
William 7034a97d3a
Fix wrong timestamp/UUID being used for legacy conversion (#167)
* Maintain legacy snapshot IDs when updating

* Also maintain timestamps during conversion

* Actually implement timestamp fix in LegacyConverter
1 year ago
William 635edb930f
Fix wrong syntax message on `/userdata restore`, Close #166 1 year ago
Villag3r_ 7c9ac37eb7
Update it-it.yml (#163) 1 year ago
William 105f65c93a
v3.0: New modular, more compatible data format, new API, better UX (#160)
* Start work on v3

* More work on task scheduling

* Add comment to notification display slot

* Synchronise branches

* Use new HuskHomes-style task system

* Bump to 2.3

* Remove HuskSyncInitializationException.java

* Optimise database for MariaDB

* Update libraries, move some around

* Tweak command registration

* Remove dummyhusksync

* Fixup core synchronisation logic to use new task system

* Implement new event dispatch subsystem

* Remove last remaining future calls

* Remove `Event#fire()`

* Refactor startup process

* New command subsystem, more initialization improvements, locale fixes

* Update docs, tweak command perms

* Reduce task number during data setting

* add todo

* Start work on data format / serialization refactor

* More work on Bukkit impl

* More serialization work

* Fixes to serialization, data preview system

* Start legacy conversion skeleton

* Handle setting empty inventories

* Start on-the-fly legacy conversion work

* Add advancement conversion

* Rewrite advancement get / apply logic

* Start work on locked map persistence

* More map persistence work

* More work on map serialization

* Move around persistence logic

* Add testing suite

* Fix item synchronisation

* Finalize more reliable locked map persistence

* Remove deprecated method call

* remove sync feature enum

* Fix held item slot syncing

* Make data types modular and API-extensible

* Remove some excessive debugging, minor refactor

* Fixup date formatting, improve menu UIs

* Finish up legacy data converting

* Null safety in item stack serializaiton

* Fix relocation of nbtapi, update dumping docs

* Add v1/MPDB Migrators back in

* Fix pinning/unpinning data not working

* Consumer instead of Function for editing data

* Show file size in DataSnapshotOverview

* Fix getIdentifier always returning empty

* Re-add items and inventory GUI commands

* Improve config file, fixup data restoration

* Add min time between backups (more useful backups!)

* More work on backups

* Fixup backup rotation frequency

* Remove stdout debug print in `#getEventPriority`

* Improve sync complete locale logic, fix synchronization spelling

* Remove `static` on exception

* Use dedicated thread for Redis, properly unsubscribe

* Refactor `player` package -> `user`

* `PlayerDataHolder` -> `UserDataHolder`

* Make `StatisticsMap` public, but `@ApiStatus.Internal`

* Suppress unused warnings on `Data`

* Add option to disable Plan hook

* Decompress legacy data before converting

* Decompress bytes in fromBytes

* Check permission node before serving TAB suggestions

* Actually convert legacy item stack data

* Fix syntax errors

* Minor method refactor in items command

* Fixup case-sensitive parsing in HuskSync command

* Start API work

* More work on API, fix potion effects

* Fix cross-server, config formatting for auto-pinned issue

* Fix confusion with UserData command, update docs images

* Update commands docs

* More docs updating

* Fix sync feature enabled/disabled checking logic

* Fix `#isCustom()`

* Enable persistent_data syncing by default

* docs: update Sync-Features config snippet

* docs: correct typo in Sync Features

* More API work

* bukkit: slightly optimized schedulers

* More API work, various refactorings

* docs: Start new API docs

* bump dependencies

* Add some basic unit tests

* docs: Correct typos

* More docs work, annotate DB methods as `@Blocking`

* Encapsulate `RedisMessage`, minor optimisations

* api: Simplify `#getCurrentData`

* api: Simplify `editCurrentData`, using `ThrowingConsumers` for better error handling

* docs: More Data Snapshot API documenting

* docs: add TOC to Data Snapshot API page

* bukkit: Make data types extend BukkitData

* Move where custom data is stored, finish up Custom Data API docs

* Optimise imports

* Fix `data_manager_advancements_preview_remaining` locale

* Fix advancement and playtime previews

* Fix potion effect deserialization

* Make snapshot_backup_frequency default to 4, more error handling/logging

* docs: Add ToC to Custom Data API

* docs: Minor legacy API tweaks

* Remove some unneeded catch logic

* Suppress a few warnings

* Fix Effect constructor being supplied in wrong order
1 year ago
William 9018ad02e1
settings: Fix wrong comment 1 year ago
William 62095364ce
2.2.8: Explicitly specify MariaDB Driver class name 1 year ago
William b73de81519
Add missing Maria schema 1 year ago
William 12e882fe22
v2.2.6: Crafting inventory safety, Maria v11 support (#153)
* Clear player inventory crafting slots on sync

* Bundle Maria driver for v11 support
1 year ago
Joo200 97ad608d56
Add mariadb protocol option type (#145)
Co-authored-by: William <will27528@gmail.com>
1 year ago