Lithium (Fabric/NeoForge)

Lithium (Fabric/NeoForge)

36M Downloads

[Fabric][1.21.1] Server LithiumHashPalette ClassNotFoundException, Client Missing Palette Crash or Missing Palette Packet Error

seelchristian opened this issue ยท 6 comments

commented

Info

This doesnt seem to be the first time an issue with this or a similar problem exists, but i hope to provide enough helpful information.
Probably Related Issues:

Version

Client / Server (referenced as "minmods"):
Minecraft 1.21.1 - Fabric 0.16.7

lithium-fabric-0.14.0-snapshot+mc1.21.1-build.88 (referenced as lithium0.14)
lithium-fabric-mc1.21.1-0.13.1 (referenced as lithium0.13)
fabric-api-0.107.0+1.21.1
graves-3.4.4+1.21 (known as "Universal Graves")
polymer-bundled-0.9.17+1.21.1 (only tested in one server log) (marked as dependency by Universal Graves but starts without it too)

Client:
Minecraft 1.21.1 - Vanilla

Reproduction Steps

  1. Start server with lithium0.14, fabric-api amd Universal Graves
  2. Join Server
  3. Collect atleast one item to be able to spawn a grave with the grave mod
  4. Die and spawn a grave (e.g. with /kill)
  5. Respawn
  1. Possibility 1: respawn near grave, game crashes
  2. Possibility 2: respawn further away (far enough that only part of the grave is loaded?), disconnect with network protocl error
  3. Possibility 3: respawn out of range, no crash/disconnect (expected behaviour), walk towards grave location disconnects

Crash Report File

protocol_debug_client_manymods_on_server_lithium0.14_manymods.txt
protocol_debug_client_vanilla_on_server_lithium0.14_minimalmods+polymer1.txt
protocol_debug_client_vanilla_on_server_lithium0.14_minimalmods+polymer2.txt
working_log_server_lithium0.13_minimalmods.log
working_log_server_lithium0.14_minimalmods+config.log
crash_client_vanilla_on_server_lithium0.14_minimalmods.txt
crash_client_vanilla_on_server_lithium0.14_minimalmods+polymer.txt
crash_log_server_lithium0.14_minimalmods.log
crash_log_server_lithium0.14_minimalmods+polymer.log
disconnect_log_server_lithium0.14_minimalmods+polymer.log

Minecraft Save

not applicable

Additional Information

It seems setting the lithium config property mixin.chunk.palette=false prevents the issue from occurring.
All mods are downloaded as the most recent versions from modrinth.
Most scenarios were tested with new worlds and random seeds, therefore not specific to a world.

Description Lithium polymer Lithium Config setting? Crash / Disconnect? Log?
Vanilla Client @ minmods server 0.13 - - No working_log_server_lithium0.13_minimalmods.log
Vanilla Client @ minmods server 0.14 - - Crash crash_client_vanilla_on_server_lithium0.14_minimalmods.txt | crash_log_server_lithium0.14_minimalmods.log
Vanilla Client @ minmods server 0.14 x - Both crash_client_vanilla_on_server_lithium0.14_minimalmods+polymer.txt | crash_log_server_lithium0.14_minimalmods+polymer.log | disconnect_log_server_lithium0.14_minimalmods+polymer.log | protocol_debug_client_vanilla_on_server_lithium0.14_minimalmods+polymer1.txt | working_log_server_lithium0.13_minimalmods.log
Vanilla Client @ minmods server 0.14 - x No working_log_server_lithium0.14_minimalmods+config.log
Vanilla Client @ minmods server 0.14 x x No No
minmods Client @ singleplayer 0.13 - - No No
minmods Client @ singleplayer 0.14 - - No No
manymods Client @ manymods server 0.13 - - No No
manymods Client @ manymods server 0.14 - - Disconnect protocol_debug_client_manymods_on_server_lithium0.14_manymods.txt
commented

Polymer on 1.21.1 was updated to support lithium 0.14 (and 0.13, as before). Issue on polymer side was caused by packages being renamed

commented

There is also this #562 (comment) which doesn't have the LithiumHashPalette but the same crash, with vanilla's BiMapPalette

commented

Short update, updating "polymer-bundled-0.9.17+1.21.1.jar" to "polymer-bundled-0.9.18+1.21.1.jar" on the server fixes my crash / disconnect issues without any workarounds needed.

commented

I don't think all crashes had polymer, have to double check the crash reports

commented

Relevant commit:
Patbox/polymer@84c2050

commented

Not all of them had the seperate polymer mod, but it seems some parts are included with the graves mod
Snippet from above mentioned logs with polymer:

...
	- polymer-bundled 0.9.17+1.21.1
	   |-- polymer-autohost 0.9.17+1.21.1
	   |    \-- io_netty_netty-codec-http 4.1.82
	   |-- polymer-blocks 0.9.17+1.21.1
	   |-- polymer-common 0.9.17+1.21.1
	   |    \-- packet_tweaker 0.5.5+1.21
	   |-- polymer-core 0.9.17+1.21.1
	   |    |-- polymer-networking 0.9.17+1.21.1
	   |    |    \-- polymer-common 0.9.17+1.21.1
	   |    |         \-- packet_tweaker 0.5.5+1.21
	   |    \-- polymer-registry-sync-manipulator 0.9.17+1.21.1
	   |-- polymer-resource-pack 0.9.17+1.21.1
	   |    \-- polymer-common 0.9.17+1.21.1
	   |         \-- packet_tweaker 0.5.5+1.21
	   \-- polymer-virtual-entity 0.9.17+1.21.1
	        \-- polymer-common 0.9.17+1.21.1
	             \-- packet_tweaker 0.5.5+1.21
	- universal-graves 3.4.4+1.21
	   |-- common-protection-api 1.0.0
	   |-- fabric-permissions-api-v0 0.2-SNAPSHOT
	   |-- placeholder-api 2.4.1+1.21
	   |-- predicate-api 0.5.1+1.21
	   |-- server_translations_api 2.3.1+1.21-pre2
	   \-- sgui 1.6.0+1.21

Snippet from above mentioned logs without polymer:

...
	- universal-graves 3.4.4+1.21
	   |-- common-protection-api 1.0.0
	   |-- fabric-permissions-api-v0 0.2-SNAPSHOT
	   |-- placeholder-api 2.4.1+1.21
	   |-- polymer-core 0.9.14+1.21.1
	   |    |-- polymer-networking 0.9.14+1.21.1
	   |    |    \-- polymer-common 0.9.14+1.21.1
	   |    |         \-- packet_tweaker 0.5.5+1.21
	   |    \-- polymer-registry-sync-manipulator 0.9.14+1.21.1
	   |-- polymer-resource-pack 0.9.14+1.21.1
	   |    \-- polymer-common 0.9.14+1.21.1
	   |         \-- packet_tweaker 0.5.5+1.21
	   |-- polymer-virtual-entity 0.9.14+1.21.1
	   |    \-- polymer-common 0.9.14+1.21.1
	   |         \-- packet_tweaker 0.5.5+1.21
	   |-- predicate-api 0.5.1+1.21
	   |-- server_translations_api 2.3.1+1.21-pre2
	   \-- sgui 1.6.0+1.21