Geyser
Geyser copied to clipboard
Persistent "fake" rain on Bedrock clients
Describe the bug
Occasionally, all Bedrock players' rain (weather) will never end until they all log out and back in. This appears to affect all Bedrock players simultaneously.
To Reproduce
- Login to Geyser-Fabric server from Bedrock client
- Wait for rain
- Confirm with Java players if it is actually raining
- If fake rain, logout and back in, notice rain has stopped
Expected behaviour
The rain is in sync with Java clients, and stops with everyone else.
Screenshots / Videos
https://user-images.githubusercontent.com/7577851/232031228-c1bae83d-dc49-47ed-8be7-1340f9e56144.mp4
Notice this player's Conduit effect is not reaching them through the rain - it is fake rain.
It's quite hard to capture "proof" of this bug without everyone's POVs.
Server Version and Plugins
No response
Geyser Dump
https://dump.geysermc.org/OACSRpUtY3yBqOwBnl3vg259Fpmyy0HT
Geyser Version
2.1.0-SNAPSHOT (git-master- 0f99abc )
Minecraft: Bedrock Edition Device/Version
1.19.73, Xbox Series S|X
Additional Context
/seed
→ Seed: [-7181305874542611689]
/time query gametime
→ The time is 27583805
A player with the fake rain tried going to the Nether and back. It was still raining for them, so changing world/dimension doesn't fix it. Seems like you HAVE TO re-login.
Please try removing all mods and see if this issue persists. For this we would likely need to see the packets to see what's going on. Does this occur when rain is started and stopped via the weather command?
I also have this issue, using command /weather sun doesn't change weather for bedrock clients, they need to relog.
The error also exists with Spigot/Paper Standalone Geyser
Okay, the rain just started for all the Bedrock players at the same time but not the Java players.
Using /weather clear
did not clear the rain for Bedrock players.
Only once I ran /weather rain
so Java was also raining, did /weather clear
actually clear the rain for Bedrock players.
Something I've noticed is that this tends to happen more often if you have a server with players-sleeping-percentage gamerule set to 0. Then, if its raining and a java player sleeps away the night and the rain, it will continue to rain for bedrock players almost every time.
@hw2007, I think you're onto something with that; our server's playersSleepingPercentage
gamerule is currently set to 0
too.
Its a known Minecraft bug: https://bugs.mojang.com/browse/MCPE-131325 (for 2 years now), solution would be to pro-actively send stop rain in fixed intervals (maybe the min rain interval, and when joining)
I'm wondering if stopWeatherCycle gamerule would help.
playersSleepingPercentage
is set to 100 for me, and I also experience this rain issue.
Can confirm. Pictures taken same time:
I just found a little workaround for this... I'll try to explain the best as I can! The problem is basically the natural vanilla weather cycle, so what I did was create my own weather cycle, as it responds perfectly to commands... First, I switched off the doWeatherCycle gamerule (that's enough for fixing, but it will completely get rid of weather changes for obvious reasons). But I didn't want to get rid of rain, so I created a schedule with a plugin named CommandTimer, even with doWeatherCycle disabled, you can still issue weather commands (though it may execute them eternally, if you issue rain it will rain forever). With the plugin installed and doWeatherCycle disabled, I created two instances (tasks), one called rain and other called clear (needed to reset the weather with doWeatherCycle false). On the rain task, I've put two commands (minecraft:weather rain and minecraft:weather thunder). I've set them to "RANDOM", so it'll randomly pick one of the two, and the interval I've put 2 hours, meaning every two hours it'll be executed. On the clear task, I've used (minecraft:weather clear) only, with a interval of 2 hours and 17 minutes (meaning the rain will last 17 minutes and then reset to clear). All comands are set to be executed by the CONSOLE! When finished doing that, just turn on both instances and voilà, you have a kind of programmed synced weather cycle without any weather bugs. It may not be the most natural solution, but it works!
I've actually noticed that this issue still persists, I wonder if this will be looked into eventually because it can be annoying at times.
Can confirm it is still a bug for our server. Pufferfish 1.20.4. Latest geyser velocity
I can confirm this issue still exists. Velocity, Purpur 1.21