Tags
Creators
Details
All versions
1.4.2
Beta
Aurelium 1.4.27 months ago 578
Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Paper
Purpur
Changes
v1.4.2 - Security & Performance Hardening
This update is mandatory for all servers using the web dashboard.
Security
- Session tokens for the web dashboard now use cryptographically secure
SecureRandom(256-bit entropy) instead ofUUID.randomUUID()(122-bit), preventing potential token prediction attacks - Added explanatory comments to
CloudSyncManagerfor exceptions that are safely ignored
Performance
- Cloud dashboard registration retries no longer block a
ForkJoinPoolthread for 15 seconds between attempts, replacedThread.sleep(15_000)with Bukkit's non-blockingrunTaskLaterAsynchronouslyscheduler - Offline earnings cleanup now uses a single bulk
DELETESQL query instead of N+1 individual queries when a player joins, significantly reducing database load on servers with many offline earnings records
Fixes
- Added proper exception logging to previously empty
catchblocks inShopGUIandCloudSyncManager, making debugging much easier - Fixed a bug in
ShopGUIwheretargetwas used instead ofclickerfor certain player interactions - BungeeCord/Velocity Sync: Fixed a major bug where player balances could stay "stale" when switching servers due to permanent RAM caching. Player data is now refreshed from MySQL immediately upon joining a new server instance.
Internal
- Bumped version in
pom.xmlto1.4.2to ensure consistent builds across Maven and Gradle. - Updated
README.mdto clarify that MySQL is mandatory for cross-server synchronization and that Market Prices remain per-server for regional economy support.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:LJ9k5olE:TykPzDV6"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:LJ9k5olE:TykPzDV6"
}

