Particle Rain

Particle Rain

219k Downloads

Clients without the mod can't join when opening to LAN

YoshiRulz opened this issue · 4 comments

commented

Title. Vanilla clients can join fine; only clients with Fabric API but without Particle Rain fail to connect, getting a "Received 7 registry entries that are unknown to this client." message instead.

relevant part of log
[10:32:04] [Render thread/ERROR]: Received unknown remote registry entries from server
[10:32:04] [Render thread/ERROR]: Registry entry (particlerain:rain_drop) is missing from local registry (minecraft:particle_type)
[10:32:04] [Render thread/ERROR]: Registry entry (particlerain:snow_flake) is missing from local registry (minecraft:particle_type)
[10:32:04] [Render thread/ERROR]: Registry entry (particlerain:desert_dust) is missing from local registry (minecraft:particle_type)
[10:32:04] [Render thread/ERROR]: Registry entry (particlerain:weather.snow) is missing from local registry (minecraft:sound_event)
[10:32:04] [Render thread/ERROR]: Registry entry (particlerain:weather.snow.above) is missing from local registry (minecraft:sound_event)
[10:32:04] [Render thread/ERROR]: Registry entry (particlerain:weather.sandstorm) is missing from local registry (minecraft:sound_event)
[10:32:04] [Render thread/ERROR]: Registry entry (particlerain:weather.sandstorm.above) is missing from local registry (minecraft:sound_event)
[10:32:04] [Render thread/ERROR]: Registry remapping failed!
java.util.concurrent.CompletionException: net.fabricmc.fabric.impl.registry.sync.RemapException: Received 7 registry entries that are unknown to this client.
This is usually caused by a mismatched mod set between the client and server. See the client logs for more details.
The following registry entry namespaces may be related:

particlerain

	at net.fabricmc.fabric.impl.registry.sync.RegistrySyncManager.lambda$receivePacket$0(RegistrySyncManager.java:146) ~[fabric-registry-sync-v0-4.0.18+78d798af4f-4d8236a4789003c6.jar:?]
	at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
	at net.minecraft.class_1255.method_18859(class_1255.java:156) ~[client-intermediary.jar:?]
	at net.minecraft.class_4093.method_18859(class_4093.java:23) ~[client-intermediary.jar:?]
	at net.minecraft.class_1255.method_16075(class_1255.java:130) ~[client-intermediary.jar:?]
	at net.minecraft.class_1255.method_5383(class_1255.java:115) ~[client-intermediary.jar:?]
	at net.minecraft.class_310.method_1523(class_310.java:1283) ~[client-intermediary.jar:?]
	at net.minecraft.class_310.method_1514(class_310.java:888) ~[client-intermediary.jar:?]
	at net.minecraft.client.main.Main.main(Main.java:265) ~[minecraft-1.20.4-client.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.7.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.7.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.7.jar:?]
	at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87) ~[NewLaunch.jar:?]
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:130) ~[NewLaunch.jar:?]
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:70) ~[NewLaunch.jar:?]
Caused by: net.fabricmc.fabric.impl.registry.sync.RemapException: Received 7 registry entries that are unknown to this client.
This is usually caused by a mismatched mod set between the client and server. See the client logs for more details.
The following registry entry namespaces may be related:

particlerain

	at net.fabricmc.fabric.impl.registry.sync.RegistrySyncManager.checkRemoteRemap(RegistrySyncManager.java:365) ~[fabric-registry-sync-v0-4.0.18+78d798af4f-4d8236a4789003c6.jar:?]
	at net.fabricmc.fabric.impl.registry.sync.RegistrySyncManager.apply(RegistrySyncManager.java:261) ~[fabric-registry-sync-v0-4.0.18+78d798af4f-4d8236a4789003c6.jar:?]
	at net.fabricmc.fabric.impl.registry.sync.RegistrySyncManager.lambda$receivePacket$0(RegistrySyncManager.java:143) ~[fabric-registry-sync-v0-4.0.18+78d798af4f-4d8236a4789003c6.jar:?]
	... 14 more
[10:32:04] [Render thread/WARN]: Client disconnected with reason: Received 7 registry entries that are unknown to this client.
This is usually caused by a mismatched mod set between the client and server. See the client logs for more details.
The following registry entry namespaces may be related:

particlerain

This was with version 2.0.8 of the mod.

commented

I tried preventing the registry sync but particles that get spawned on the server player's world seem to get sent to the other players for some reason, causing them to lose connection. I don't know if fabric api causes this or if vanilla does it too and just fails silently.

This is too niche of an edge case for me to consider spending more time on, sorry.

commented

Is this helpful? ViaVersion/ViaFabricPlus@8c34100

If not, I appreciate that you tried. I've been reporting similar problems with other mods, and some maintainers have been rather dismissive.

commented

The registry wasn't a problem when I bypassed it. The issue now is that the server world and client world seem to become the same thing on LANs, so its sending the spawn packet to the other clients and they can't decode it likely because they don't have those particles registered. I might have another look later but I'm hesitant to dedicate much time to quite specific edge cases. Quick edit because I just tested this theory and it is incorrect. I think what's actually happening is skipping my particles has corrupted the rest of the particle entries in the registry map.

commented

The spawn packet issue not making any sense was annoying me enough to want to track down the cause, and boy do I feel silly now. Particles spawned by command use the spawn packet and I had forgotten about the command block I had in my test world. It otherwise has been working fine this whole time. Thanks for linking to ViaFabricPlus. I figured out a similar approach instead of just disabling the sync.