4.8 KiB
Singleplayer Server Crash: fastutil ClassNotFoundException
Status: Open — likely outdated HytaleServer.jar (Feb 24-28 2026)
Symptom
Singleplayer server crashes immediately on boot:
Exception in thread "main" java.lang.NoClassDefFoundError: it/unimi/dsi/fastutil/objects/ObjectArrayList
at com.hypixel.hytale.plugin.early.EarlyPluginLoader.<clinit>(EarlyPluginLoader.java:34)
at com.hypixel.hytale.Main.main(Main.java:36)
Caused by: java.lang.ClassNotFoundException: it.unimi.dsi.fastutil.objects.ObjectArrayList
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
Server exits with code 1. Multiplayer works fine for the same user.
Affected Users
- ヅ𝚃 JAYED ! (Feb 24) — Windows x86_64, had AOT cache errors before fastutil crash
- Asentrix (Feb 27) — Windows x86_64 (NT 10.0.26200.0), RTX 4060, Launcher v2.4.4, NO AOT cache errors
- 7645754 (Feb 28) — Standalone server on localhost, FIXED by updating HytaleServer.jar
- Reproduces 100% on singleplayer, every attempt (users 1-2)
- Multiplayer works fine for users 1-2
- macOS/Linux users are NOT affected
Ruled Out (confirmed via debug builds)
| Suspect | Tested | Result |
|---|---|---|
| DualAuth Agent | Debug build with agent completely disabled (debug-no-agent tag) |
Same crash. Agent is innocent. |
-Xshare:off (CDS) |
Added to JAVA_TOOL_OPTIONS in launcher code (debug-xshare-off tag) |
Did not help. CDS is not the cause. |
-XX:+UseCompactObjectHeaders |
Stripped via wrapper | Did not help. Server has -XX:+IgnoreUnrecognizedVMOptions anyway. |
| Corrupted game files | User did repair + full reinstall | Same crash. |
| Java wrapper | Logs confirm wrapper works correctly | Not the cause. |
| ARM64/Parallels | User is on standard Windows x86_64 | Not applicable. |
| AOT cache | Asentrix has no AOT errors (JAYED did), both crash the same way | Not the root cause. |
Key Finding: Outdated HytaleServer.jar (Feb 28)
User 7645754 had the exact same error on their standalone localhost server but NOT on their VPS. Fixed by replacing HytaleServer.jar with the current version. The old JAR used to work but stopped — likely the bundled JRE was updated and is now incompatible with older JAR versions.
This strongly suggests the root cause for F2P launcher users is also a stale/mismatched HytaleServer.jar. The launcher may report the correct version but the actual file on disk could be from an older download.
What We Know
fastutilis bundled insideHytaleServer.jar(fat/shaded JAR)- JVM's
BuiltinClassLoadercannot findit.unimi.dsi.fastutil.objects.ObjectArrayListdespite it being in the JAR - Crash happens at
EarlyPluginLoaderstatic initializer (line 34) which importsObjectArrayList - Replacing
HytaleServer.jarwith a fresh copy fixes the issue (confirmed by user 3) - The issue is NOT caused by the DualAuth agent or any launcher modification
Fix for Users
F2P Launcher users (Asentrix, JAYED)
- Delete the entire game folder:
%LOCALAPPDATA%\HytaleF2P\release\package\game\ - Relaunch — launcher will re-download everything fresh
- NOT just "repair" — full delete to ensure no stale files remain
Standalone server users
- Download fresh
HytaleServer.jarfrom current game version - Replace the old JAR file
Update History
Feb 24: First report (JAYED)
User reported singleplayer crash. Initial investigation found AOT cache errors + fastutil ClassNotFoundException. Stripping -XX:+UseCompactObjectHeaders did not help.
Feb 27: Second report (Asentrix), extensive debugging
- Asentrix hit same crash, no AOT errors — ruled out AOT as root cause
- Built
debug-xshare-off: added-Xshare:offtoJAVA_TOOL_OPTIONS— did not help - Built
debug-no-agent: completely disabled DualAuth agent — same crash - Conclusion: Neither the agent nor CDS is the cause. The JVM itself cannot load classes from the fat JAR on these specific Windows systems.
- Note: wrapper
injectArgsappend AFTER-jar, so they cannot inject JVM flags — onlyJAVA_TOOL_OPTIONSworks for JVM flags
Feb 28: Third user (7645754) — FIXED by replacing HytaleServer.jar
- Standalone server user had same crash on localhost, VPS worked fine
- Fixed by updating
HytaleServer.jarto match VPS version - Root cause likely: outdated JAR incompatible with current/updated JRE
- For F2P launcher users: need to delete game folder and force fresh re-download
Related
- Java wrapper config:
backend/core/config.js(stripFlags / injectArgs) - DualAuth Agent: v1.1.12, package
ws.sanasol.dualauth - Game version at time of reports:
2026.02.19-1a311a592 - Debug tags:
debug-xshare-off,debug-no-agent - Log submission IDs:
c88e7b71(Asentrix initial),0445e4dc(xshare test),748dceeb(no-agent test)