Commit Graph

21 Commits

Author SHA1 Message Date
laforetbrut
59bd884263 perf: zero JDBC on server thread + HikariCP + parallel shutdown + audit fixes
- Migrate connection pool from manual LinkedBlockingQueue to HikariCP
  (eliminates isValid() ping on every query visible in Spark profiler)
- Move ALL DB writes off server thread: logout uses snapshot+async+latch,
  shutdown uses snapshot+CompletableFuture.allOf for parallel saves
- Pre-read curios/accessories/cosmeticarmor/attachments on background
  thread during login (4-7 fewer DB queries on main thread per login)
- Auto-save interval increased to 5 minutes
- Fix pool shutdown ordering: shutdownPool() now runs AFTER all shutdown
  saves complete (previously could fire before, silently losing all data)
- Fix connection leak in executeQuery/executePreparedQuery when
  prepareStatement throws (leaked connections exhaust HikariCP pool)
- Fix duplication bug: saveStorageContents guard used nbt.size()<=1 which
  blocked legitimately emptied backpacks from saving to DB
- Fix stale SaveToFile overwriting logout: check playerLocks.containsKey
  before writing to prevent stale background task from regressing data
- Remove LIMIT 1000 on startup online=0 reset (could leave players stuck)
- Add executorService.shutdown() on server stop to prevent JVM hang
- Add apply methods (applyCuriosFromData, applyAccessoriesFromData, etc.)
  to separate entity writes from DB reads for thread-safe restore
- Add UUID collectors (collectBackpackUuids, collectSSUuids) and
  background save methods for snapshot+async logout/shutdown pattern
2026-03-29 18:58:27 +02:00
mlus
38c88a95f9 fix #151
fix #160
2026-01-14 20:26:26 +08:00
mlus
62b0cf15bc chat sync reconnect system 2025-10-14 16:55:24 +08:00
mlus
fc043e1e03 half done, noticed about advancement can't store normally 2025-06-07 00:55:30 +08:00
mlus
3b442fbee1 not done yet 2025-06-06 21:17:22 +08:00
mlus
79e0e2cbe4 Fix error when no player in server 2025-06-06 13:09:32 +08:00
mlus
0562b01138 Full tested ChatSync Feature 2025-06-05 12:43:41 +08:00
EoD
9eb8bdc4a0 add support for Minecraft 1.20.4 with ModDevGradle 2025-05-04 18:43:11 +00:00
EoD
9f256df298 bump version to 2.1.0 2025-05-04 16:48:57 +00:00
EoD
20e1759b46 bump mod version to 2.0.0 2025-05-03 16:30:01 +00:00
EoD
033c2b8348 use jarJar to embed the JDBC driver
This does not cause conflicts with other mods that do the same and it
reduces the dependency on the "jdbc mods" that are out there.
2025-05-02 22:40:39 +00:00
EoD
8869e26f48 migrate from ForgeGradle to ModDevGradle legacy 2025-05-02 22:40:39 +00:00
EoD
086374eeb1 bump gradlew and update mod config 2025-04-23 22:10:48 +00:00
mlus
a7f1373713 1.3.5 release 2025-03-21 19:42:08 +08:00
mlus
e22b21c826 Update left_hand and cursor stack sync 2024-10-11 13:25:33 +08:00
mlus
14686a930f build fix 2024-08-04 14:26:01 +08:00
mlus
37218c4c58 fixed #16 2024-05-03 16:14:21 +08:00
mlus
acfb377cee update curios API 2024-04-16 23:50:29 +08:00
mlus
b3352fde51 1.3.0 update 2024-02-11 17:34:19 +08:00
mlus-Asuka
d32ae52537 update 1.2.1 2023-09-29 16:50:26 +08:00
mlus-Asuka
ef153d26c3 Initial commit 2022-12-08 16:59:20 +08:00