File Details
EliteEssentials-2.0.7.jar
- R
- May 4, 2026
- 19.46 MB
- 583
- Early Access
File Name
EliteEssentials-2.0.7.jar
Supported Versions
- Early Access
2.0.7 - 2026-05-03
<span style="color:#E03E2D;">IMPORTANT: If you were using H2 storage and have NOT yet run version 2.0.6, you MUST install and run 2.0.6 first before updating to this version. Version 2.0.6 contains the automatic H2-to-SQLite migration that runs on startup. Starting with 2.0.7, H2 support and the migration code have been fully removed. If you skip 2.0.6, your H2 data will not be migrated and the plugin will fall back to JSON storage with no data. JSON and MySQL users are not affected.</span>
Removed
- H2 database engine fully removed - H2 has been completely removed from the plugin. The H2-to-SQLite migration bridge from 2.0.6 is no longer included. Servers that still have
"h2"in their config.json will see a clear error on startup and fall back to JSON storage safely. Supported storage backends are now JSON, SQLite, and MySQL only. If you were using H2, you should have run 2.0.6 first to migrate your data to SQLite automatically
Changed
- Shadow relocation for SQLite JDBC loader - the SQLite loader package (
org.xerial) is now relocated undercom.eliteessentials.libsin the shaded JAR, matching the existing pattern for Gson, HikariCP, SLF4J, and MySQL. The coreorg.sqlitepackage is intentionally not relocated because SQLite JDBC uses JNI native libraries that call back into Java viaClass.forName("org.sqlite.core.NativeDB"); relocating it causes aNoClassDefFoundErrorat runtime
Fixed
- Vanished players unable to chat - when a player was in vanish, their chat messages were silently dropped by the Hytale engine's HiddenPlayersManager filtering, making them invisible to all other players. This affected both the default engine chat path (when chat formatting is disabled) and could affect group chat channels. The chat system now detects vanished senders and bypasses the engine's hidden-player filter by cancelling the native event and rebroadcasting the message directly via
sendMessage(). When chat formatting is enabled, the existing manual broadcast already bypasses the filter. When chat formatting is disabled, a new minimal listener intercepts only vanished players' messages and rebroadcasts them. A new config optionvanish.hideChat(defaultfalse) is available for servers that do want vanished players' messages hidden from non-admins /kitinfinite claim exploit when PlayerReadyEvent fails to fire - if a player'sPlayerReadyEventnever fired during initial join (observed in production when the login handshake timed out and anti-cheat registration took 36+ minutes),PlayerService.onPlayerJoinnever ran, so noPlayerFilewas created. Every subsequent/kitcall silently skipped cooldown and one-time-claim checks becauseplayerFileStorage.getPlayer(uuid)returned null, allowing unlimited kit claims with no persistence. After a server restart the player would also be treated as a first-join again. Fixed with three defensive layers:KitService.ensurePlayerFile()now creates and caches aPlayerFileon demand if one is missing;getRemainingCooldownandhasClaimedOnetimeare now fail-closed (return full cooldown / already claimed) when the player file is null; andHytaleKitCommand,KitSelectionPagecallensurePlayerFileat every kit entry point (command, GUI open, GUI claim).PlayerFileStorage.savePlayernow logs a warning instead of silently no-oping when called for an uncached UUID. Thanks to Dimotai for identifying and fixing this (PR #61)